多数情况下,我们会使用各种SSH来完成对Linux的操作。但若是想远程访问图形界面又该怎么做呢?在这里,将使用VNC完成远程访问服务器的图形界面。
准备工作:
1. Centos7的环境
2. VNC Viewer客户端 ,可以让用户远程访问服务器的桌面环境。
下载地址https://www.realvnc.com/en/connect/download/viewer/
VNC服务器的优点:
远程的图形管理方式让工作变得简单方便。
剪贴板可以在 CentOS 服务器主机和 VNC 客户端机器之间共享。
CentOS 服务器上也可以安装图形工具,让管理能力变得更强大。
只要安装了 VNC 客户端,通过任何操作系统都可以管理 CentOS 服务器了。
比 ssh 图形转发和 RDP 连接更可靠。
1. 安装x-window,如果已经有图形界面,则可以跳过此步骤。
# yum check-update
# yum groupinstall "X Window System"
#yum install gnome-classic-session gnome-terminalnautilus-open-terminal control-center liberation-mono-fonts
### 设置默认启动图形界面
# unlink /etc/systemd/system/default.target
# ln -sf /lib/systemd/system/graphical.target/etc/systemd/system/default.target
# reboot
2. 检查是否安装了VNC服务。
# ps –eaf | grep vnc
#rpm -qa | grep vnc
若没有安装,则使用如下命令进行安装。
yum install tigervnctigervnc-server –y
检查是否安装成功。
# rpm -qa | grep vnc
3. 配置VNC
需要在/etc/systemd/system/目录里创建一个配置文件。可以将 /lib/systemd/sytem/vncserver@.service 拷贝一份配置文件范例过来。
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
使用下面的命令编辑配置文件:
vim/etc/sysconfig/vncservers
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry800x600"
下面这段是上面所讲配置文件注解,做参考之用:
#这个是配置远程桌面登录的用户名,如果两个用户,则使用VNCSERVERS="1:user1
2:user2" ,,
依次类推,默认情况下,1:user1对应5901,2:user2对应5902(VNC的默认监听端口是
5900,监听端口规则为590+usernumber),如下
VNCSERVERS="usernumber:myusername"
#下面这项配置为登录桌面配置,其中的“1”为用户序号,800x600为分辨率,-
nolisten tcp为阻止tcp包,-localhost代表只监听本地,
VNCSERVERARGS[1]="-geometry800x600 -nolisten tcp -localhost"
如果想阻止http包,可以使用如下配置
VNCSERVERARGS[1]="-geometry800x600 -nolisten tcp -nohttpd -localhost"
修改vncserver@1.service的配置,将用户名进行替换
ExecStart=/sbin/runuser -l -c"/usr/bin/vncserver %i"
PIDFile=/home//.vnc/%H%i.pid
如果是root用户则
ExecStart=/sbin/runuser -l root -c"/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
重启systemd
# systemctl daemon-reload
设置一下用户的 VNC 密码。要设置某个用户的密码,必须要有能通过 sudo 切换到用户的权限,这里我用 caijx 的权限,执行“su caijx”就可以了。
#vncpasswd
永久开启VNC服务。
4. 启动vnc服务
用户可以自定义启动号码如:
vncserver :2 #注意:2前面一定要有空格。
杀死vncserver进程
vncserver -kill:1 #这里你启动vncserver时是什么端口号要对应上。
PS:要切换到当前用户才可以杀死进程。
5. 查看远程连接的情况
PS:连接不上的情况下,请注意关闭防火墙。