在 Linux CentOS 上登录之前启动 vino-server(VNC)

在 Linux CentOS 上登录之前启动 vino-server(VNC)

我正在使用默认的 vino-server 包通过 VNC 访问我的 CentOS 6 工作站。

它可以正常工作,但只有在我本地登录工作站后才可以。我需要在登录之前启动 vino-server,就在我选择用户名和密码的 Gnome 登录屏幕上。

由于个人原因,我需要使用 Vino,而不是 vnc-server 或任何其他包

我已经尝试插入/usr/libexec/vino-server &但这/etc/gdm/Init/Default并没有解决问题。

答案1

创建将要启动的桌面文件葡萄酒

# cat > /usr/share/gdm/autostart/LoginWindow/vino-server.desktop << 'EOF'
[Desktop Entry]
Name=Remote Desktop
Comment=GNOME Remote Desktop Server
Exec=/usr/libexec/vino-server
Icon=preferences-desktop-remote-desktop
Terminal=false
Type=Application
EOF

改变一些葡萄酒的设置1孕期用户(葡萄酒在其下运行):

# su -s /bin/sh -l gdm -c               \
     'gconftool-2 --set --type=bool     \
                  /desktop/gnome/remote_access/enabled true'
# su -s /bin/sh -l gdm -c               \
     'gconftool-2 --set --type=bool     \
                  /desktop/gnome/remote_access/prompt_enabled false'

注意你所能做的就是登录。用户登录后,VNC 会话结束。会话结束时,您将能够重新连接到 GDM。

你还需要禁用 SELinux2或者最好编写所需的规则,以便用户孕期跑步vino 服务器


1我从一个回答到 Ask Ubuntu SE 中的“从命令行启用远程 VNC?”。

2修改/etc/selinux/config以便SELINUX=permissive或使用强制执行

答案2

根据 Cristian 的回答,这似乎适用于较新的 Gnome 版本:

# cat > /usr/share/gdm/greeter/autostart/vino-server.desktop << 'EOF'
[Desktop Entry]
Name=Remote Desktop
Comment=GNOME Remote Desktop Server
Exec=/usr/libexec/vino-server
Icon=preferences-desktop-remote-desktop
Terminal=false
Type=Application
EOF

注销任何会话并确保您位于 GDM 登录屏幕,然后通过 SSH 或 VT1,2,3,... 执行以下命令:

# su -s /bin/bash - gdm
$ export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$UID/bus" 
$ gsettings set org.gnome.mutter experimental-features "['screen-cast', 'remote-desktop']"
$ gsettings set org.gnome.Vino require-encryption false
$ gsettings set org.gnome.Vino prompt-enabled false

相关内容