本文介绍使用 turbovnc
工具,在远程 Linux
中运行一个 GUI
程序并在本地电脑进行显示。
安装
ubuntu
安装包下载地址:https://sourceforge.net/projects/turbovnc/files/
apt install libturbojpeg libxt6 libxext6 libsm6 libx11-6 libice6 libbsd0 libxcb1 libx11-data libxau6 libxdmcp6 x11-common x11-xkb-utils xauth -y
wget https://nchc.dl.sourceforge.net/project/turbovnc/2.2.6/turbovnc_2.2.6_amd64.deb
dpkg -i turbovnc_2.2.6_amd64.deb
CentOS
- /etc/yum.repos.d/turbovnc.repo
[TurboVNC]
name=TurboVNC official RPMs
baseurl=https://sourceforge.net/projects/turbovnc/files
gpgcheck=0
enabled=1
yum -y install turbovnc
启动服务端
$ export DISPLAY=:1
$ /opt/TurboVNC/bin/vncserver -3dwm -noxstartup $DISPLAY
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
xauth: file /root/.Xauthority does not exist
Desktop 'TurboVNC: vm:1 (root)' started on display vm:1
Log file is /root/.vnc/vm:1.log
默认端口为: 5901 = 5900 + display(:1)
$ export DISPLAY=:1
$ firefox
# kill 进程
/opt/TurboVNC/bin/vncserver -kill :n
客户端
端口代理
在本地机器启用代理,若有公网地址,此步骤可忽略。
ssh -CNg -L 5901:127.0.0.1:5901 root@<ip> -p 22
安装客户端
从 https://sourceforge.net/projects/turbovnc/files
下载 Windos、Mac、Linux 客户端,以 Mac 为例:
wget https://nchc.dl.sourceforge.net/project/turbovnc/2.2.6/TurboVNC-2.2.6.dmg
安装后启动 turboVNC
,右键图标 New connection
,填入 127.0.0.1:5901
访问到 VNC
,此时可以看到 firefox
的 web 页面。
Docker 容器
# 1. 启动容器
docker run -p 10022:22 -p 5801:5801 -p 5901:5901 -it ubuntu bash
# 2. 安装 turbovnc 略
# 3. 安装 firefox
apt install firefox
# 4. 启动 vnc
# 5. turbovnc 访问 localhost:5901 即可打开容器的 vnc
其他
若需要GPU硬件加速,可以考虑和 VirtualGL
配合使用。VirtualGL
的工作原理相当于创建一个虚拟的显卡,他获取应用软件的渲染指令,并转发给GPU渲染,然后再将GPU输出的图像输出给 X-server
。
faq
Error: no DISPLAY environment variable specified
执行
$ firefox
Error: no DISPLAY environment variable specified
设置 DISPLAY
环境变量为 VNC
的 id
。