Linux安装VNC过程(Linux桌面版远程)
作者:luo_guibin
文章介绍了在CentOS 7上安装和配置VNC服务的方法,包括设置密码、启停服务、关闭端口以及设置开机自启动,还提到了卸载GUI图形界面的方法,以提高服务器性能
一、Linux安装VNC服务
适用于CentOS7
#检查系统没有装GUI界面 rpm -qa | grep gnome yum -y groupinstall "X Window System" yum -y groupinstall "GNOME Desktop" #安装VNC yum install tigervnc tigervnc-server -y
检查开机运行级别 systemctl get-default #查询当前开机运行级别 systemctl set-default multi-user.target #表示切换到运行级别3,3为命令行模式 systemctl set-default graphical.target #表示切换到运行级别5,5为图形化GUI模式 #可以不开启,但要保证linux有安装GUI服务。( "X Window System"、"GNOME Desktop")
设置密码
vncpasswd #输入两次 Would you like to enter a view-only password (y/n)? y #再输两次
启停服务,启停使用就可以
vncserver :1 #1表示开启的是5901端口,1--5901,5901为客户端连接端口号,2--5902,以此类推,可同时开启多个端口 vncserver -list #可查看已开启的端口列表 netstat -anp | grep 5901 #查看5901进程



连接测试



关闭端口,关闭后会出现下图的链接失败
vncserver -kill :1 #表示关闭5901端口,但不影响除5901外的其他端口。 vncserver -kill :2 #表示关闭5902端口,但不影响除5902外的其他端口。

适用于CentOS6
网上的教程修改 vim /etc/sysconfig/vncservers 文件的方法,这个是CentOS6的方法,在CentOS7更改该配置文件已经没有意义。
vim /etc/sysconfig/vncservers ###填入以下内容### # THIS FILE HAS BEEN REPLACED BY /lib/systemd/system/vncserver@.service VNCSERVERS="2:root" #用户 VNCSERVERARGS[2]="-geomotry 1366x768" #分辨率
二、设置VNC服务端开机自启动
按照上面的方法确实可以做到远程连接,但如果每次开机都需要使用vncserver :1命令才能启动服务显然是不合理的,可以通过cron调度任务的方式设置开机自启动,但vnc服务还可以新建server服务文件通过systemctl命令实现开机自启动。
适用于CentOS7
复制vncserver@.service文件,注意将<USER>更改成真实用户名,我这里改成root,一个用户需要建一个service服务文件。
文件名形式固定必须是vncserver@:2.service这个形式,更改文件名中的数字,代表更改端口,例如vncserver@:2.service代表着开启该服务后启动5902端口,vncserver@:3.service代表5903端口,vncserver@:50.service代表5950端口以此类推。
有些教程会改%i,但其实不改也可以正常使用VNC。
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:2.service vim /lib/systemd/system/vncserver@:2.service #找到其中的<USER> ,修改成自己的用户名,这里我改成root用户。 ###例子### [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 ExecStart=/sbin/runuser -l root -c " /usr/bin/vncserver %i" PIDFile=/root/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' [Install] WantedBy=multi-user.target ###例子### systemctl start vncserver@:2.service systemctl enable vncserver@:2.service
启动vncserver@:50.service


关闭自启动
systemctl stop vncserver@:2.service systemctl disable vncserver@:2.service
虚拟机是init3,但vnc仍然是Linux桌面版GUI,即init5,这是另一台主机192.168.136.69,VNC客户端和VNC服务端运行级别可以不同,只需要保证服务端有安装GUI即可。

三、卸载GUI图形界面
GUI虽然有些操作方便但十分影响服务器性能,提供卸载方法
yum groupremove "GNOME Desktop Environment" yum groupremove "X Window System"
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
