0x00 基础介绍

0x01 安装桌面环境

Ubuntu 系列

0x02 Xrdp 安装使用

How to Install xrdp on Ubuntu ?

How to Install xrdp to CentOS?

How to use Xrdp ?

0x03 XRDP 基础配置

配置文件目录结构

配置防火墙

0x04 入坑&出坑

问题1.Sesmal connect ok , sending login info to session mananger, please wait... Login failed for display 0

问题2.Windows 连接 Xdrp(Ubuntu 20.04 server) 出现闪退,报错信息 xsession: line 1: xfce4-session: command not found

问题3.dconf-CRITICAL **: unable to create file '/run/user/1000/dconf/user': Permission denied. dconf will not work properly.

问题4.Windows 桌面连接后远程使用Terminal时 ,Tab键无法自动补全。

问题5.远程桌面进去之后没有菜单栏

问题6.运行一段时间后,出现xrdp_mm_process_login_response: login failed

问题7.出现 password failed, error - problem connecting

问题8.xrdp service fails to start,xrdp用systemctl start启动时发现失败,查看错误信息、日志也没啥明确提示

问题9.黑屏问题Xfce4会自动锁屏

问题10.同一账户多会话登录失败

0x00 基础介绍
Q: 什么是 Xrdp ? 它有何作用 ?

描述: Xrdp 是一个微软远程桌面协议(RDP)的开源实现,它允许你通过图形界面控制远程系统。通过 RDP 你可以登录远程机器,并且创建一个真实的桌面会话就像你登录本地机器一样。

Q: 其它的可视化界面远程访问方式有那些?

描述: 最常见的是通过xrdp和vnc这两种远程桌面协议来进行可视化远程操作。

xrdp和vnc之间区别介绍:

远程协议
xrdp
vnc
BIOS屏幕显示 不能
全彩支持
更改分辨率
多显示器 只有一个屏幕 多显示器支持
图像传输 图像传输 图像和图形传输
视频播放支持 不能 GPU加速支持
音频传输 不能 双向语音可以控制
鼠标控制 服务器端控制 服务器端控制
USB传输 不能 USB可以通过网络传输
多桌面支持 支持多人连接 只支持一个桌面
原生的Unit桌面 支持 支持
 

XRDP 和 VNC 适用场景:

XRDP

适用系统:windows、linux
网络流量:较小/正常使用100-200k左右
适用场景:由于在色彩、音频、usb及本地磁盘映射方面较好非常适用于虚拟桌面;

VNC

适用系统:windows、linux
网络流量:较小,常用100k左右
适用场景:主要用于linux的服务器的管理,由于无声音和usb传输,不满足于虚拟桌面的使用

Tips : 用Xrdp是因为比VNC好很多,磁盘共享这种附带功能不说,关键是RDP的算法,用起来要比VNC这RFB快VNC采用的RFB算法,下面放一下他们俩的主要区别:

RFB是在服务器端将窗口在显存中画好之后将图像传给客户端,客户端只充当一个图像解码显示的角色;

RDP则将画图的工作交给了客户端,服务器需要了解客户端显示能力的具体情况,以便作出相应调整。RFB主要传图像,RDP主要传指令。就一般应用而言,RFB数据量太大,RDP对客户端要求较高,因此RFB适用于瘦客户端,RDP适用于低速网络。

0x01 安装桌面环境
描述: CentOS(精简版) / Ubuntu 服务器通常使用命令行进行管理,并且默认没有安装桌面环境, 如果你正在运行 Ubuntu / CentOS 桌面版,忽略这一步。
目的: 配置一个远程桌面,允许你从你的本地机器通过一个简单易用的图形界面来管理你的 Ubuntu 20.04 服务器。

Ubuntu 系列
在 Ubuntu 源仓库有很多桌面环境供你选择;

(1) Gnome : 它是 Ubuntu 20.04 的默认桌面环境, 界面炫酷但是比较耗费资源,通常是在桌面版本中使用。

(2) xfce : 它是快速,稳定,并且轻量的桌面环境,使得它成为远程服务器的理想桌面。

