分类
个人学习历程

centos7安装xfce桌面并且安装vnc配置ssh隧道安全远程操控

执行以下命令对yum进行更新

yum update

安装epel源

yum install epel-release

安装X windows,这是linux下所有桌面系统的基础

yum -y groupinstall "X Window system"

安装xfce

yum -y groupinstall xfce

执行以下命令切换到桌面模式

sudo systemctl isolate graphical.target

进入字体文件夹,创建中文字体目录

cd /usr/share/fonts/
mkdir chinese

用winscp或者xftp或者finalshell等软件把C:\Windows\Fonts下的中文字体选一个传到/usr/share/fonts/chinese/目录下,我传的是思源黑体,可以随自己喜好选,微软雅黑啥的都可以
用一下命令安装生成字体缓存的命令并使用它们生成字体缓存

yum install -y mkfontscale mkfontdir
mkfontscale
mkfontdir
fc-cache -fv

安装中文输入平台和中文输入法

yum -y install ibus ibus-libpinyin ibus-gtk2 ibus-gtk3 im-chooser gtk2-immodule-xim gtk3-immodule-xim

安装Firefox,如果不需要浏览网页则不需要装

yum -y install firefox

接下来安装vnc
首先windows上下载vnc的连接软件vnc viewer,这里给出一个下载地址,可以点击这里下载
或者复制连接自行打开https://vnc-viewer.en.softonic.com/download?ex=CS-1680.1
点击页面上大大的绿色的Free Download按钮下载
下载完之后解压安装
然后就是centos7服务器里配置
输入以下命令在服务器里安装vnc服务端

yum install vnc-server

然后拷贝配置文件

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service

以上命令把vncserver的配置文件复制到了两个文件夹,启动vnc有两个命令,一个命令是vncserver :1,会调用以上目录中/lib/systemd/system/目录中的配置文件,还有一种方式是systemctl start vncserver@:1.service,会调用/etc/systemd/system/文件夹中的配置文件
执行以下命令开放vnc的端口,或者嫌麻烦可以直接关闭防火墙systemctl stop firewalld
阿里云腾讯云等大厂用户别忘了也在网页控制台处开放对应的端口

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

输入以下命令重新加载防火墙配置

systemctl daemon-reload

然后我们修改配置文件,这里只配置了/etc/systemd/system/目录下的配置文件,所以只能用systemctl方式启动,想用vncserver :1方式启动的请继续修改/lib/systemd/system/vncserver@:1.service

vi /etc/systemd/system/vncserver@:1.service

这里把换成你的系统账户的名字,我这里是直接用的root账户所以直接改成root了
USER标识
更换成root之后的样子

输入以下命令设置vnc连接密码,需要输入两次

vncpasswd

先运行一下一下命令,虽然执行之后服务并未启动,但是这步不可跳过,执行的目的是为了生存下文我们修改的/root/.vnc/xstartup文件夹,如果不执行的话这个文件不存在

systemctl start vncserver@:1.service

root用户编辑/root/.vnc/xstartup文件,其他用户需要进入各用户对应的文件夹

vi /root/.vnc/xstartup

将里面的内容替换为

#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
startxfce4 &

然后就可以用以下命令启动并设置开机自启动了

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

可以用以下命令来查看服务运行状态,注意状态要是运行中才可以

systemctl status vncserver@:1.service

也可以使用vncserver :1来启动
用vncserver :1启动的可以用vncserver -list来查看服务状态
需要注意的是:1是指我们开的一个桌面,对应的端口是5901,如果是:2的话,需要创建:2的文件,还需要开放端口5902,:3的端口就是5903,以此类推
现在我们其实就可以用我们windows上的vnc viewer客户端来输入ip:5901来连接了,不过这样连接vnc非常不安全,因为vnc是明文传输,你输入的密码和操作等很容易别别人截获,所以接下来我们要配置ssh隧道连接vnc
方法很简单,我这里用的是xshell
安装xshell软件(官网就可以免费下载免费使用的)
然后输入ssh连接的IP和端口22
然后点击隧道选项,输入localhost 5901端口和服务器ip和5901端口
输入ssh的ip和端口
xshell ssh隧道设置
ssh隧道传输原理
然后我们打开vnc viewer,点击左上角的File 然后点击newconnection在VNC server那输入localhost:5901,下边的name自己随便起个名,然后按ok连接就可以了
有可能vnc连接后的分辨率很小
调出命令行输入命令xrandr查看列出的支持的分辨率

xrandr

然后从里面选一个支持的分辨率

xrandr -s 1440x900

还有就是中文输入法的问题了
输入命令

im-chooser

会调出输入法选择器
调出输入法选择器
选择哪个标着recommend的,然后右上角就会出现选择输入法的按钮
点一下选择拼音就行了
参考文章:
1.CentOS7最小安装+Xfce桌面环境
2.CentOS 7安装Xfce和VNC
3.CentOS 7.9 Xfce桌面安装中文输入法
4.服务器上安装微软雅黑,添加微软雅黑字体到 CentOS 7
通过SSH和VNC远程连接Centos7
centos7如何设置分辨率

发表评论