原本服务器是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的端口,连入的结果如下图所示,我们输入密码即可
文章图片
文章图片
开始连入的时候可能存在着命令行打不开的情况,可以点击上方的 applications,点击settings,再点击settings manager。选择perferred applications
文章图片
选择 utilities,将file manger改为Thunar,并将Terminal Emulator改为xfce Terminal即可
文章图片
推荐阅读
- Linux|109 个实用 shell 脚本
- linux笔记|linux 常用命令汇总(面向面试)
- Linux|Linux--网络基础
- linux|apt update和apt upgrade命令 - 有什么区别()
- linux|2022年云原生趋势
- Go|Docker后端部署详解(Go+Nginx)
- 隧道搭建|DNS隧道技术
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)