我在 CentOS 7 上安装了 TigerVNC。我已经启动了它(我想),但无法连接到它。
以下是让我认为它正在运行的原因:
$ vncserver -list
TigerVNC server sessions:
X DISPLAY # PROCESS ID
:1 29811
但netstat
没有在任何地方列出它:
$ netstat -tpln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 957/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1277/master
tcp6 0 0 :::22 :::* LISTEN 957/sshd
不确定它是否相关,但这是我的iptables
:
$ iptables nvL
Chain INPUT (policy ACCEPT 6112 packets, 538K bytes)
pkts bytes target prot opt in out source destination
6 304 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:5901
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 810 packets, 156K bytes)
pkts bytes target prot opt in out source destination
vncserver
(我尝试为 5901 添加一条规则,认为这可能与我没有在 中看到的原因有关netstat
,但在更改该规则并启动后vncserver
,据我所知,没有任何变化。)
答案1
vncserver -list
只查看 ~/.vnc/ 中的文件。您的 ~/.vnc/ 目录中应该有一个以 .pid 结尾的文件。确保该文件中的数字 PID (29811) 实际上是一个正在运行的进程。 Xvnc 进程很可能没有运行,而是以没有清理 .pid 文件的方式退出。您还可以通过运行来清理它vncserver -kill :1
。这将清除可能剩余的任何其他套接字文件。