CentOS 7.9-minimal 中 Xvnc - v1.8.0-22 的安装配置

Xvnc,即是TigerVNC Server,是常用的一款远程桌面工具,同款软件还有 xrdp。

相比xRDP协议,连接速度对于常规操作来说,VNC(xRDP协议)解决方案在Linux服务器上使用时,可以获得更好的日常操作远程控制体验。

Xvnc-1.8.0-22 是 CentOS7 等 YUM 安装默认版本。一般使用离线 RPM 包或 YUM 源去安装即可,没必要研究如何编译。

(1)安装 Xfce 桌面:

因为minimal版本的CentOS没有桌面,所以我们需要安装一个简单的图形桌面管理应用:Xfce

yum install -y epel-release 
yum groupinstall -y Xfce 

(2)使用 YUM 安装 tigervnc-server:

输入如下命令使用 YUM 源进行安装:

yum install -y tigervnc-server 

(3)验证安装:

安装后使用如下命令验证是否成功:

rpm -qa | grep tigervnc-server 
tigervnc-server-minimal-1.8.0-22.el7.x86_64(这个可以保留,因为有其它包依赖于它)
tigervnc-server-1.8.0-22.el7.x86_64

(4)设置登录密码:

接下来运行 vncpasswd 命令设置 VNC 的登陆密码。

vncpasswd <<"EOF"
666666
666666
EOF

(5)手动启动 vnc 服务:

需要手动先执行一次 vncserver命令,生成相关配置文件:

vncserver 

New ‘Node03:1 (root)’ desktop is Node03:1

Creating default startup script /root/.vnc/xstartup
Creating default config /root/.vnc/config
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/Node03:1.log

这样会生成:
~/.vnc/config
~/.vnc/xstartup

(6)设置分辨率:

可以根据需要设置分辨率:

cat >> ~/.vnc/config <<"EOF"

geometry=1600x900
EOF

(7)设置支持 Xfce:

vnc 默认是支持 Gnome 和 KDE 的,对于 xfce 桌面需要如下配置:

cat > ~/.vnc/xstartup <<"EOF"
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

/usr/bin/startxfce4 

if [ -e /usr/bin/gnome-session -o -e /usr/bin/startkde ]; then
    vncserver -kill $DISPLAY
fi

EOF

(8)service 配置:

每一个用户都要设置一个对应的 service,我们现在是为 root 设置。
首先把 /usr/lib/systemd/system/vncserver@.service 复制为 /etc/systemd/system/vncserver@.service

 cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service 

将其中 换成自己的用户名(如:root)即可,其他的都不用动:

cat > /etc/systemd/system/vncserver@:1.service <<"EOF"
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=simple

# Clean any existing files in /tmp/.X11-unix environment

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver_wrapper root %i
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target
EOF

然后启动服务并将其设为开机启动即可:

systemctl daemon-reload 
systemctl enable --now vncserver@:1.service 

(9)防火墙配置:

如果系统启用了防火墙,需要配置相应规则,否则连接不上:

firewall-cmd --add-port=5901/tcp --permanent 
firewall-cmd --reload 
firewall-cmd --list-all 

可以为多个用户设置一个端口范围,如:

firewall-cmd --add-port=5901-5910/tcp --permanent 
firewall-cmd --reload 
firewall-cmd --list-all 

然后就可以通过电脑上的 vncviewer 远程桌面连接到该Linux服务器了。
在这里插入图片描述
在这里插入图片描述

Logo

更多推荐