群晖docker容器内配置ubuntu远程桌面访问
当希望在群晖docker内的ubuntu开启远程桌面访问时,和一般云服务器桌面安装方式还是有所区别。这里ubuntu的版本为14.04 LTS,由于nas性能较弱,可以选择较轻量级的xubuntu或lubuntu桌面环境进行安装。
- 安装vnc4server远程桌面控制服务
sudo apt-get install vnc4server
- 安装xubuntu桌面环境(xubuntu采用xfce桌面环境)
sudo apt-get install xubuntu-desktop
echo "xfce4-session" >~/.xsession # 创建.xsession文件并写入内容,我也不知道这步干啥用
- 安装xrdp远程桌面协议服务器
sudo apt-get install xrdp
安装过程中,出现了“E: Sub-process /usr/bin/dpkg returned an error code (1)错误”,可以参考https://www.cnblogs.com/jary-wang/archive/2013/05/28/3103829.html进行解决。
至此,所有预先需要安装的包都安装完毕了。之后,开启xrdp服务:
sudo service xrdp start
此时有可能会出现“Starting xrdp: It looks like xrdp is allready running, if not delete the xrdp.pid file and try again”的问题,我们需要做的是删除/var/run/xrdp/目录下xrdp.pid文件,即执行
rm /var/run/xrdp/xrdp.pid
后再次启动即可。
安装完毕后,还需要注意xrdp服务默认使用3389端口进行通信,因此在群晖docker的配置界面里需要添加对容器3389端口的映射。
配置完毕后,在本地主机点击开始—>运行—>输入mstsc确定—>输入群晖主机地址—>点击连接,会得到如下画面:
输入用户名和密码(与SSH用户名密码相同),点击ok,出现下图
出现这种问题,是需要对/etc/xrdp/sesman.ini文件进行配置,打开sesman.ini文件,在文件最后[Xvnc]项下方添加:
param8=-SecurityTypes
param9=None
之后,重启xrdp服务:
$sudo service xrdp restart
再次进行连接,成功。
整个配置过程还需要注意几个问题:
1.开启xrdp服务后,在ssh终端输入netstat -tunlp查看进程监听的端口号,有
与xrdp桌面服务相关的有3389,3350,5914等几个端口,其中只有3389端口需要在docker中进行映射,3350,5914为本地监听端口,是xrdp与vncserver间进行通信的端口,3350为sesman服务端口,5914为vncserver为每一次远程桌面会话分配的系统端口,无需进行映射。
2.在关闭远程桌面窗口,再次重新连接远程桌面时,连接到的不是上一次关闭的远程桌面对话,而是会生成一个新的桌面对话,这样不断的重新连接就会不断地产生新的桌面对话,严重占用系统资源。
为了解决这个问题,需要重新连接上一次会话所在vncserver端口即可。这里需要修改/etc/xrdp目录下的xrdp.ini文件,打开xrdp.ini文件,将[xrdp1]项下的port=-1修改为port=ask-1,保存,重启xrdp服务。这样再次mstsc连接远程桌面时,会出现port输出框
重新输入上一次使用的系统端口号即可连接到上次远程桌面对话。详细信息和步骤请参考https://www.ilanni.com/?p=9622。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)