由于远程桌面访问必须要打开端口3389,所以在启动docker中ubuntu系统的时候要首先将linux系统的3389端口映射出来
docker run -tid -p 3389:3389 --name ceshi --privileged=true ceshi /bin/bash
接下来进入到ubuntu中
docker exec -it ceshi /bin/bash
首先安装XFCE桌面
sudo apt update
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
接下来,我们安装xrdp以保证可以实现远程连接
sudo apt install xrdp
默认情况下,Xrdp 使用/etc/ssl/private/ssl-cert-snakeoil.key
文件对于『ssl-cert』用户组成员可读。执行下面的命令将xrdp
用户添加到这个用户组:
sudo adduser xrdp ssl-cert
配置xrdp并启动xrdp
# 根据自己的情况进行xrdp配置
sudo vim /etc/xrdp/xrdp.ini
exec startxfce4
sudo service xrdp start
由于开启3389端口是十分危险的,所以需要开防火墙防护(由于我是开在docker中的,所以这部操作没有做),但如果是开在外面的服务器上,一定要做这一步
想要允许 对于 Xrdp 服务器的来自于某个 IP 地址或者某个 IP 范围的访问,在这个例子中192.168.1.0/24
,运行下面的命令:
sudo ufw allow from 192.168.1.0/24 to any port 3389
这时我们就已经完成了服务器上的配置,下面我们打开本机远程连接连接即可。
连入的结果如下图所示,我们输入密码即可
开始连入的时候可能存在着命令行打不开的情况,可以点击上方的 applications,点击settings,再点击settings manager。选择perferred applications
选择 utilities,将file manger改为Thunar,并将Terminal Emulator改为xfce Terminal即可
后记:
因我自己环境需要,记录一些配置中可能需要用到的命令
# 新建用户
sudo adduser ${username}
# 删除用户(-r 删除用户的同时删除/home/${user_name}目录)
sudo userdel -r ${username}
# 添加用户到sudo组
usermod -aG sudo ${username}