我将 Ubuntu 19.10 HTPC 插入 HDMI 交换机,然后将其路由到我的显示器。大多数情况下,HDMI 交换机设置为我的 Nvidia ShieldTV 流媒体设备,电视处于关闭状态。
当我通过 VNC 连接到我的 HTPC 时,我经常无法执行任何事物在屏幕上。通过 VNC 的鼠标和键盘输入被完全忽略。查看系统日志,我发现了“监视器未定义”错误。
Oct 21 15:37:30 myhost gnome-shell[1119]: JS ERROR: Extension [email protected]: TypeError: monitor is undefined#012checkIfFocusedMonitor@/home/myuser/.local/share/gnome-shell/extensions/[email protected]/panelManager.js:266:9#012_adjustForOverview@/home/myuser/.local/share/gnome-shell/extensions/[email protected]/panel.js:429:32#012enable@/home/myuser/.local/share/gnome-shell/extensions/[email protected]/panel.js:112:9#012enable@/home/myuser/.local/share/gnome-shell/extensions/[email protected]/panelManager.js:72:9#012_enable@/home/myuser/.local/share/gnome-shell/extensions/[email protected]/extension.js:91:5#012enable@/home/myuser/.local/share/gnome-shell/extensions/[email protected]/extension.js:63:5#012_callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:132:13#012loadExtension@resource:///org/gnome/shell/ui/extensionSystem.js:264:21#012_loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:482:13#012collectFromDatadirs@resource:///org/gnome/shell/misc/fileUtils.js:27:17#012_loadExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:457:9#012_enableAllExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:491:13#012_sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:522:13#012init@resource:///org/gnome/shell/ui/extensionSystem.js:32:9#012_initializeUI@resource:///org/gnome/shell/ui/main.js:245:5#012start@resource:///org/gnome/shell/ui/main.js:141:5#012@<main>:1:31
果然,当我打开电视时,在执行 systemctl restart gdm(之前不起作用)后一切都立即开始工作。
通过我的研究,我发现了下面这个问题,它解决了无头运行 Ubuntu 的问题。
如何在没有连接显示器的 VNC 上使用 Ubuntu 18.04?
然而我不是无头运行,我连接了显示器,但它只是关闭了。有什么方法可以让它在 X/Gnome 级别上工作吗?
此外,我尝试在调整工具中完全禁用所有 Gnome 扩展,但问题仍然存在。所以这不是扩展问题。
答案1
我遇到了同样的问题:Ubuntu 18.04 带有 x11vnc。关闭显示器后,另一端的 VNC 客户端会冻结,再次打开后,它就可以正常工作了。
修复/解决方法:将 PC 和显示器之间的 HDMI 转 HDMI 线替换为 PC 和显示器之间的 DVI 转 DVI 线。现在,关闭和打开显示器不再影响 VNC 客户端。
不要问为什么,它现在就起作用了。