我们购买的VPS预安装的操作系统通常是centos7 mini,默认使用命令行界面,无法运行图形界面的程序,给我们的使用带来了诸多不便。本文就从一个centos7 mini初始系统开始,一步步的安装并配置图形界面,配置VNCserver,实现图形化的远程连接。
1.安装 xfdesktop桌面
1.1 安装 xfdesktop:
执行以下命令安装 xfdesktop。
sudo yum install epel-release
sudo yum groupinstall xfce
sudo yum install -y Xorg
1.2 启动 xfdesktop:
安装完成后,执行以下命令启动 xfdesktop。
sudo startxfce4
这会启动 Xfce4 桌面环境,包括 xfdesktop 和其他组件。
1.3 如果系统已经启动了其他桌面环境,例如 GNOME 或 KDE,需要先退出当前桌面环境,再启动 Xfce4 桌面环境。可以使用以下命令退出当前桌面环境:
sudo systemctl stop gdm # 如果当前桌面环境是 GNOME
sudo systemctl stop sddm # 如果当前桌面环境是 KDE
2.安装evdev
通过步骤1我们已经安装了xfdesktop,图形界面环境,但是你会发现鼠标无法控制桌面上的按钮,这是因为xfdesktop中并没有集成键鼠驱动,需要单独安装evdev驱动。
通过以下命令安装evdev。
yum install xorg-x11-drv-evdev
安装完成evdev后,然后再执行 startxfce4
启动 Xfce4 桌面环境,你会发现鼠标和键盘已经能够使用了。
3.设置系统默认启动桌面模式
通过步骤2的操作,我们已经完成了centos7 mini图形界面的安装,但当重启系统后,默认进入的还是命令行界面。可以通过设置.target
更改系统默认的启动模式。
使用命令systemctl get-default
检查系统当前的启动模式,如果命令返回结果是multi-user.target
说明系统默认使用命令行模式,如果命令返回结果是graphical.target
说明系统默认使用图形界面模式。
使用以下命令,将系统启动模式更改为图形模式。
systemctl set-default graphical.target
重启系统,熟悉的图形界面回来了。
4.自定义xfce4的分辨率
好了,目前重启系统已经默认进入图形界面了,可是问题又来了,系统的分辨率并不能很好的适配你的显示器。显示模式中有1920X1600,1920X1400等,却唯独没有1920x1080。接下来我们要自定义一个1920 X 1080的显示模式,并将该显示模式加入到系统配置中。
首先通过cvt
命令自定义分辨率,cvt
后面跟分辨率。
cvt 1920 1080
设置新的分辨率显示模式。
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
👿 上面的命令是我为了写此篇教程后补的,手动敲的命令,可能有误,大家在新建显示模式时推荐使用复制-粘贴。
将新的分辨率模式添加到系统中。
通过命令xrandr
查看显示器的名称。
xrandr
为VGA-1
显示器添加新的显示模式。
xrandr --addmode VGA-1 "1920x1080_60.00"
通过上面的设置以后,再次设置分辨率时,你会发现多出一个“1920X1080”显示模式来。
5.将配置文件写到系统中
通过上面的操作,我们已经更改了系统的分辨率,可是系统重启后就失效了。为了让系统记住我们新添加的显示模式,需要将分辨率的设置写到系统文件中。
在centos7 mini 中新建文件(如果存在就直接打开)。
vim /etc/X11/xorg.conf
写入以下内容。
Section "Monitor"
Identifier "Configured Monitor"
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Option "PreferredMode" "1920x1080_60.00"
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
EndSection
Section "Device"
Identifier "Configured Video Device"
EndSection
👿 第4行”Modline” 对应你新添加的显示模式,也就是对应 xrandr --newmode
后面新建的显示模式。第5行“Option”对应的内容是你在图形设置界面中对应的显示内容。这两行不同的显示模式内容是不同的,第4行要和第5行保持一致,不要照抄我的。
设置SSH
打开ssh中的X11转发功能。
安装X11转发的依赖包以及X11字体。
yum install xorg-x11-xauth xorg-x11-fonts-*
注意:如果你是通过 SSH 登录到 CentOS 服务器上的,需要在连接选项中启用 X11 转发功能,才能在本地终端中显示 Xfce4 桌面环境。具体方法请参考你所使用的 SSH 客户端的文档。
6.开启VNC
-
执行以下命令安装 VNC Server:
sudo yum install tigervnc-server tigervnc-server-module
-
使用以下命令生成 VNC 配置文件和密码文件:
vncserver
这会在用户的 home 目录下生成一个
.vnc
目录,其中包括xstartup
脚本和passwd
密码文件。
编辑xstartup
脚本。
vim /root/.vnc/xstartup
将原来的内容全部注释掉,然后添加以下内容以启动 Xfce4 桌面环境:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
使用以下命令修改 passwd
密码文件中的密码:
vncpasswd
输入两遍密码后保存并关闭文件。
使用以下命令启动 VNC 服务:
vncserver :1
这会启动一个新的 VNC 会话,并分配一个端口号为 5901
。如果要启动多个 VNC 会话,可以更改端口号,例如 vncserver :2
。
使用 VNC Viewer 连接到服务器,输入 IP 地址和端口号,例如 192.168.1.100:5901
,然后输入刚刚设置的密码。
如果你的系统开启了防火墙需要放开5901端口。
firewall-cmd --zone=public --add-port=5901/tcp --permanent
firewall-cmd --reload
7.使用UltraVNC远程登录
下载一个UltraVNC Vierwer
并安装,基本上都是下一步下一步的操作,在此不多赘述。
打开UltraVNC Viewer
,输入系统的IP地址加端口号。
输入密码,就可以登录了。
👿 如果进入系统时有‘dbus’相关的报错信息,可以使用下面的命令来解决。
mount proc -o remount,hidepid=0
systemctl restart polkit.service
👿 如果你是在云服务器上使用 VNC,需要先在服务器控制台或 SSH 终端中启用 X11 转发功能,才能在本地使用 VNC Viewer 连接到服务器并显示桌面环境。具体方法请参考你所使用的云服务提供商的文档。