centos

CentOS VNC如何设置开机自启

小樊
104
2025-03-29 14:08:16
栏目: 智能运维

在CentOS系统中,要设置VNC服务开机自启,可以按照以下步骤操作:

方法一:使用systemd服务

  1. 创建VNC服务文件

    打开终端,使用文本编辑器(如nanovim)创建一个新的systemd服务文件:

    sudo nano /etc/systemd/system/vncserver@.service
    

    在文件中添加以下内容(根据你的实际需求调整):

    [Unit]
    Description=Start TightVNC server at startup
    After=syslog.target network.target
    
    [Service]
    Type=forking
    User=<your_username>
    Group=<your_group>
    WorkingDirectory=/home/<your_username>
    
    PIDFile=/home/<your_username>/.vnc/%H:%i.pid
    ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
    ExecStart=/usr/bin/vncserver :%i -geometry 1280x800 -depth 24
    ExecStop=/usr/bin/vncserver -kill :%i
    
    [Install]
    WantedBy=multi-user.target
    

    请将<your_username><your_group>替换为你的实际用户名和组名。

  2. 重新加载systemd配置

    保存并关闭文件后,运行以下命令以重新加载systemd配置:

    sudo systemctl daemon-reload
    
  3. 启用VNC服务

    使用以下命令启用VNC服务,使其在开机时自动启动:

    sudo systemctl enable vncserver@:1.service
    

    这里的:1是VNC服务器的显示编号,你可以根据需要更改。

  4. 启动VNC服务

    如果你想立即启动VNC服务,可以运行:

    sudo systemctl start vncserver@:1.service
    

方法二:使用init.d脚本(适用于旧版本CentOS)

如果你使用的是较旧的CentOS版本,可能需要使用init.d脚本来设置开机自启。

  1. 创建init.d脚本

    创建一个新的init.d脚本文件:

    sudo nano /etc/init.d/vncserver
    

    在文件中添加以下内容:

    #!/bin/bash
    #
    # vncserver    Startup script for the VNC server
    #
    # chkconfig: - 90 10
    # description: VNC server startup script.
    # processname: vncserver
    # config: /etc/sysconfig/vncservers
    # pidfile: /var/run/vncserver.pid
    
    # Source function library.
    . /etc/init.d/functions
    
    # Get config.
    . /etc/sysconfig/vncservers
    
    start() {
        echo -n $"Starting vncserver: "
        daemon --user $VNCUSER VNCSTART=/usr/bin/vncserver VNCPORT=$VNCPORT VNCCONFIGDIR=/etc/vnc.d $VNCSTART $VNCPORT
        retval=$?
        echo
        [ $retval -eq 0 ] && touch /var/lock/subsys/vncserver
        return $retval
    }
    
    stop() {
        echo -n $"Stopping vncserver: "
        killproc -p /var/run/vncserver.pid vncserver
        retval=$?
        echo
        [ $retval -eq 0 ] && rm -f /var/lock/subsys/vncserver
        return $retval
    }
    
    restart() {
        stop
        start
    }
    
    rh_status() {
        status vncserver
    }
    
    rh_status_q() {
        rh_status >/dev/null 2>&1
    }
    
    case "$1" in
        start)
            rh_status_q && exit 0
            $1
            ;;
        stop)
            rh_status_q || exit 0
            $1
            ;;
        restart)
            $1
            ;;
        status)
            rh_status
            ;;
        *)
            echo $"Usage: $0 {start|stop|status|restart}"
            exit 2
            ;;
    esac
    exit $?
    

    保存并关闭文件。

  2. 设置脚本权限

    赋予脚本执行权限:

    sudo chmod +x /etc/init.d/vncserver
    
  3. 启用服务

    使用以下命令启用VNC服务:

    sudo chkconfig --add vncserver
    sudo chkconfig vncserver on
    
  4. 启动服务

    如果你想立即启动VNC服务,可以运行:

    sudo service vncserver start
    

通过以上两种方法之一,你应该能够在CentOS系统上成功设置VNC服务开机自启。

0
看了该问题的人还看了