我正在尝试在我的远程服务器上使用 VNC。我的本地计算机和远程计算机都运行 Ubuntu 18.04。任何安装命令都没有产生错误,但我就是无法显示任何图形。
以下是我遵循的步骤。通过 ssh 连接后,在我的远程机器上的终端中:
sudo apt install -y xvfb
sudo apt install -y x11vnc
sudo touch /var/log/x11vnc.log
sudo chmod a+rw /var/log/x11vnc.log
/usr/bin/x11vnc -ncache 10 -ncache_cr -viewpasswd remote_view_only_pass -passwd some_pass123 -display :0 -forever -shared -logappend /var/log/x11vnc.log -bg -noipv6
我认为所有这些都在工作,但是,我无法连接到此服务器并在本地计算机上查看图形输出。我正在使用的 VNC 客户端是vinagre
。我认为大多数其他客户端都是付费的或仅适用于 Windows/Mac(但我甚至需要第三方应用程序吗?)。
我打开 vinagre,单击“连接”,选择ssh
协议,在主机空间中输入我的 IP 地址,输入我的用户名,然后点击“连接”。在窗口中,它看起来像一个常规的终端会话,它提示我输入密码,我输入密码,这看起来和我通常 ssh 进入时一模一样没有图形。我还尝试在终端式的 vinagre 窗口中输入以下内容:
sudo apt install -y x11-apps
DISPLAY=:0 xeyes &
但没有弹出任何图形。
答案1
我所遵循的教程没有提到我必须在本地机器上建立隧道:
ssh -L 5900:127.0.0.1:5900 -N [email protected]
假设我的远程机器的 IP 是 1.2.3.4,用户名是root
。让它保持运行,然后在本地机器的另一个终端中输入
vncviewer localhost:5900
并使用上述命令中的两个密码之一,remote_view_only_pass
或者some_pass123
。