Linux服务器VNC安装(CentOS举例)
Linux    2019-12-03 13:28:50    841    0    0
acme   Linux

关于本编博客内容声明:

  1、此次安装记录为方便将来可能用到而做的测试。(毕竟好多包名记不住,写篇博客是为了将来需要用到的时候可以参考命令)

  2、本次使用虚拟机安装CentOS系统,为测试环境。如果是生产环境,请做好备份并且已经能够正确认识相关命令以及数据回滚能力再进行操作。

  3、本次CentOS镜像包为CentOS-7-x86_64-Minimal-1511,为最小安装包,安装过程中关闭了kdump,联网并且设置固定ip,全盘安装系统由设置向导自动分区,配置root账户密码,未添加其他账户。所以本次全程直接以root账号运行。

关于阅读本编博文所需要的知识:

  1、首先您至少得知道点Linux这玩意,清楚的知道不同Linux发行版的区别以及常用命令。明白Debian和ReadHat系的差别,当然,还有什么SUSE、Unix等等其他了解得也是越多越好。

  2、如果是使用ReadHat系,至少要知道点rpm和yum包管理器的基本使用,如果可以,dnf知道一下也好。

上面扯了一大堆废话,那么现在开始。

环境已经搭好,虚拟机已经联网,首先ssh连接上服务器。

我们这里要做的第一步就是先把源和包全部更新到最新。

sudo yum update -y​

sudo大致可以理解为以管理员身份运行的意思,我这里是root账号了,拥有最高权限可以不加,

但是因为习惯上管理服务器并不会直接使用root,而是其他管理员账号,所以需要用sudo提权。

这是一个小技巧,非特殊情况,不要直接使用root账户,并且禁止root账户远程登录。
yum为RedHat系列的包管理器,update为更新包加上-y就直接不询问更新软件包了​

等着一大堆命令乱跑,什么进度条安装,替代了哪些,只要等这个完毕出来便表示更新完成。

在这边顺便再提个小细节。

我这边之所以是中文,是因为我设置的语言环境是中文。

echo $LANG  查看LANG这个环境变量的值

export LANG=en_US.utf-8 将LANG的值使用en_US.utf-8覆盖 就是换成英文,字符集utf-8

export LANG=zh_CN.UTF-8 将LANG的值使用zh_CN.UTF-8覆盖 就是换成中文,字符集utf-8

  如果需要中文,可以改一下环境变量,还有确认本机的语言环境和服务器的语言环境以及字体这些问题。

回到前面已经更新,如果更新完成了,可以在sudo yum update -y确认一下,因为虽然接了-y统一更新,但是某些包或者某些原因更新失败或者依赖问题又或者其他并没有全部更新,可以手动更新一下。

如果更新了内核,建议重启一下服务器。生产环境服务器不要随便重启!!!

重启完成以后就要开始装一大堆的东西了。

首先确认一下本地有没有X Window环境,我就直接当没有

yum groupinstall "X Window System" -y

直接先来一套

等上面的进度条跑完装好,我这边使用经典的gnome作为vnc的登录环境,所以继续再来一套

yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts -y

上面装完gnome桌面,最后装vnc

yum install tigervnc tigervnc-server tigervnc-server-module -y

装完以后为VNC配置一个服务

cp /lib/systemd/system/[email protected] /lib/systemd/system/vncserver@:1.service

修改一下这个服务的配置

将PIDFile以及ExecStart两个参数更改一下。这里我设置root账户,避免权限问题。

修改完保存并退出。

请注意,其他用户的用户目录默认是在/home下面以用户名命名的目录,而root的用户目录是/root

然后配置一下vnc连接的密码

vncpasswd

输入两遍密码,有复杂度要求,长度至少六位。

还有一个选项是否设置视图只能查看的密码,我这里就不进行设置了。

先reload一下

systemctl daemon-reload

接着启用、启动我们创建的服务并且设置开机自启动

systemctl start vncserver@:1.service && systemctl enable vncserver@:1.service

执行完就可以看到已经执行成功并且创建了。

到这里已经完成了,可以使用VNC客户端软件登录了。

但是会发现一件事,重启以后就无法登录了?

这是因为防火墙的问题,简单加点防火墙的处理方式。

systemctl stop firewalld.service            #停止firewall
systemctl disable firewalld.service        #禁止firewall开机启动

firewall-cmd --zone=public --add-port=5901/tcp --permanent

firewall-cmd --zone=public --add-port=5901/udp --permanent

命令含义
--zone #作用域
--add-port=5901/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效​

  这边防火墙放行一下udp和tcp针对5901的访问,VNC的默认端口是5900开始,第一个用户端口是5901,同时注意前面的服务创建配置vncserver@:1.service这个选项有个1,其实是可以理解为设置多个登录桌面。

到这里,服务端的配置基本算是完成了,还有一些细节,比如服务器端口修改什么的,这个可以自学一下啦。

 

 

 

 

 

Pre: VNC客户端使用

Next: 通过文件添(增)加Swap空间

841
Table of content