linux|给docker中的ubuntu系统安装桌面程序

原本服务器是centos的,用的不是很习惯,也为了可以分割功能,于是在服务器上装了docker,docker里装了ubuntu系统,具体过程可以参见https://blog.csdn.net/hpf247/article/details/80078240中的内容。但是这样只能连到一个命令行,用的还是不习惯,于是找了一个给linux系统安装桌面程序方法使得我们可以远程访问docker中的桌面
【linux|给docker中的ubuntu系统安装桌面程序】由于远程桌面访问必须要打开端口3389,所以在启动docker中ubuntu系统的时候要首先将linux系统的3389端口映射出来

docker run -tid -p 10000:22 -p 10001:3389 --name lalashi --privileged=true ceshi /bin/bash

这里我们将docker中ubuntu系统的端口22映射到外面的10000端口上(为了上传一些文件),将docker中linux系统的端口3389映射到外面的10001端口上(为了可以远程访问)
接下来进入到ubuntu中
docker exec -it lalashi /bin/bash

首先我们安装XFCE桌面,注意我们要有sudo的权限安装
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

这时我们就已经完成了服务器上的配置,下面我们打开本机远程连接连接即可。
注意由于docker的3389端口是映射到了外面服务器的10001端口,所以我们要连接的是服务器的10001的端口,连入的结果如下图所示,我们输入密码即可
linux|给docker中的ubuntu系统安装桌面程序
文章图片

linux|给docker中的ubuntu系统安装桌面程序
文章图片

开始连入的时候可能存在着命令行打不开的情况,可以点击上方的 applications,点击settings,再点击settings manager。选择perferred applications
linux|给docker中的ubuntu系统安装桌面程序
文章图片

选择 utilities,将file manger改为Thunar,并将Terminal Emulator改为xfce Terminal即可
linux|给docker中的ubuntu系统安装桌面程序
文章图片

    推荐阅读