在工作中,我们使用 VNC 从基于 Windows 的客户端笔记本电脑在远程 Linux 服务器上运行图形会话(唉)。我的笔记本电脑的分辨率比我办公桌上的外接显示器低得多。因此,我希望能够不时调整 VNC 服务器的屏幕大小。不幸的是,在 Linux 服务器上运行的 VNC 服务器太老了,不支持 xrandr。
我的“巧妙计划”是运行一个脚本,终止正在运行的 VNC 服务器,然后使用其他分辨率启动一个新服务器。当然,我会丢失正在运行的应用程序,但这仍然比每次使用 putty 进行 SSH 操作少输入很多内容。当然,我不能只输入vncserver -kill ...; vncserver ...
xterm,因为我会终止包含 xterm 的会话!所以我的想法是使用类似的东西screen -RS vnc_ctl change_vnc.sh
来解决这个问题。
不幸的是,如果您这样做并重新使用 VNC 客户端登录,您只会看到一个空白的黑屏。诚然,它的分辨率是正确的,但这并没有太大的帮助!我推测这意味着 vncserver 脚本没有找到 ${HOME}/.vnc/xstartup,但我真的不明白为什么它不起作用。
因此,问题是(最后):
关于为什么 vncserver 无法正确找到我的 xstartup 以及如何修复该问题,您有什么想法吗?
或者,您将如何采用不同的方式解决这种情况?