PS : Xrdp 使用默认的 X Window 桌面环境(Gnome or XFCE)。

0x02 Xrdp 安装使用
How to Install xrdp on Ubuntu ?
Ubuntu 20.04 Gnome 桌面

# (1) 更新源
nano /etc/apt/sources.list
apt-get update && apt-get upgrade # (2) 安装Ubuntu Gnome桌面与XRDP
apt-get install -y ubuntu-desktop && apt-get install -y xrdp
# sudo apt install xubuntu-desktop # 安装 Xfce # (3) 查看xrdp服务
sudo systemctl status xrdp # (4) 默认情况下 Xrdp 使用/etc/ssl/private/ssl-cert-snakeoil.key,它仅仅对“ssl-cert” 用户组成语可读。
# 运行下面的命令将 xrdp 用户添加到这个用户组:(缺省未采用ssl)
# sudo adduser xrdp ssl-cert # (5) 重启 Xrdp 服务使得修改生效:
sudo systemctl restart xrdp

Tips: 安装完成后即可使用Windows远程桌面工具登录Ubuntu, 非常注意并不需要在家目录中创建.xsession的文件并输入xfce4-session等命令信息(坑);

Ubuntu 20.04 xfce4 桌面
描述: 安装与使用方式与上面相差不大。

apt-get update
apt install xfce4 xfce4-goodies tightvncserver xrdp
# - 以及在 vi /etc/X11/Xsession首行添加xfce4-session
echo xfce4-session >~/.xsession # - 支持断开连接后同用户恢复链接
vi /etc/xrdp/xrdp.ini
[Reconnect]
name=Reconnect
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=5910 [Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1 # 代表自动分配端口,为其他数字则指定(第一次连接时不可指定)
#xserverbpp=24
#delay_ms=2000 [Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20 # 编辑完保存,执行service xrdp restart 或systemctl restart xrdp重启xrdp

How to Install xrdp to CentOS?
在 CentOS/Redhat 系列操作系统上的安装方法

Step 1.扩展源以及采用yum方式安装xrdp;

yum install -y epel-release && yum install -y xrdp
systemctl enable xrdp && systemctl start xrdp
Step 2.查看启动状态

systemctl status xrdp
How to use Xrdp ?
描述:现在你已经设置好你的 Xrdp 服务器,是时候打开你的 Xrdp 客户端并且连接到服务器。

Step 1.如果你有一台 Windows 电脑,你可以使用默认的 RDP 客户端,执行mstsc命令调出远程桌面连接,并且在“Computer”区域输入远程服务器 IP地址,并且点击“Connect”。;

Step 2.在登录屏幕,输入你的用户名和密码,点击“OK”。

Step 3.一旦登录你将看到默认的 Gnome 或者 Xfce 桌面,它应该像下面这样,现在你可以从你的本地机器上使用你的键盘和鼠标和远程桌面进行交互了

0x03 XRDP 基础配置

配置文件目录结构

描述: Xrdp 配置文件定位在 /etc/xrdp 目录,对于基本的 Xrdp 链接你不需要对配置文件做任何改动,注意如果您修改配置文件后必须要重启Xrdp服务。

~$ ls /etc/xrdp/
cert.pem km-00000409.ini km-00000410.ini km-00000415.ini km-00000807.ini km-00000813.ini pulse startwm.sh
key.pem km-0000040a.ini km-00000411.ini km-00000416.ini km-00000809.ini km-00000816.ini reconnectwm.sh xrdp.ini
km-00000406.ini km-0000040b.ini km-00000412.ini km-00000419.ini km-0000080a.ini km-0000100c.ini rsakeys.ini xrdp_keyboard.ini
km-00000407.ini km-0000040c.ini km-00000414.ini km-0000041d.ini km-0000080c.ini km-00010409.ini sesman.ini
  • /etc/xrdp/xrdp.ini : 主配置文件,该文件被分成不同的段,允许你设置全局配置,例如安全,监听地址,创建不同的 xrdp 登录会话等。

# Xrdp 监听端口
; Examples:
; port=3389
; port=unix://./tmp/xrdp.socket
; port=tcp://.:3389 127.0.0.1:3389
; port=tcp://:3389 *:3389
; port=tcp://<any ipv4 format addr>:3389 192.168.1.1:3389
; port=tcp6://.:3389 ::1:3389
; port=tcp6://:3389 *:3389
; port=tcp6://{<any ipv6 format addr>}:3389 {FC00:0:0:0:0:0:0:1}:3389
; port=vsock://<cid>:<port>
port=3389 # 证书设置与SSL 协议
; X.509 certificate and private key
; openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
; note this needs the user xrdp to be a member of the ssl-cert group, do with e.g.
;$ sudo adduser xrdp ssl-cert
certificate=
key_file=
ssl_protocols=TLSv1.2, TLSv1.3 # 会话类型(如Xorg、X11rdp和Xvnc)会启动显示服务器。
# ;配置显示服务器的启动命令行参数(可连接到其他服务器之上)
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20 [Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
#xserverbpp=24
#delay_ms=2000 [vnc-any]
name=vnc-any
lib=libvnc.so
ip=ask
port=ask5900
username=ask
password=ask
#pamusername=asksame
#pampassword=asksame
#pamsessionmng=127.0.0.1
#delay_ms=2000 [neutrinordp-any]
name=neutrinordp-any
lib=libxrdpneutrinordp.so
ip=ask
port=ask39393
username=ask
password=ask
  • /etc/xrdp/startwm.sh : Xrdp 使用startwm.sh文件启动 X 会话, 如果你想使用另外一个 X Window 桌面,编辑这个文件。

#!/bin/sh
# xrdp X session start script (c) 2015, 2017 mirabilos
# published under The MirOS Licence if test -r /etc/profile; then
. /etc/profile
fi if test -r /etc/default/locale; then
. /etc/default/locale
test -z "${LANG+x}" || export LANG
test -z "${LANGUAGE+x}" || export LANGUAGE
test -z "${LC_ADDRESS+x}" || export LC_ADDRESS
test -z "${LC_ALL+x}" || export LC_ALL
test -z "${LC_COLLATE+x}" || export LC_COLLATE
test -z "${LC_CTYPE+x}" || export LC_CTYPE
test -z "${LC_IDENTIFICATION+x}" || export LC_IDENTIFICATION
test -z "${LC_MEASUREMENT+x}" || export LC_MEASUREMENT
test -z "${LC_MESSAGES+x}" || export LC_MESSAGES
test -z "${LC_MONETARY+x}" || export LC_MONETARY
test -z "${LC_NAME+x}" || export LC_NAME
test -z "${LC_NUMERIC+x}" || export LC_NUMERIC
test -z "${LC_PAPER+x}" || export LC_PAPER
test -z "${LC_TELEPHONE+x}" || export LC_TELEPHONE
test -z "${LC_TIME+x}" || export LC_TIME
test -z "${LOCPATH+x}" || export LOCPATH
fi if test -r /etc/profile; then
. /etc/profile
fi # 防止黑屏命令
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession

配置防火墙

描述: Xrdp 守护程序在所有的网络接口上监听端口3389。如果你在你的 Ubuntu 服务器上运行一个防火墙,你需要打开 Xrdp 端口。

# 如果你想允许从任何地方访问(由于安全原因,这种方式不鼓励),运行:
sudo ufw allow 3389 # 想要允许从某一个指定的 IP 地址或者 IP 范围访问 Xrdp 服务器,例如192.168.33.0/24,你需要运行下面的命令:
sudo ufw allow from 192.168.33.0/24 to any port 3389

TIPS: 如果想要增加安全你可以考虑 Xrdp 仅仅监听 localhost,并且创建一个 SSH 隧道,将本地机器的3389端口到远程服务器的同样端口之间的流量加密。

0x04 入坑&出坑

问题1.Sesmal connect ok , sending login info to session mananger, please wait... Login failed for display 0
错误信息: Windows 连接 CentOS XRDP 错误信息 login failed for display 0

错误原因: 输入的操作系统密码有误,注意此处输入密码不是cat /etc/xrdp/xrdp.ini中的username、password而是操作系统中的;

其他解决办法:

# 方式1.将 allowed_users=console 改为 anybody
sudo vi /etc/X11/Xwrapper.config
allowed_users=anybody

问题2.Windows 连接 Xdrp(Ubuntu 20.04 server) 出现闪退,报错信息 xsession: line 1: xfce4-session: command not found

错误信息:

~$ ls
-rw------- 1 106 Jan 5 05:56 .Xauthority
-rw-r--r-- 1 16K Jan 5 05:56 .xorgxrdp.11.log
-rw-r--r-- 1 17K Jan 5 05:53 .xorgxrdp.11.log.old
-rw-rw-r-- 1 12 Jan 5 05:55 .xsession
-rw------- 1 4.3K Jan 5 05:56 .xsession-errors ~$ cat .xsession-errors
# Xsession: X session started for weiyigeek at Tue 05 Jan 2021 05:53:45 AM UTC
# dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
# dbus-update-activation-environment: setting DISPLAY=:11.0
localuser:weiyigeek being added to access control list # 登录的用户
# dbus-update-activation-environment: setting GTK_MODULES=gail:atk-bridge
# dbus-update-activation-environment: setting QT_ACCESSIBILITY=1
# ...
/home/weiyigeek/.xsession: line 1: xfce4-session: command not found
# Xsession: X session started for weiyigeek at Tue 05 Jan 2021 05:56:14 AM UTC
# dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
# dbus-update-activation-environment: setting DISPLAY=:11.0
localuser:weiyigeek being added to access control list # 登录的用户
# dbus-update-activation-environment: setting GTK_MODULES=gail:atk-bridge
# .....
# dbus-update-activation-environment: setting XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop
/home/weiyigeek/.xsession: line 1: x11-session: command not found

错误原因: Ubuntu 20.04 Server 中默认采用 Gnome 桌面如果配置了没有安装的第三方桌面软件到.xsession将会出现改问题

# Unity 桌面(老版本)
echo unity> ~/.xsession # ubuntu-desktop 原始桌面
echo gnome-session > ~/.xsession # xubuntu-desktop xfce4桌面
echo xfce4-session > ~/.xsession

问题3.dconf-CRITICAL **: unable to create file '/run/user/1000/dconf/user': Permission denied. dconf will not work properly.

$ cat .xsession-errors
Xsession: X session started for at Sun May 21 22:03:26 CST 2017
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 109 (X_ChangeHosts)
Value in failed request: 0x5
Serial number of failed request: 6
Current serial number in output stream: 8
localuser:fred being added to access control list
(xfce4-session:41354): dconf-CRITICAL **: unable to create file '/run/user/1000/dconf/user': Permission denied. dconf will not work properly.

问题描述: 新装的 ubuntu 的 利用 xrdp 登录 xfce4 桌面 普通用户登陆不了,而root管理员却能登陆。
问题解决: 家目录中权限问题

/home/fred# chown -R fred:fred *.*

问题4.Windows 桌面连接后远程使用Terminal时 ,Tab键无法自动补全。

描述: 默认情况下是使用ctrl+i的, Tab键被占用作为其他的快捷键;
解决办法: 在windows manager(窗口管理器)中,keyboard 里将用到 Super + Tab 的快捷键 clear 掉即可。

问题5.远程桌面进去之后没有菜单栏

解决办法: 右键面板-> 面板首选项-> backup and restore -> apply configuration图标

问题6.运行一段时间后,出现xrdp_mm_process_login_response: login failed

问题原因:远程桌面没有正确关闭,虽然在windows 系统关闭远程桌面连接,但是在里linux上的进程还在运行,导致连接数量达到上限出现问题。
问题解决:通过设置sesman.ini文件内的MaxSessions参数解决

vi /etc/xrdp/sesman.ini
# 修改会话设置最大会话限制
MaxSessions=50 # 每次断开连接时linux都会关闭会话进程
KillDisconnected=1

问题7.出现 password failed, error - problem connecting

问题信息:如果你的log也有类似 X server for display 10 startup timeout和another Xserver is already active on display 10。

# 信息1
sudo vim /var/log/xrdp-sesman.log
# xrdp-sesman.log下错误为:
# [INFO ] starting Xvnc session...
# [ERROR] X server for display 10 startup timeout[INFO ] starting xrdp-sessvc - xpid=2924 - wmpid=2923
# [ERROR] X server for display 10 startup timeout
# [ERROR] another Xserver is already active on display 10
# [DEBUG] aborting connection...

问题原因: tightvnc 出现问题的版本跟X字体有冲突,导致连接Xserver出错。
解决办法:

apt-get purge tightvnc xrdp
apt-get install tightvncserver xrdp # 重启启动xrdp服务并通过命令 netstat -tnl 查看监听状态
3350 3389 5910 # 一般这三个端口处于Listen

如果日志里跟第一种情况不同,可以考虑如下方式解决sudo vim /etc/xrdp/sesman.ini添加如下两行:

# 解决办法
[Xvnc]
param8=-SecurityTypes
param9=None

Tips: 若上述问题还是无法解决可卸载xrdp服务进行重装,并如上进行同样的操作,修改sesman.ini文件。

卸载xrdp的命令为:

sudo apt-get purge xrdp
sudo apt-get purge tightvncserver

问题8.xrdp service fails to start,xrdp用systemctl start启动时发现失败,查看错误信息、日志也没啥明确提示

解决办法:

touch /var/log/xrdp.log
chown xrdp:adm /var/log/xrdp.log
chmod 640 /var/log/xrdp.log
systemctl start xrdp && systemctl status xrdp

问题9.黑屏问题Xfce4会自动锁屏

描述: 当你远程桌面断开连接一阵子在恢复,会发现黑屏,这时候不管teamviewer还是什么都连不了的。
解决办法: 所以需要关掉自动锁屏,在第一次远程连接上桌面后,左上角Applications-->Settings-->Power Manager, Security标签,"Automatically lock the session"-->"Never" 从不锁定,就OK了

问题10.同一账户多会话登录失败

描述:同一个账号,两次登录,上一次登录的远程连接会断开

解决办法:修改会话管理策略

/etc/xrdp/sesman.ini

;; Policy - session allocation policy
;
; Type: enum [ "Default" | "Separate" | Combination from {UBDI} ]
; "Default" Currently same as "UB"
; "Separate" All sessions are separate. Sessions can never be rejoined,
; and will need to be cleaned up manually, or automatically
; by setting other sesman options.
;
; Combination options:-
; U Sessions are separated per user
; B Sessions are separated by bits-per-pixel
; D Sessions are separated by initial display size
; I Sessions are separated by IP address
;
; The options U and B are always active, and cannot be de-selected.
#Policy=Default
Policy=Separate

Xrdp服务安装配置实现Linux远程桌面访问以及问题处理的更多相关文章

  1. CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面并安装火狐浏览器

    CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面并安装火狐浏览器 vnc客户端地址:https://files.cnblogs.com/files/MYSQLZOUQI/vnc- ...

  2. CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面

    CentOS 6.8 有默认的安装的 vnc 位于端口 5900 : 系统->首选项->远程桌面 勾选[共享]的选项,  取消勾选[安全]的选项, 然后防火墙添加 5900 端口 基本就可 ...

  3. windows / Linux 远程桌面访问全面总结 / 共享文件

    一般来说,ssh 是指无图形界面形式,是命令行的方式.  速度快. vnc 是的是图形界面形式.                            速度慢. ssh 方式登陆: 1.windows ...

  4. Linux 远程桌面 访问 WIndows

    1. Debain 系列 linux sudo aptitude install rdesktop 2. Connect rdesktop <hostname> -r sound:off ...

  5. Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)(转载)

            您多久访问一次Linux桌面? 您使用什么工具来访问远程桌面? Xrdp是一个开源工具,允许用户通过Windows RDP访问Linux远程桌面. 除了Windows RDP之外,xr ...

  6. Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)

    Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7) 您多久访问一次Linux桌面? 您使用什么工具来访问远程桌面? Xrdp是一个开源工具, ...

  7. Linux下的python3,virtualenv,Mysql、nginx、redis等常用服务安装配置

    Linux下的python3,virtualenv,Mysql.nginx.redis等常用服务安装配置   学了前面的Linux基础,想必童鞋们是不是更感兴趣了?接下来就学习常用服务部署吧! 安装环 ...

  8. Linux远程桌面(二)

    上一篇远程桌面采用的独立服务配置不适用于过多用户,这一篇采用超级Internet服务器搭建vnc服务可以解决多用户问题.  vnc之xinetd服务搭建配置 Linux远程桌面(一):vnc之独立服务 ...

  9. Linux和Windows系统的远程桌面访问知识(转载)

    为新手讲解Linux和Windows系统的远程桌面访问知识   很多新手都是使用Linux和Windows双系统的,它们之间的远程桌面访问是如何连接的,我们就为新手讲解Linux和Windows系统的 ...

  10. linux 远程桌面连接

    我们知道在windows下面我们可以用远程桌面连接来控制其它电脑, 但linux 远程桌面连接?不过在说怎样连接之前还是要先明确一个概念,为什么我标题没有用linux中的远程桌面连接呢, 这是因为Li ...

