VNC over xinetd不启动vncserver

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

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

但是,因为我已经阅读是一个更好的select,我使用xinetd与以下configuration:

  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日志我还没有find任何东西。

实际上,我在考虑用xinetd来解决问题,但是我还有其他的服务(例如telnet&ftp),我可以正确使用它们。

所以现在我迷失了,还有什么我不考虑通过xinetd的VNC服务? 我在哪里可以find日志或有用的信息来获得有关这个问题的线索?

有任何想法吗?

谢谢阅读…


更新(nov-29-'10):

– pipe理获得X显示,但没有login屏幕或terminal通过更改运行任何命令

 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,我更喜欢…)用户名更改,所以我可以使用我的身份validation文件,存储在密码文件

如果我手动运行Xvnc,使用额外的参数 – 查询本地主机(并没有-inetd之一),我得到一个login屏幕! 但与Xvnc是非常laggy …与Xtightvnc我得到一个更快的连接…

无论如何,在xinted.dconfiguration文件中设置-query localhost参数,我什么也没有得到,不是一个X显示屏幕,没有login屏幕和terminal…

据我所知,查询本地主机让我使用XDCMP的login屏幕或terminal,但它不与xinetd.d

还有一个附带的问题:现在我收到消息

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

所以现在我不能再做更多的testing了… Google稍微了解了一下,它是关于允许的最大XDMCP会话数。 但我只find了如何增加这个数字,现在我只需要知道如何杀死当前的XDMCPsessions,有什么想法?

再次感谢!

那么,我想我得到了一个妥协的解决scheme:

使用以下configuration我可以得到一个login屏幕:

 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 } 

看这个教程 ,我可以看到,解决scheme是类似的。 我甚至注意到,他们没有使用vncserver,因为我正在寻找(因为我使用vncserver手动运行VNC服务器,没有xinetd)。

看看vncserver的man page,他们说这个程序实际上是Xvnc的包装。 但是,当我单独运行vncserver时,会调用名为Xtightvnc的程序,而不是Xvnc。

改变上面的configuration中的'服务器'行来调用Xtightvnc而不是Xvnc给我没有连接,所以我仍然不得不继续与Xvnc。

我注意到使用Xtightvnc和Xvnc的另一个很大的区别是最后一个连接速度很慢,所以我还是比较喜欢Xtightvnc …

到目前为止,我可以处理这个更好一点,但也欢迎任何进一步的想法…

顺便说一下,我发现Xvnc实际上是我的机器上的RealVNC,而不是我想要的TightVNC,我猜我必须更多地关注如何redirect,以及如何使用Xtightvnc。

谢谢阅读…

就像一个底座…我终于得到了Xtightvnc工作。 问题? 在xinetd中,server_argsconfiguration行不接受用于为参数赋值的“=”字符! :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 …