很多VPS商提供的CentOS 7镜像只有最小化安装,这样就只能在命令行下操作,如果要调试代码的话,还是图形化界面方便,而且CentOS自带的Gnome和KDE都比较占内存、启动桌面后就占用了400MB以上内存了,对于小内存的VPS来说,只占用几十MB内存的Xfce比较合适。
安装Xfce
安装额外yum源
yum install epel-release
可以使用yum grouplist来查看目前有哪些可用源
安装Xfce
yum groupinstall xfce
安装中文字体(可选)
可以通过yum search fonts来搜索有哪些字体,顺带一说yum search的作用是搜索yum包。
yum install cjkuni-ukai-fonts
yum install google-noto-sans-simplified-chinese-fonts.noarch
安装中文输入法,网上搜的方法,可是我安装了还是没法切换到中文输入
yum install ibus
yum install ibus-libpinyin
yum install ibus-gtk2
yum install ibus-gtk3
yum install im-chooser
yum install gtk2-immodule-xim
yum install gtk3-immodule-xim
小贴士
查看可用yum源可以使用命令yum grouplist
搜索yum包可以使用命令yum search 关键字
安装VNC服务
安装VNC服务端程序
yum install vnc-server
或者
yum install tigervnc-server
配置VNC
首先拷贝配置文件
cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
/etc/systemd/system下面的、vncserver@后面的冒号数字,表示服务实例编号,可以配置多个服务实例,指定不同的编号的即可。VNC的服务端口从5900开始,根据服务实例编号增加,比如示例的vncserver@:1.service,对应的端口号就是5901,如果是vncserver@:12.service,那对应的端口号就是5912。
然后修改配置文件
vi /etc/systemd/system/vncserver@:1.service
将
ExecStart=/sbin/runuser -l <USER>-c "/usr/bin/vncserver %i"
其中的<USER>替换为需要通过vnc远程登录的用户名。
设置vnc密码(只影响执行命令的用户,比如当前是root用户,就只设置了root的vnc登录密码)
vncpasswd
刷新服务、设置自启、启动服务
systemctl daemon-reload
systemctl enable vncserver@:1.service
systemctl start vncserver@:1.service
设置防火墙(如果开启了防火墙)
firewall-cmd --permanent --add-service vnc-server
systemctl restart firewalld.service
这个时候,已经可以通过vnc客户端连接了,不过登录后只能看见一个空白桌面,什么都不能操作,需要修改用户home目录/.vnc/xstartup,此时我们是root;如果是其他用户则是修改/home//.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 restart vncserver@:1.service
或者可以指定分辨率和颜色深度
vncserver -geometry 1920x1080 -depth 24 :1
客户端配置
可以用 Tightvnc viewer 或 Realvnc viewer 等客户端来连接服务器。
我在Windows下用的Realvnc viewer,只用下载viewer就好,就一个exe,新建连接指定IP地址和端口就能连上服务器了。默认显示是6位色,在连接的Properties-Expert里面,把ColorLevel改成rgb888就能以24位色显示了。
首先打开vi /usr/bin/vncserver
文件,然后找到$geometry = "1024x768";
这一行,将其改为需要的分辨率即可。
#
# Global variables. You may want to configure some of these for your site.
#
$geometry = "1920x1080";
$depth = 16;
$vncJavaFiles = (((-d "/usr/share/vnc-java") && "/usr/share/vnc-java") ||
((-d "/usr/share/vnc/classes") && "/usr/share/vnc/classes") ||
((-d "/usr/local/vnc/classes") && "/usr/local/vnc/classes"));
$vncUserDir = "$ENV{HOME}/.vnc";
$xauthorityFile = "$ENV{XAUTHORITY}" || "$ENV{HOME}/.Xauthority";