我正在尝试设置一个 Ubuntu 10.10 机器,以便任何人都可以连接到端口 5900 并受到 gdm 登录管理器的欢迎。为此,我在 /etc/services 中添加了一个 vnc 条目,并使用以下 xinetd 配置文件启动 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/ 目录中查找您的密码和 xstartup 文件,我想我要做的是将“gnome-session”放入 xstart 文件中。但是,哪个 xstartup 文件呢?运行用户是“nobody”,他显然没有 ~/.vnc/ 目录。我尝试了 /root/.vnc/xstartup 文件和 ~scott/.vnc/xstartup 文件,但看起来它们甚至没有被读取。
我更改了 xinetd vnc 服务,以便它可以“跟踪”Xvnc4。我查看了所有“打开”的行,但不知道它试图为 xstart 读取什么文件。
有人能帮忙吗?我只想要一个向用户显示 gdm 登录屏幕的终端服务器。
答案1
您需要以要启动其 VNC 会话的用户身份运行它。您可能还需要进行设置$HOME
以便它可以找到.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
}
您可能还需要其他环境设置;可能source ~/.bash_profile
在xstartup
,并且您可能还需要$USER
明确设置。