如何在启动 ubuntu 服务器时运行命令行

如何在启动 ubuntu 服务器时运行命令行

我想vncserver在启动时运行我如何直接在启动文件中执行此操作或通过创建自定义命令(alias如果可能)

答案1

  1. 首先,安装 TightVNC 服务器 sudo apt-get install tightvncserver

  2. 为您希望以该身份登录的用户设置 VNC 服务器。首次运行“vncserver”时,它会要求您设置密码。仅允许 SSH 隧道或 VPN 连接。要在 VNC 会话启动时启动程序或会话,请修改~/.vnc/xstartup。以下是示例。

    #!/bin/sh
    
    xrdb $HOME/.Xresources
    xsetroot -solid black
    /opt/azureus/azureus &
    k3b &
    icewm-session &
    
  3. 将以下内容复制到/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
    
  4. 使用 使脚本可执行sudo chmod +x /etc/init.d/vncserver

  5. 最后,使用 VNC 客户端通过端口 590X 连接到您的服务器,其中 X 是 vncserver 脚本中“DISPLAY”的值。在 OS X 上,我喜欢使用 VNC 的 Chicken。在 Windows 和 Linux 上,TightVNC 客户端运行良好。

来源

相关内容