Linux安装VNC过程(Linux桌面版远程)
一、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"
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
CentOS7 + node.js + nginx + MySQL搭建服务器全过程
这篇文章主要介绍了关于CentOS7 + node.js + nginx + MySQL搭建服务器的全过程,文章通过一步步的步骤进行介绍的很详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。2017-03-03
CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)
这篇文章主要介绍了CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB),需要的朋友可以参考下2016-10-10
Linux 3.X/4.x/5.x 忘记宝塔面板密码的解决方法
在本篇文章里我们给大家整理的是关于忘记Linux 3.X/4.x/5.x 宝塔面板密码的解决方案,有需要的朋友们可以学习下。2019-10-10
Ubuntu Server 24设置WiFi网络的全流程方案
本文详细解析了在 Ubuntu Server 24 系统中配置无线网络静态 IP 的全流程方案,重点围绕 Netplan 配置框架展开,文中有详细的代码示例和图文供大家参考,需要的朋友可以参考下2025-09-09


最新评论