Rin*_*ail 16
我通常建议使用备用 VNC 服务器,x11vncserver 或 FreeNX。
这假设 VNC 已设置并可运行:
将下面的代码块复制到/etc/init.d/vncserver. 最简单的方法是将它复制到剪贴板,sudo -i && cat > /etc/init.d/vncserver && exit在终端中运行,粘贴它,然后输入Ctrl- D`。请务必将 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
Run Code Online (Sandbox Code Playgroud)
使脚本可执行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”的值
小智 6
我的解决方案:
vino 服务器启动,您应该能够连接到它。如果您需要保护它,您可以使用 ssh 为 VNC 创建隧道(我使用了 PUTTY 并且效果很好)。您还可以启用防火墙并只允许来自特定地址的流量。这个解决方案在 20 多个 Ubuntu 机器中对我有用。