前两天在学习linux虚拟化的时候, 发现虚拟机磁盘空间不足, 由于当初分区的时候不是用lvm来分区的, 导致无法扩容, 所以只能新建了一台虚拟机来学习.
然而在新建完成后, 按照之前老师教的一系列优化手段, 将这台手段优化到我认为最优的条件下, 重启了一下系统, 发现登录界面自动回到了字符界面. 这可把我给郁闷坏了, 好端端的怎么就变成了字符界面了呢? 于是输入startx尝试进入图形界面, 然而系统却提示: 【xauth: file /root/.serverauth.9146 does not exist ....】具体如下图:
然后就去百度查资料, 有说调整系统默认运行级别的, 也有说删除其他乱七八糟文件的. 于是我就查了系统的默认运行级别, 发现是图形化界面(graphical.tatget)没错, 但是为什么启动不了呢?
没办法, 只能重装系统再试试, 一步步从之前的优化手段入手.
1) 先是更新yum源, 然后更新系统软件到最新, 重启; 能进入图形化界面, 排除.
2) 然后是ssh服务, 禁止root登录, 修改端口等, 重启; 也能进入图形化界面, 排除.
3) 接着来到了禁用系统不必要的自启动服务, 这时候突然心有所感, 系统的自启动服务控制着种种功能, 很有可能是被我关闭了某些启动图形化界面必要的服务, 导致了图形化界面起不来.
有了目标猜想之后, 就开始验证了, 我先是以最小化的形式重装了一个新的CentOS 7-1810的系统, 然后把所有自启动服务给记录下来, 存到一个文件里. 接着就把所有的自启动服务给关了.
再然后就用命令: yum groupinstall "GNOME Desktop"安装了图形化界面
这时再检查系统自启动服务, 发现果然多了一大堆自启动服务, 马上又把这些自启动服务记录到一个新文件里, 对比了一下旧文件, 有3个重复的服务项, 排除两个无法关闭的服务: 【autovt@.service、getty@.service】外, 剩下一个就不管了.
直接将这个新记录的文件传输到无法启动图形界面的服务器, 读取并启动里面的服务后, 发现图形化界面能正常启动了, 折腾了两天, 总算把问题解决了.
心理倍感兴奋, 不过想到网上还有很多志同道合的同行业的朋友也在为这个问题而烦恼着, 于是写了这篇博客, 希望能给他们带来一些灵感和指引, 下面是我记录的启动图形化界面需要的服务, 里面包含了不仅仅包含了图形化界面启动必须的服务, 还包含了图形化界面一些管理工具必须的服务, 比如图形界面中文显示等一些必须的服务. 具体请看下文:
abrt-ccpp.service abrt-oops.service abrt-vmcore.service abrt-xorg.service abrtd.service accounts-daemon.service atd.service auditd.service avahi-daemon.service bluetooth.service cups.service dbus-org.bluez.service dbus-org.freedesktop.Avahi.service dbus-org.freedesktop.ModemManager1.service display-manager.service dmraid-activation.service gdm.service initial-setup-reconfiguration.service iscsi.service ksm.service ksmtuned.service libstoragemgmt.service libvirtd.service mdmonitor.service ModemManager.service multipathd.service netcf-transaction.service qemu-guest-agent.service rngd.service rpcbind.service rtkit-daemon.service smartd.service sysstat.service udisks2.service vdo.service
希望能帮助到各位!!!