我在 Debian Buster VM 上使用 TightVNC Server 版本 1.3.9,在 Windows 10 1709 上使用 TightVNC Viewer 版本 2.8.11。
如果我
vncserver -geometry 1920x1080
使用下面给出的内容运行 VNC 服务器xstartup
:
xrdb $HOME/.Xresource
autocutsel -fork
startxfce4 # xfce-session
- 使用以下设置进行连接:
- 打开
gedit
并开始写入一个足够长的文件以使滚动条出现。 - 开始滚动。
然后我就可以持续让 VNC 服务器崩溃。我确信 gedit 中没有神奇的错误导致这种情况,但我发现这是重现该问题最简单的方法。
日志输出如下:
~/.vnc/name:display.log
:
xfce4-appfinder: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.0.
wrapper-1.0: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.0.
Gdk-Message: 11:03:46.612: nm-applet: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.0.
wrapper-1.0: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.0.
Gdk-Message: 11:03:46.612: evolution-alarm-notify: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.0.
xfsettingsd: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.0.
xfwm4: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.0.
xfce4-panel: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.0.
Gdk-Message: 11:03:46.615: Thunar: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.
xfce4-session: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.
xfdesktop: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.0.
/var/log/syslog
:
Jan 31 11:03:46 hostname kernel: [156856.632633] Xtightvnc[67799]: segfault at 7ffc9df4e9b8 ip 000055e039b8e158 sp 00007ffc9df4e9c0 error 6 in Xtightvnc[55e039a42000+184000]
Jan 31 11:03:46 hostname kernel: [156856.632645] Code: 41 0f bf 74 24 08 48 83 e0 f0 45 0f b7 44 24 0e 41 b9 02 00 00 00 48 29 c4 49 8b 45 18 4c 89 5d 98 4c 8d 54 24 0f 49 83 e2 f0 <41> 52 4c 89 55 a0 57 4c 89 ef 45 31 ed ff 90 00 01 00 00 41 8b 7c
服务器留下了它的锁定文件,/tmp/.X1-lock
然后/tmp/.X11-unix/X1
必须手动删除它们。
这可能是什么原因造成的?我该如何解决这个问题?
答案1
看起来这是影响的同一个错误这个 Gnome 用户和这个 KDE 用户。
后者建议从源代码构建 TightVNC 1.3.10。由于 Debian 上关于如何构建的说明非常有限,因此要么不得不永远与 GCC 构建错误作斗争,要么就按照他们的建议去做:用 TigerVNC 替换 TightVNC;用户界面相同,并且可以将 TightVNC Viewer 与 TigerVNC 服务器一起使用;替换服务器相当于运行
sudo apt purge tightvncserver
sudo apt install vnc4server
有了它,vncserver
就可以像使用 TightVNC 一样使用。