最近需要远程Linux服务器的图形界面,目前比较通用的实现方案还是vnc。下面是实现vnc连接centos的极简方案。
实验环境:
代码语言:txt复制centos 7
因为是要远程Linux的图形界面,所以实验环境也是需要你的centos系统是图形界面的。如果你目前是最小化安装(字符界面),那么需要先安装好图形化的组包。
1. 安装图形化组包:
代码语言:txt复制# 安装图形化组包:
[root@www.lutixia.cn ~]# yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
# 安装好后,可以执行init 5切换到图形化界面:
[root@www.lutixia.cn ~]# init 5
# 上面的方式,只是临时切换到图形化界面。重启之后,默认还是字符界面,如果希望永久图形化(系统启动默认为图形化界面),可以使用下面的命令:
[root@www.lutixia.cn ~]# systemctl set-default graphical.target
设置好后,可以在虚拟机中登录系统,看到如下界面:
2. 安装vnc服务:
代码语言:txt复制[root@www.lutixia.cn ~]# yum install tigervnc-server -y
3. 创建vnc实例配置文件:
代码语言:txt复制[root@www.lutixia.cn ~]# cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
[root@node2 ~]# vim /etc/systemd/system/vncserver@:1.service
[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
4. 启动vnc服务:
代码语言:txt复制[root@www.lutixia.cn ~]# systemctl daemon-reload && systemctl start vncserver@:1.service
5. 设置vnc的连接密码:
代码语言:txt复制[root@www.lutixia.cn ~]# vncserver
You will require a password to access your desktops.
# 输入密码
Password:
# 再次输入:
Verify:
# 如果希望vnc客户端连接服务器之后,只能观看,不能操作,可以选择y,如果希望vnc客户端可以连接后直接操作服务器,可以设置为n:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
New 'www.lutixia.cn:1 (root)' desktop is www.lutixia.cn:1
# 检查端口:
[root@www.lutixia.cn ~]# netstat -ntlp | grep 59
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 1571/Xvnc
tcp6 0 0 :::5901 :::* LISTEN 1571/Xvnc
6. 下载vnc客户端:
vnc官网地址:https://www.realvnc.com/en/connect/download/vnc/
6.1 下载安装之后,就可以直接连接centos服务器了:
6.2 创建之后,双击连接:
7. 更换用户:
如果希望连接普通用户的界面,可以在创建一个普通用户,然后执行vncserver设置连接密码:
代码语言:txt复制[root@www.lutixia.cn ~]# useradd dev
[dev@www.lutixia.cn ~]$ vncserver
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
xauth: file /home/dev/.Xauthority does not exist
New 'www.lutixia.cn:2 (dev)' desktop is www.lutixia.cn:2
Creating default startup script /home/dev/.vnc/xstartup
Creating default config /home/dev/.vnc/config
Starting applications specified in /home/dev/.vnc/xstartup
Log file is /home/dev/.vnc/www.lutixia.cn:2.log
7.1 创建vnc配置文件:
如果想通过配置文件管理dev用户的vnc实例启动与关闭,可以创建一个新的vnc实例配置文件。
代码语言:txt复制[root@www.lutixia.cn ~]# cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
[root@www.lutixia.cn ~]# vim /etc/systemd/system/vncserver@:2.service
[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 dev %i
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
7.2 启停管理:
代码语言:txt复制# 启动:
systemctl start vncserver@:2.service
# 关闭:
systemctl stop vncserver@:2.service
centos的vnc安装部署及基本配置到此结束,欢迎点赞,关注。你的喜欢,就是我原创的动力。