CentOS 7下 VNC 服务的配置和开启、常见问题

本文详细介绍了在CentOS 7系统中配置和管理VNC服务的步骤,包括X Window System、Xvnc和VNC server的概念,以及vncserver系统服务的配置、启动和常见问题解决方案。内容涵盖了X Server、X Client、X Window Manager和Display Manager的解释,以及启动X Server的两种方式。文章深入讨论了VNC服务的配置,如设置root和非root用户的VNC窗口,以及客户端访问密码。此外,还探讨了xvnc.socket与gdm.service的区别,一次性与持续性VNC会话的实现,以及如何启用xvnc.socket。最后,文中列举并解答了在配置和使用过程中可能遇到的各种问题,如启动失败、端口冲突等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. X server、Xvnc 和 VNC server

X Window System

Linux的图形接口,称为 X 或 X11。
包括 X Server、X Client。
在这里插入图片描述

X Server

管理键盘、鼠标、手写板、显示器、屏幕分辨率与颜色深度、显示适配器 (包含驱动程序) 与显示的字型等硬件。
https://linux.die.net/man/1/xserver

X Client

处理來自 X Server 的动作,将该动作处理成为绘图数据, 再将这些绘图数据传回给 X Server。

在这里插入图片描述

X Client 也称为 X Application (X 应用程序)。
每个 X Client 并不知道其他 X Client 的存在。

X Window Manager

特殊的 X Client ,负责管理所有的 X client 软件。

常见的窗口管理员:

  • GNOME (GNU Network Object Model Environment):http://www.gnome.org/
  • KDE (K Desktop Enviroment):http://kde.org/
  • twm (Tab Window Manager):http://xwinman.org/vtwm.php
  • XFCE (XForms Common Environment):http://www.xfce.org/
Display Manager

提供登入的环境, 加载使用者选择的 Window Manager 和语系等资料。

X Window启动方式
方式一:startx
找到X server和X client的参数或配置文件
启动 X server
载入 X client
文字界面用户登录
startx
xinit
X :displaynumber
xterm -display :displaynumber
方式二:(如果有启动 graphical.target) display manager 提供的登录界面

在这里插入图片描述

主机上的 X 可能有多个同时存在,因此,当启动 X Server / Client 時, 应注明该 X Server / Client 主要是提供或接受哪个显示接口(:0、:1、…)。

Xvnc

Xvnc is the X VNC (Virtual Network Computing) server. It is based on a standard X server, but it has a “virtual” screen rather than a physical one. X applications display themselves on it as if it were a normal X display, but they can only be accessed via a VNC viewer .

By convention we have arranged that the VNC server display number will be the same as the X server display number, which means you can use eg. snoopy:2 to refer to display 2 on machine “snoopy” in both the X world and the VNC world.

xvnc(1) - Linux man page

2. vncserver系统服务的配置和开启

怎样在 CentOS 7.0 上安装和配置 VNC 服务器

2.1 配置root的VNC窗口

[HEPS@localhost ~]$ sudo vi /etc/systemd/system/vncserver@.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=simple
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i -geometry 1280x1024"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target
[HEPS@localhost ~]$ sudo systemctl enable vncserver@:1.service
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:1.service to /usr/lib/systemd/system/vncserver@:1.service.
[HEPS@localhost ~]$ sudo systemctl start vncserver@:1.service

2.2 配置非root的其他用户的VNC窗口

[HEPS@localhost ~]$ sudo vi /etc/systemd/system/vncserver@:2.service
[Unit]
Description=Remote desktop service (VNC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值