tigervncserver除非使用sudo启动,否则会崩溃

8

我已经安装了以下软件包:

ii  tigervnc-common                          1.10.1+dfsg-1                        amd64        Virtual network computing; Common software needed >
ii  tigervnc-standalone-server               1.10.1+dfsg-1                        amd64        Standalone virtual network computing server
ii  tigervnc-viewer                          1.10.1+dfsg-1                        amd64        Virtual network computing client for X
ii  tigervnc-xorg-extension                  1.10.1+dfsg-1                        amd64        Virtual network computing X server extension

我已运行vncserver并配置了密码,没有添加其他配置。
(这是使用一个已经工作的VNC会话)无sudo命令:
root@kali:~# vncserver -localhost

New 'kali.'"'':2 (root)' desktop at :2 on machine kali.'"''

Starting applications specified in /etc/X11/Xvnc-session
Log file is /root/.vnc/kali.'"'':2.log

Use xtigervncviewer -SecurityTypes VncAuth -passwd /root/.vnc/passwd :2 to connect to the VNC server.


vncserver: Failed command '/etc/X11/Xvnc-session': 256!

=================== tail -15 /root/.vnc/kali.'"'':2.log ===================

Xvnc TigerVNC 1.10.0 - built Dec 30 2019 14:38:21
Copyright (C) 1999-2019 TigerVNC Team and many others (see README.rst)
See https://www.tigervnc.org for information on TigerVNC.
Underlying X server release 12006000, The X.Org Foundation


Sun Jan 12 18:52:25 2020
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on local interface(s), port 5902
 vncext:      created VNC server for screen 0
X connection to :2 broken (explicit kill or server shutdown).
 ComparingUpdateTracker: 0 pixels in / 0 pixels out
 ComparingUpdateTracker: (1:-nan ratio)
Killing Xtigervnc process ID 4108... which seems to be deadlocked. Using SIGKILL!

===========================================================================

Starting applications specified in /etc/X11/Xvnc-session has failed.
Maybe try something simple first, e.g.,
        tigervncserver -xstartup /usr/bin/xterm

在使用sudo时,如果这个命令可以正常运行:
root@kali:~# sudo vncserver -localhost

New 'kali.'"'':2 (root)' desktop at :2 on machine kali.'"''

Starting applications specified in /etc/X11/Xvnc-session
Log file is /root/.vnc/kali.'"'':2.log

Use xtigervncviewer -SecurityTypes VncAuth -passwd /root/.vnc/passwd :2 to connect to the VNC server.

我是两者的超级管理员,所以我想了解为什么sudo会有影响。

2个回答

9
创建可执行文件 ~/.vnc/xstartup,内容如下:
#!/bin/bash

PATH=/usr/bin:/usr/sbin
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 &

检查exec值,可以使用以下命令查看您的桌面会话:

ls /usr/share/xsessions/

在那里您会找到像以下这样的.desktop文件:

cinnamon2d.desktop  cinnamon.desktop  gnome.desktop  gnome-xorg.desktop  
kodi.desktop

打开您感兴趣的桌面环境的文件,查看Exec变量,对于我来说是cinnamon-session-cinnamon。 因此,我的~/.vnc/xstartup看起来像这样:

#!/bin/bash

PATH=/usr/bin:/usr/sbin
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec cinnamon-session-cinnamon &

在此之后,vncserver应该可以无需sudo权限启动,至少在我的情况下是这样的。我猜测缺少可执行文件会阻止vncserver启动,但是在sudo特权下,它可以使用sudoers用户才能访问的某些文件中的默认设置启动。


0
由于某种原因,删除&后它就起作用了。
#!/bin/bash

PATH=/usr/bin:/usr/sbin
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接