了解有关 Xvnc 进程的“vncserver -list”

hit*_*jim 10 vnc ps centos

我在 Centos 6.5 VM 上有一个非常标准的设置。我已经根据CentOS 的 wiki将 VNC 会话配置为在启动时启动

VNCSERVERS="1:root 2:moe 3:curly"
VNCSERVERARGS[1]="-geometry 640x480"
VNCSERVERARGS[2]="-geometry 640x480"
VNCSERVERARGS[3]="-geometry 800x600"
Run Code Online (Sandbox Code Playgroud)

就我而言,我配置了会话 1 到 12,其中 2 到 12 是本地用户,会话 1 属于 root。

正如预期的那样,我的所有会话都是在启动时创建的,我可以验证是否运行“ps -ef | grep Xvnc”

[moe@stooges ~]$ ps -ef|grep Xvnc
root     26037     1  0 Aug19 ?        00:00:14 /usr/bin/Xvnc :1 -desktop stooges.domain.com:1 (root) -auth /root/.Xauthority -geometry 1024x768 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5901 -fp catalogue:/etc/X11/fontpath.d -pn
moe 26126     1  0 Aug19 ?        00:00:00 /usr/bin/Xvnc :2 -desktop stooges.domain.com:2 (moe) -auth /export/home/moe/.Xauthority -geometry 1680x1050 -rfbwait 30000 -rfbauth /export/home/moe/.vnc/passwd -rfbport 5902 -fp catalogue:/etc/X11/fontpath.d -pn
(... and so on for all 12 sessions...)
Run Code Online (Sandbox Code Playgroud)

我能够连接到所有这些,并使用“vncserver -kill :PORT# 以 root 身份杀死它们”

当我将此结果与“vncserver -list”的输出进行比较时,我感到困惑

[moe@stooges ~]$ vncserver -list

TigerVNC server sessions:

X DISPLAY # PROCESS ID
:1      22091
:2      1929
:12     30719
Run Code Online (Sandbox Code Playgroud)

如果我以 root 或任何其他用户身份运行“vncserver”,该新会话最终会出现在“ps -ef|grep Xvnc”和“vncserver -list”的结果中

我缺少 vncserver 服务、启动时创建的 Xvnc 进程、通过用户执行“vncserver”创建的 Xvnc 会话的关系/行为是什么?

Eri*_*k B 5

这真的不是什么大秘密,vncserver -list为您的用户列出会话。

为所有用户枚举会话的方法实际上是做你正在做的事情: ps -ef | grep vnc