xinetd 上的 VNC 无法启动 vncserver

xinetd 上的 VNC 无法启动 vncserver

在 Debian Lenny 中,使用 TightVNC 1.3.9,我可以使用以下方法手动设置 VNC 服务器

vncserver -query localhost -once -geometry 1024x768 -depth 16 :1

但是,正如我所读到的,这是一个更好的选择,我使用了具有以下配置的 xinetd:

 service vnc-1024x768x16
  {
    protocol = tcp
    socket_type = stream
    wait = no
    user = nobody
    server = /usr/bin/vncserver
    server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16
  }

我已打开端口 5901 以连接到服务器。使用第一种方法(仅使用 vncserver),我成功连接到我的服务器。

但是使用 xinetd 方式我就是无法连接。

从外部看,我可以看到端口 5901 已打开,甚至 VNC 服务也可用。查看为 :1 显示生成的 VNC 日志,我没有发现任何东西。

事实上,我认为问题出在 xinetd 上,但我已经用它设置了其他服务(例如 telnet 和 ftp),而且我可以正确使用它们。

所以现在我对此感到困惑,我还有什么没有考虑通过 xinetd 提供 VNC 服务呢?我在哪里可以找到日志或有用的信息来获取有关此问题的线索?

有任何想法吗?

谢谢阅读...


更新(2010 年 11 月 29 日):

-设法获得 X 显示器,但没有登录屏幕或终端来通过更改来运行任何命令,

user = my_user_name
server = /usr/bin/Xvnc
server_args = -inetd -once -geometry 1024x768 -depth 16 -rfbauth=/home/my_user_name/.vnc/passwd

这个 Xvnc 服务器是另一个 VNC 程序(不是我更喜欢的 Xtightvnc...)用户名已更改,因此我可以使用存储在 passwd 文件中的身份验证文件

如果我手动运行 Xvnc,并附加参数 -query localhost(没有 -inetd),我就会得到一个登录屏幕!但是使用 Xvnc 非常滞后……使用 Xtightvnc 我获得了更快的连接……

不管怎样,在 xinted.d 配置文件中设置 -query localhost 参数,我还是什么也得不到,没有 X 显示屏,没有登录屏幕也没有终端......

据我所知,-query localhost 允许我使用 XDCMP 作为登录屏幕或终端,但它不适用于 xinetd.d

还有一个附带问题:现在我明白了

XDMCP fatal error: Session declined Maximum number of open sessions from your host reached

所以我现在无法做更多测试... 谷歌了一下后我了解到这是关于允许的最大 XDMCP 会话数。但我只找到了如何增加这个数字的方法,现在我只需要知道如何终止当前的 XDMCP 会话,有什么想法吗?

再次感谢!

答案1

好吧,我认为我已经找到了一个折衷的解决方案:

使用以下配置我可以获得登录屏幕:

service vnc-1024x768x16
{
  protocol = tcp
  socket_type = stream
  wait = no
  user = user_name
  server = /usr/bin/Xvnc
  server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16 -rfbport=5901 -rfbauth=/home/user_name/.vnc/passwd
  disable = no
}

看着这个教程,我观察到解决方案是相似的。我甚至注意到他们没有使用我想要的 vncserver(因为我使用 vncserver 手动运行 VNC 服务器,没有 xinetd)。

查看 vncserver 的手册页,他们说这个程序实际上是 Xvnc 的包装器。但是,当我单独运行 vncserver 时,它调用的是名为 Xtightvnc 的程序,而不是 Xvnc。

将上述配置中的“服务器”行更改为调用 Xtightvnc 而不是 Xvnc 会导致无法连接,因此我仍然必须继续使用 Xvnc。

我注意到使用 Xtightvnc 和 Xvnc 之间的另一个很大的区别是,后者的连接速度相当慢,所以我仍然更喜欢 Xtightvnc……

现在,我可以更好地处理这个问题,但也欢迎任何进一步的想法......

顺便说一句,我发现 Xvnc 实际上是我的计算机上的 RealVNC,而不是我想要的 TightVNC,我想我必须更多地了解如何很好地重定向事物,以及如何按照我的意愿使用 Xtightvnc...

谢谢阅读...

就像版权页一样……我终于让 Xtightvnc 工作了。问题是什么?xinetd server_args 配置行不接受 '=' 字符来为参数赋值!:D 所以最终结果是:

service vnc-1024x768x16
{
  protocol = tcp
  socket_type = stream
  wait = no
  user = user_name
  server = /usr/bin/Xvnc
  server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16 -rfbport 5901 -rfbauth /home/user_name/.vnc/passwd
  disable = no
}

我还必须更改 Xvnc 软链接,该链接指向 Xvnc4(realvnc),因此它最终指向 Xtightvnc...

相关内容