从xinetd开始的Xvnc4只显示空的灰色X屏幕

我试图设置一个Ubuntu 10.10的盒子,以便任何人都可以连接到端口5900和gdmloginpipe理器迎接。 为此,我在/ etc / services中添加了一个vnc条目,并且使用这个xinetdconfiguration文件启动Xvnc4:

service vnc { protocol = tcp socket_type = stream wait = no user = nobody server = /usr/bin/Xvnc server_args = -geometry 1000x700 -depth 24 -broadcast -inetd -once -securitytypes None } 

这种工作…我可以开始多个会话所有端口5900,我得到一个X屏幕。 问题是,我只得到一个空的,灰色的X屏幕没有启动应用程序。

我知道当你从命令行运行vncserver时,它会查看你的〜/ .vnc /目录中的passwd和xstartup文件,我想我要把“gnome-session”放到xstart文件中。 但是,哪个xstartup文件? 正在运行的用户是“nobody”,显然没有〜/ .vnc /目录。 我尝试了一个/root/.vnc/xstartup文件和一个〜scott / .vnc / xstartup文件,它看起来不像他们甚至被读取。

我改变了xinetd vnc服务,以便“strace”Xvnc4。 我查看了所有的“开放”行,并没有得知它正试图读取xstart的文件。

谁能帮忙? 我只想要一个terminal服务器,其中用户提供了一个gdmlogin屏幕。

您需要将其作为要启动VNC会话的用户来运行。 你也可能需要设置$HOME所以它可以find.vnc目录。 尝试一下:

 service vnc { protocol = tcp socket_type = stream wait = no user = someuser server = /usr/bin/env server_args = HOME=/home/someuser /usr/bin/Xvnc -geometry 1000x700 -depth 24 -broadcast -inetd -once -securitytypes None } 

你也可能想要其他的环境设置; 可能是xstartup source ~/.bash_profile ,你可能也需要明确设置$USER