docker+x2go搭建远程桌面服务器
Tags: 技术 Last edited: February 2, 2023 1:58 PM
前言
如何准备一个 docker 容器来运行 GUI 应用程序。这些应用程序可用于远程使用,从而可以在服务器上安装应用程序并在您的工作站上运行它们。X2Go可以实现远程桌面访问。
过程
在docker 容器端
首先创建Linux容器并安装ssh
sudo docker run -itd --name $CONTAINER_NAME -p 2222:22 ubuntu /bin/bash
打开bash
docker exec -ti $CONTAINER /bin/bash
安装ssh
apt update
apt install sudo ssh
service ssh start
创建使用者
adduser $USERNAME
注意:ssh可能需要一些设置
修改ssh配置文件 vi /etc/ssh/sshd_config
RSAAuthentication yes #启用 RSA 认证 PubkeyAuthentication yes #启用公钥私钥配对认证方式 AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径(和上面生成的文件同) PermitRootLogin yes #root能使用ssh登录
service ssh restart
安装图形桌面,这里推荐xfce4
sudo apt-get install -y xfce4
安装X2Go
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:x2go/stable
sudo apt-get update
sudo apt-get install x2goserver x2goserver-xsession -y
在客户端,使用者需要安装X2Go
Linux用户 安装运行x2goclient即可
sudo apt install x2goclient
Windows用户需要去官网下载安装
常见问题:
进入桌面后没有命令行,安装一个,然后修改prefer application 为安装的terminal
sudo apt-get install xfce4-terminal
没有浏览器,同样需要安装
apt-get install firefox
或者**apt-get install chromium-browser**
打不开谷歌浏览器,谷歌内核在容器环境下需要加上以下参数启动(类似的vscode等也需要)
/usr/bin/chromium-browser --no-sandbox
中文乱码
apt-get install ttf-wqy-zenhei
保存为镜像
docker commit --author "Smith" --message "firefox" b6aebf3ef061 ubuntu:rust
由镜像打开
docker run -itd --name ubuntu-rust -p 3333:22 ubuntu:rust /usr/sbin/sshd -D