随机推荐

  1. 公司规定所有接口都用 post 请求,这正确么?

    目录 背景 get 与 post 的区别 所有接口都用 post 请求? 背景 最近在逛知乎的时候发现一个有趣的问题:公司规定所有接口都用 post 请求,这是为什么? 看到这个问题的时候其实我也挺有 ...

  2. Svelte框架结合SpreadJS实现表格协同文档

    SpreadJS是葡萄城结合 40 余年专业控件技术和在电子表格应用领域的经验而推出的纯前端表格控件.作为一个类Excel控件,SpreadJS如何实现当前比较流行的表格协同呢?本篇文章将简单介绍一下 ...

  3. 国内怎么玩 ChatGPT

    ChatGPT去年已经在互联网技术圈里已经火了一把,现在似乎已经出圈,各行各业都在讨论,可以预见,ChatGPT是继互联网后的又一大技术革命. 如何才能体验ChatGPT呢?很多人卡在账号注册这一步, ...

  4. Ansible 快速入门到放弃

    Ansible 快速入门到放弃 最是人间留不住,朱颜辞镜花辞树. 1-Ansible 简介 Ansible是一个配置管理和配置工具,它使用SSH 连接到服务器并运行配置好的任务,服务器上只需要开启ss ...

  5. Tesseract图片文字识别

    如何进行图文识别? 百度api收费的,自己训练模型集费时费力,有没有训练好的库,我们拿过来直接用的呢? 有,那就是tesseract. 安装 pipenv install pytesseract pi ...

  6. 题解 Trie 但是你要最小化它的节点数量

    名字瞎取的 Description 给定 \(n\) 个字符串 \(s\),可以对 \(s_i\) 的字符打乱,将这些字符串加入一个 trie 里面求节点数量最小值. \(n\le 16, \sum ...

  7. 好用的liunx可视化管理工具

    官网: https://www.terminal.icu/ 本地连接需要点击软件右上角切换线路到本地连接

  8. 2023.2.26【模板】扩展Lucas定理

    2023.2.26[模板]扩展Lucas定理 题目概述 求\(\binom {n}{m} mod\) \(p\) 的值,不保证\(p\)为质数 算法流程 (扩展和普通算法毫无关系) 由于\(p\)不是 ...

  9. ViT简述【Transformer】

    目录 结构概述 图像切patch Patch0 Position Embedding Multi-Head Attention 代码[Pytorch] Transformer在NLP任务中表现很好,但 ...

  10. sys.argv的用法

    一.Python sys 模块 "sys" 是 "system",是一个系统模块,该模块提供了一些接口,用户访问python解释器自身使用和维护的变量,同时模块 ...