当前位置: 首页>>技术教程>>正文


如何在登录前启动 VNC 服务器?

, , , ,

问题描述

我想在我的桌面上运行 x11vnc(或另一个 VNC 服务器),但我无法找到在任何用户登录之前启动它的方法。回到我使用 vanilla Ubuntu 10.10 Vino 时默认情况下这样做。但是,我现在在 Xubuntu 中找不到这样做的方法。

最佳方案

我通常建议使用备用 VNC 服务器、x11vncserver 或 FreeNX。

FreeNX how to and download info

x11 VNC and docs

这假设 VNC 已设置且 run-able:

将下面的代码块复制到 /etc/init.d/vncserver 中。最简单的方法是将它复制到剪贴板,在终端中运行 sudo -i && cat > /etc/init.d/vncserver && exit,粘贴它,然后键入 CtrlD `。请务必将 USER 变量更改为您希望 VNC 服务器在其下运行的任何用户。

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          vncserver
# Required-Start:    networking
# Default-Start:     3 4 5
# Default-Stop:      0 6
### END INIT INFO

PATH="$PATH:/usr/X11R6/bin/"

# The Username:Group that will run VNC
export USER="mythtv"
#${RUNAS}

# The display that VNC will use
DISPLAY="1"

# Color depth (between 8 and 32)
DEPTH="16"

# The Desktop geometry to use.
#GEOMETRY="<WIDTH>x<HEIGHT>"
#GEOMETRY="800x600"
GEOMETRY="1024x768"
#GEOMETRY="1280x1024"

# The name that the VNC Desktop will have.
NAME="my-vnc-server"

OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

. /lib/lsb/init-functions

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;

stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;

restart)
$0 stop
$0 start
;;
esac

exit 0

使用 sudo chmod +x /etc/init.d/vncserver 使脚本可执行。

然后,运行 sudo update-rc.d vncserver defaults 。这会将适当的符号链接添加到 vncserver 脚本,以便在适当的时间向它发送启动和停止命令。

注意:如果作业在启动过程中运行得太早,您可能需要使用 sudo update-rc.d vncserver 99

要在不重新启动的情况下启动服务器,请运行 sudo /etc/init.d/vncserver start

最后,在端口 590X 上使用 VNC 客户端连接到您的服务器,其中 X 是 vncserver 脚本中 “DISPLAY” 的值

source

次佳方案

我的解决方案:

  1. 转到桌面共享并允许它共享并输入一个好的密码。\n(单击关闭以允许权限)

  2. 转到屏幕并将其设置为 30 秒后锁定。

  3. 转到用户并允许自动登录。

vino 服务器启动,您应该能够连接到它。如果需要保护它,可以使用 ssh 为 VNC 创建隧道(我使用 PUTTY,效果很好)。您还可以启用防火墙,只允许来自特定地址的流量。这个解决方案已经在 20 多个 Ubuntu 机器上为我工作。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13699.html,未经允许,请勿转载。