../

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