我想vncserver
在启动时运行我如何直接在启动文件中执行此操作或通过创建自定义命令(alias
如果可能)
答案1
首先,安装 TightVNC 服务器
sudo apt-get install tightvncserver
。为您希望以该身份登录的用户设置 VNC 服务器。首次运行“vncserver”时,它会要求您设置密码。仅允许 SSH 隧道或 VPN 连接。要在 VNC 会话启动时启动程序或会话,请修改
~/.vnc/xstartup
。以下是示例。#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid black /opt/azureus/azureus & k3b & icewm-session &
将以下内容复制到
/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
使用 使脚本可执行
sudo chmod +x /etc/init.d/vncserver
。- 最后,使用 VNC 客户端通过端口 590X 连接到您的服务器,其中 X 是 vncserver 脚本中“DISPLAY”的值。在 OS X 上,我喜欢使用 VNC 的 Chicken。在 Windows 和 Linux 上,TightVNC 客户端运行良好。