CentOS7.6使用Minimal最小化安装后,安装图形界面失败,startx执行失败

网上关于CentOS7使用startx命令启动图形界面失败的帖子很多,不过找了一天也没解决我的问题,于是把自己掉坑过程复述一下,然后有爬出来的过程,如果有相似经历的同学可以参考看看能不能爬出坑。

1. 先列举一下问题:
我遇到的问题一共有两个

一个问题是在启动桌面程序的时候,即startx时,报:

[root@localhost vmware-tools-distrib]# startx
xauth:  file /root/.serverauth.1729 does not exist

xinit: unable to run server "/usr/bin/X": No such file or directory
Use the -- option, or make sure that /usr/bin is in your path and
that "/usr/bin/X" is a program or a link to the right type of server
for your display.  Possible server names include:

    Xorg        Common X server for most displays
    Xvfb        Virtual frame buffer
    Xfake       kdrive-based virtual frame buffer
    Xnest       X server nested in a window on another X server
    Xephyr      kdrive-based nested X server
    Xvnc        X server accessed over VNC's RFB protocol
    Xdmx        Distributed Multi-head X server

^Cxinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: unexpected signal 2

这个错网上给的答案就千奇百怪了,搜了好久都没有解决。有的同学可能也遇到过类似的错误或者相同的错误,这个问题出现的根本原因,我也不清楚,不过我复现了一下这个错误,找到了我遇到这个错误的原因,可能这个原因也是其他人无法启动图形界面的原因。可以作为一个参考。

2. 我的复现过程
我是按照下边这个过程掉坑里的:

我使用CentOS官方的Minimal镜像做了最小化安装,使用的就是这个版本CentOS-7-x86_64-Minimal-1810.iso
然后我连上了网上的源,做了更新,用的是163的源163-centos7.6-mirror
然后我想安装图形界面了,我在CentOS7官网下载了Everything的ISO,使用的是清华的镜像源下载的
我将iso作为光盘挂载到了虚拟机里面/mnt目录下,同时使用下边的配置引用光盘中的文件作为源进行安装
[root@localhost ~]# cat /etc/yum.repos.d/bak/local.repo
[LocalRepo]
name=Local Repository
baseurl=file:///mnt
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

安装使用的命令是:
yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
1
然后就报了一些错,是我已经安装的软件包版本高于当前要安装的软件包版本,我也没有在意,直接加了个参数调过了,如下:
yum groupinstall "GNOME Desktop" "Graphical Administration Tools" --skip-broken
1
安装显示需要装的软件包大小大约165MB,这里和网上很多帖子提示说的是700MB不同,因为使用的是Everything的镜像,所以软件包比较少。
安装完之后运行startx就无法启动了,出现了1中描述的问题
经过复盘分析,我觉得我安装失败的原因,应该就是中间做过一次update,导致软件包的版本比镜像中的高了很多,所以导致再次使用镜像中的包进行安装的时候,很多依赖的版本就没法自动解决了。强行安装后直接导致启动失败。

3. 修复实验
在遇到这个问题并且能够成功复现后,我进行了两个实验:

使用Minimal进行安装,不做update,使用Everything进行图形化安装
重放复现步骤,卸载安装的图形软件,进行修复
上边两个实验,第一个很好做,直接就成功了。说明软件包版本匹配的情况下,应该是可以直接启动图形界面的,所有运行的命令都一样,没有变化。

第二个实验也很好做,重点在于如何修复。因为这一步已经记性了update,升级的软件很多,又不能都回退回去,所以,我想的是直接用互联网的源进行安装图形界面软件。安装后直接运行就成功了。这次安装的包大约需要下载700多MB,和网上帖子里说的也比较一致。

4. 确定修复方案
通过3步骤的实验,确定采用3步骤中的第二个实验中的结论来进行修复。由于问题出现的环境是离线环境,所以需要采用离线方案进行软件安装。
离线安装有两种方式:

将桌面安装的包下载下来,做成镜像源
将163的源仓库下载下来,做成镜像源

发布了447 篇原创文章 · 获赞 71 · 访问量 40万+

猜你喜欢

转载自blog.csdn.net/w892824196/article/details/104049288