预备工作
#开启防火墙端口
sudo ufw allow 3389
#安装ssh
sudo apt-get install openssh-server
一、windows直连Ubuntu16.04共享桌面
1、打开终端,安装xrdp,vncserver
sudo apt-get install xrdp vnc4server xbase-clients
2、安装desktop sharing(Ubuntu16.04默认已经安装),可以到应用商店下载。打开desktop sharing,设置如下
3、 安装安装dconf-editor,取消权限限制
sudo apt-get install dconf-editor
dconf-editor设置:org > gnome > desktop > remote-access,取消 “requlre-encryption”
4、 windows 远程登陆
cmd
mstsc
选择vnc-any
输入Ubuntu IP地址
端口 5900
桌面共享设定的密码
xrdp支持xfce4和mate桌面,不支持gnome和ubuntu桌面
准备工作:
在**/usr/share/applications**目录下打开“桌面共享”选项,桌面共享选项中首先要开启共享,关于是否允许其他用户控制,远程连接时是否需要本机确认,远程连接的密码等项目根据需要自己设定。如果需要从公网即外部网络访问此ubuntu计算机需要开启”自动配置UPnP路由器开放和转发端口项目”。一般建议如下图(可以按自己的要求设置):
很多情况下 xrdp 支持不了gnome,解决办法就是装个xface 界面。
××××××××××××××××××××××××××××
xrdp的配置文档在/etc/xrdp目录下的xrdp.ini和sesman.ini
xrdp.ini 关键部分在globals
[globals]
bitmap_cache=yes #位图缓存
bitmap_compression=yes #位图压缩
port=3389 #监听端口
crypt_level=low #加密程度(low为40位,high为128位,medium为双40位)
channel_code=1 #不知道是什么
max_bpp=24 XRDP最大连接数
[xrdp1]
name=sesman-Xvnc XRDP的连接模式
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
sesman.ini
[Globals]
ListenAddress=127.0.0.1 #监听ip地址(默认即可)
ListenPort=3350 #监听端口(默认即可)
EnableUserWindowManager=1 #1为开启,可让用户自定义自己的启动脚本
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh
[Security]
AllowRootLogin=1 #允许root登陆
MaxLoginRetry=4 #最大重试次数
TerminalServerUsers=tSUSErs #允许连接的用户组(如果不存在则默认全部用户允许连接)
TerminalServerAdmins=tsadmins #允许连接的超级用户(如果不存在则默认全部用户允许连接)
[Sessions]
MaxSessions=10 #最大会话数
KillDisconnected=0 #是否立即关闭断开的连接(如果为1,则断开连接后会自动注销)
IdleTimeLimit=0 #空闲会话时间限制(0为没有限制)
DisconnectedTimeLimit=0 #断开连接的存活时间(0为没有限制)
[Logging]
LogFile=./sesman.log #登陆日志文件
LogLevel=DEBUG #登陆日志记录等级(级别分别为,core,error,warn,info,debug)
EnableSyslog=0 #是否开启日志
SyslogLevel=DEBUG #系统日志记录等级
运行一段时间后,出现xrdp_mm_process_login_response: login failed
问题原因:远程桌面没有正确关闭,虽然在windows 系统关闭远程桌面连接,但是在里linux上的进程还在运行,导致连接数量达到上限,出现问题。
解决:通过设置sesman.in文件内的