菜鸟科技网

VNC重启命令有哪些?

总结概览

VNC 服务器软件 推荐重启命令 停止命令 启动命令
TigerVNC sudo systemctl restart vncserver@:1.service sudo systemctl stop vncserver@:1.service sudo systemctl start vncserver@:1.service
TightVNC / RealVNC sudo vncserver -kill :1
sudo vncserver :1
sudo vncserver -kill :1 sudo vncserver :1
使用 systemd (现代 Linux) sudo systemctl restart vncserver@:1.service sudo systemctl stop vncserver@:1.service sudo systemctl start vncserver@:1.service

详细说明

使用 systemd 管理的 VNC 服务器 (推荐,适用于现代 Linux 发行版)

大多数现代 Linux 系统(如 Ubuntu 16.04+, CentOS 7+, Debian 8+)使用 systemd 来管理服务,如果您的 VNC 服务器是作为系统服务安装的(通过 vncserver.servicevncserver@:1.service),那么使用 systemctl 命令是最标准、最可靠的方式。

VNC重启命令有哪些?-图1
(图片来源网络,侵删)

命令格式: sudo systemctl restart vncserver@:<display_number>.service

示例: 假设您的 VNC 服务器在 1 显示端口上运行(这是最常见的配置),重启命令为:

sudo systemctl restart vncserver@:1.service

其他常用相关命令:

  • 查看服务状态:
    sudo systemctl status vncserver@:1.service
  • 停止 VNC 服务:
    sudo systemctl stop vncserver@:1.service
  • 启动 VNC 服务:
    sudo systemctl start vncserver@:1.service
  • 设置开机自启:
    sudo systemctl enable vncserver@:1.service
  • 禁止开机自启:
    sudo systemctl disable vncserver@:1.service

如何确认您的 VNC 服务名称? 您可以运行以下命令来查看所有与 "vnc" 相关的服务:

VNC重启命令有哪些?-图2
(图片来源网络,侵删)
systemctl list-units --type=service | grep vnc

输出可能类似 vncserver@:1.service loaded active running...,这确认了服务的确切名称。


使用独立脚本的 VNC 服务器 (较旧的系统或手动配置)

在一些较旧的系统或手动配置中,VNC 服务器可能没有作为 systemd 服务运行,而是通过一个启动脚本(/etc/init.d/vncserver)来管理。

命令格式: sudo service <service_name> restart

示例: 如果您的服务名为 vncserver,那么重启命令为:

VNC重启命令有哪些?-图3
(图片来源网络,侵删)
sudo service vncserver restart

其他常用相关命令:

  • 查看服务状态:
    sudo service vncserver status
  • 停止 VNC 服务:
    sudo service vncserver stop
  • 启动 VNC 服务:
    sudo service vncserver start

手动杀死并重启进程 (通用方法)

如果您不确定服务是如何配置的,或者 systemctl / service 命令无效,可以采用手动方式,这种方法直接操作 VNC 服务器的进程。

步骤:

  1. 找到并杀死 VNC 进程。 VNC 进程通常以 Xvncvncserver 开头,找到您的 VNC 服务器正在使用的显示号(1, 2 等)。

    # 使用 ps 命令查找所有 VNC 相关进程
    ps aux | grep -i vnc

    您会看到类似下面的输出:

    # 显示用户名和进程ID
    user1   1234  ?        Sl   10:30   15:23 /usr/bin/Xvnc :1 -geometry 1024x768 -depth 24
    user1   5678  ?        Ss   10:31    0:01 /bin/sh /home/user1/.vnc/xstartup

    注意 Xvnc 进程的 ID(1234)和它使用的显示号(1)。

  2. 使用 vncserver 命令杀死进程。 这是更推荐的方式,因为它能正确地清理相关文件。

    # 格式: sudo vncserver -kill :<display_number>
    sudo vncserver -kill :1

    如果上面的命令提示权限问题,可以尝试用拥有该进程的用户来执行,或者使用 sudo。 如果不行,再使用 kill 命令:

    # 格式: sudo kill <process_id>
    sudo kill 1234
  3. 重新启动 VNC 服务器。 杀死进程后,重新启动它。

    # 格式: sudo vncserver :<display_number>
    sudo vncserver :1

    如果您是以特定用户(如 user1)身份配置的 VNC,通常需要切换到该用户或使用 sudo -u user1 来执行。


如何判断使用哪种方法?

  1. 首选 systemctl:如果您使用的是 Ubuntu、CentOS 7/8、Debian 8+ 等现代系统,VNC 是通过 aptyum/dnf 安装的,那么它极大概率是作为 systemd 服务存在的,请使用 方法 1
  2. 尝试 servicesystemctl 命令提示 "unit not found",可以尝试 service 命令,如果成功,说明您在使用 方法 2
  3. 最后选择手动方式:如果以上两者都无效,或者您是手动配置的 VNC,那么请使用 方法 3 作为最后的手段。

重要提示

  • 显示号:请务必将命令中的 1 替换为您自己 VNC 服务器实际使用的显示号,您可以通过 ps aux | grep vncnetstat -tuln | grep 590 来查看。
  • 权限:执行这些命令通常需要 sudo 权限。
  • 配置文件:重启后,VNC 连接出现问题,请检查 VNC 的配置文件(通常是 /etc/vnc.conf 或用户主目录下的 ~/.vnc/xstartup)是否正确。
分享:
扫描分享到社交APP
上一篇
下一篇