我正在运行 ubuntu 9.10 x64,并带有股票的tightvncserver (1.3.9)。
当我启动tightvncserver时,我可以连接windows的tightvnc客户端并用一个终端获得空桌面。然后,当我尝试启动 gnome-session 时,它会立即崩溃。
tightvncserver 日志的最后几行是:
01/09/10 10:53:18 Got connection from client 192.168.1.31
01/09/10 10:53:18 Using protocol version 3.8
01/09/10 10:53:18 Enabling TightVNC protocol extensions
01/09/10 10:53:20 Full-control authentication passed by 192.168.1.31
01/09/10 10:53:20 Pixel format for client 192.168.1.31:
01/09/10 10:53:20 32 bpp, depth 24, little endian
01/09/10 10:53:20 true colour: max r 255 g 255 b 255, shift r 16 g 8 b 0
01/09/10 10:53:20 no translation needed
01/09/10 10:53:20 Using tight encoding for client 192.168.1.31
01/09/10 10:53:20 rfbProcessClientNormalMessage: ignoring unknown encoding 8
01/09/10 10:53:20 Enabling X-style cursor updates for client 192.168.1.31
01/09/10 10:53:20 Enabling cursor position updates for client 192.168.1.31
01/09/10 10:53:20 Using image quality level 6 for client 192.168.1.31
01/09/10 10:53:20 Enabling LastRect protocol extension for client 192.168.1.31
01/09/10 10:53:20 rfbProcessClientNormalMessage: ignoring unknown encoding -223
xterm: fatal IO error 11 (Resource temporarily unavailable) or KillClient on X server ":3.0"
gnome-session 的输出(从 gnome-session | tee 输出获得)是:
GNOME_KEYRING_SOCKET=/tmp/keyring-mUVFSj/socket
SSH_AUTH_SOCK=/tmp/keyring-mUVFSj/socket.ssh
GNOME_KEYRING_PID=2783
** (<unknown>:2779): DEBUG: Client registered with session manager: /org/gnome/SessionManager/Client2
Checking for Xgl: not present.
xset q doesn't reveal the location of the log file. Using fallback /var/log/Xorg.0.log
Detected PCI ID for VGA:
Checking for texture_from_pixmap: not present.
Trying again with indirect rendering:
Checking for texture_from_pixmap: not present.
aborting and using fallback: /usr/bin/metacity
我检查了 /var/log/Xorg.0.log 但这不包含任何与 vnc 会话相关的内容。
我目前在其他 9.10 系统上成功使用了tightvncserver。出现问题的系统与我的其他工作系统在任何对我来说似乎很重要的方面都没有什么不同。
我想知道的是:
- 我应该做些什么来了解有关失败的更多信息
- 是什么导致了崩溃
- 我该如何解决?
要回答如何具体诊断您的问题,第一步是在系统上启用apport 崩溃报告,然后尝试重现崩溃。一旦你导致 TightVNC 再次崩溃,如果它是 apport 应该捕获的崩溃类型,则崩溃报告应该出现在 /var/crash 中。您应该能够将 ubuntu-bug 指向崩溃报告文件,让它向启动板提交错误报告。
也就是说,不久前我浏览了几个 vnc 服务器,希望以你描述的方式使用一个,作为一个单独的会话,而不是复制一个正在运行的桌面。我记得,tightvncserver 经常在我身上崩溃,并且基于package 的启动板错误,似乎其他一些人也看到了同样的事情。
我最终使用了vnc4server ,它在多个版本中对我来说效果很好。也就是说,在特立独行的情况下,我在使用 gnome 会话时被错误 655886咬伤,所以它并不完美。
启用桌面效果(例如compiz)时,我在使用tightvnc 时遇到了很多问题。尝试禁用 compiz 并查看是否可以解决您的问题。您可以通过 System --> Preferences --> Appearance 禁用它,然后选择 Visual Effects 选项卡(选择“None”)。
如果这对您没有帮助,您可能必须使用 strace 工具运行 gnome-session。这将显示 gnome-session 正在运行的每个系统调用,并希望指出哪个系统调用正在给您带来麻烦。