一次Linux图形化界面恢复

一次Linux 图形化界面恢复

  • 一次Linux 图形化界面恢复
    • 出现问题场景
    • 问题排查

一次Linux 图形化界面恢复

出现问题场景

使用xmanager远程连接虚机的CentOS7系统图形界面出现已拒绝x11转移申请问题,在折腾X11过程中,安装与卸载的过程中不小心把xorg-x11-xauth使用yum卸了又安装的过程中,发现可视化界面的gui没了,重启也是doc界面(cmd),然后就开始了可视化界面恢复的过程。

问题排查

首先想到要想恢复图形界面,那么可以换个思路,要么排查问题出现的原因,要么按照从无可视化到安装图形化界面的角度出发,首先找到了可视化界面的启动方式startx命令。

  1. 安装startx
    执行后发现没有这个命令,然后找到了安装命令yum install xorg-x11-xinit,安装后就有了startx的命令,但是执行后又不能正常启动,看了日志发现很多设备没有正常启动。

  2. gnome重装:
    基于startx启动失败,找到了一篇文章CentOS 7输入startx无法启动图形化界面这里将内容摘抄过来,以防原文章链接失效:

【问题背景】前两天在学习linux虚拟化的时候, 发现虚拟机磁盘空间不足, 由于当初分区的时候不是用lvm来分区的, 导致无法扩容, 所以只能新建了一台虚拟机来学习.然而在新建完成后, 按照之前老师教的一系列优化手段, 将这台手段优化到我认为最优的条件下, 重启了一下系统, 发现登录界面自动回到了字符界面. 这可把我给郁闷坏了, 好端端的怎么就变成了字符界面了呢? 于是输入startx尝试进入图形界面, 然而系统却提示: 【xauth: file /root/.serverauth.9146 does not exist ....】具体如下图:然后就去百度查资料, 有说调整系统默认运行级别的, 也有说删除其他乱七八糟文件的. 于是我就查了系统的默认运行级别, 发现是图形化界面(graphical.tatget)没错, 但是为什么启动不了呢?没办法, 只能重装系统再试试, 一步步从之前的优化手段入手.1) 先是更新yum源, 然后更新系统软件到最新, 重启; 能进入图形化界面, 排除.2) 然后是ssh服务, 禁止root登录, 修改端口等, 重启; 也能进入图形化界面, 排除.3) 接着来到了禁用系统不必要的自启动服务, 这时候突然心有所感, 系统的自启动服务控制着种种功能, 很有可能是被我关闭了某些启动图形化界面必要的服务, 导致了图形化界面起不来.有了目标猜想之后, 就开始验证了, 我先是以最小化的形式重装了一个新的CentOS 7-1810的系统, 然后把所有自启动服务给记录下来, 存到一个文件里. 接着就把所有的自启动服务给关了.再然后就用命令安装了图形化界面:yum groupinstall -y "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希望能帮助到各位!!!-------------------------20200424 更新--------------------------------
【最终解决方案】
1、重新安装桌面环境软件包组yum groupinstall -y "GNOME Desktop"
2、使用startx测试,确认桌面环境能正常启动startx
3、测试通过后,设置开机启动默认模式:由字符界面改为图形界面systemctl set-default graphical.target
4、将startx命令添加到开启自启动执行文件 /etc/rc.d/rc.local 中,并为该文件添加执行权限echo "/bin/startx" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
5、最后,重启系统验证结果reboot

看了评论发现有人说更新gdm.service后不是自启,会导致图形化界面不能正常进去,然后执行了systemctl status gdm.service后,提示并没有这个服务,立马去gui正常的系统上执行systemctl status gdm.service发现gdm服务是正常执行,这里就觉得是这个问题,然后重新安装GNOME,首先卸载原来的安装包yum groupremove -y "GNOME Desktop",卸载完成后再安装yum groupinstall -y "GNOME Desktop",首先查看gdm服务状态,是正常运行中,然后后执行startx,图形化界面正常启动!!!

总结:(不作就不会死…)
出现问题的原因是卸载xorg-x11-xauth又重新安装,导致一些依赖丢失,以至于图形化界面不能正常进入,不过最终问题还是解决了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/43137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HCIP的交换机实验

题目 拓扑图 PC1/3接口用access 创建WLAN LSW1 创建WLAN [lsw1]vlan batch 2 to 6[lsw1-Ethernet0/0/1]p [lsw1-Ethernet0/0/1]port l [lsw1-Ethernet0/0/1]port link- [lsw1-Ethernet0/0/1]port link-flap [lsw1-Ethernet0/0/1]port link-type acc [lsw1-Ethernet0/0…

kubeasz在线安装K8S集群单master集群(kubeasz安装之二)

一、介绍 Kubeasz 是一个基于 Ansible 自动化工具,用于快速部署和管理 Kubernetes 集群的工具。它支持快速部署高可用的 Kubernetes 集群,支持容器化部署,可以方便地扩展集群规模,支持多租户,提供了强大的监控和日志分…

Bigemap Pro国产基础软件介绍——一款多源数据处理软件

一、软件简介 Bigemap Pro是由成都比格图数据处理有限公司(下称”BIGEMAP”)开发和发行的国产大数据处理基础软件。Bigemap Pro是在BIGEMAP GIS Office基础上,经过十年的用户积累与反馈和技术更新迭代出的新一代基础软件产品。Bigemap Pro国产基础软件集成了数据采…

【Diffusion】李宏毅2023机器学习Diffusion笔记

文章目录 1 想法概述2 实际过程阶段1 Add Noise阶段2 Denoise 3 数学原理4 为什么推理时要额外加入noise5 一些不知道对不对的Summary 1 想法概述 从一张充满噪声的图中不断denoise,最终得到一张clear的图片。为了确定当前图片中噪声占比的大小,同时输入…

rust踩雷笔记(1)——切片传参和解引用赋值

最近学习rust,网上资料还是很有限,做题遇到的问题,有时需要自己试验。把自己做题过程遇到的问题,和试验的结论,做一些简单记录。 阅读下列文字和代码 用切片(的引用)做参数要非常小心&#xff…

LVS负载均衡之--Keepalived模式(超详细)

一.Keepalived概述 Keepalived起初是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健康检查功能-----判断LVS负载调度器,节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后将其重新加入群集中Keep…

【数据结构】二叉树

🐇 🔥博客主页: 云曦 📋系列专栏:数据结构 💨吾生也有涯,而知也无涯 💛 感谢大家👍点赞 😋关注📝评论 文章目录 前言一、树的概念及结构&#x…

简单理解Python中的深拷贝与浅拷贝

I. 简介 深拷贝会递归的创建一个完全独立的对象副本,包括所有嵌套的对象,而浅拷贝只复制嵌套对象的引用,不复制嵌套对象本身。 简单来说就是两者都对原对象进行了复制,因此使用is运算符来比较新旧对象时,返回的都是F…

java把数字转换成汉字 java 数字转汉字

使用java将数字转化为中文汉字_java数字转中文_javaerly的博客-CSDN博客 package com.unicom.apartment.utils;public class NumUtil {public static String convert(int number) {if(number < 0){return "";}if(number 1){return "当天";}//数字对应的…

C#实现普通的语音播报

Windows有文字转语音功能&#xff0c;C#提供了调用的类库Interop.SpeechLib.dll 使用方法很简单&#xff0c;在你的项目中添加Interop.SpeechLib.dll引用&#xff0c;在类中引用&#xff1a; using SpeechLib;这里提供一个CVoice类 帮助实现语音播报 public class CVoice{pri…

【5G 核心网】5G 多PDU会话锚点技术介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

Spring Boot(六十四):SpringBoot集成Gzip压缩数据

1 实现思路 2 实现 2.1 创建springboot项目 2.2 编写一个接口,功能很简单就是传入一个Json对象并返回 package com.example.demo.controller;import com.example.demo.entity.Advertising; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframewo…

LeetCode150道面试经典题-- 加一(简单)

1.题目 给定一个由 整数 组成的 非空 数组所表示的非负整数&#xff0c;在该数的基础上加一。 最高位数字存放在数组的首位&#xff0c; 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外&#xff0c;这个整数不会以零开头。 2.示例 示例 1&#xff1a; 输入&am…

excel提示更新外部引用文件 这个提示能手动禁用

是的&#xff0c;你可以手动禁用 Excel 中的更新外部引用文件的提示。这些步骤可能因 Excel 版本而有所不同&#xff0c;以下是一般的步骤&#xff1a; 1. **打开 Excel**&#xff1a; 2. **进入“选项”**&#xff1a; - 在 Excel 中&#xff0c;点击顶部菜单中的“文件”…

网络通信原理传输层TCP三次建立连接(第四十八课)

ACK :确认号 。 是期望收到对方的下一个报文段的数据的第1个字节的序号,即上次已成功接收到的数据字节序号加1。只有ACK标识为1,此字段有效。确认号X+1SEQ:序号字段。 TCP链接中传输的数据流中每个字节都编上一个序号。序号字段的值指的是本报文段所发送的数据的第一个字节的…

「UG/NX」Block UI 面收集器FaceCollector

✨博客主页何曾参静谧的博客📌文章专栏「UG/NX」BlockUI集合📚全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C+&#

LangChain手记 Question Answer 问答系统

整理并翻译自DeepLearning.AILangChain的官方课程&#xff1a;Question Answer&#xff08;源代码可见&#xff09; 本节介绍使用LangChian构建文档上的问答系统&#xff0c;可以实现给定一个PDF文档&#xff0c;询问关于文档上出现过的某个信息点&#xff0c;LLM可以给出关于该…

【vue】项目基础环境搭建、css样式重置与公用

nodejs环境 nodejs是当下前端工程化开发必不可少的环境, 使用 nodejs的 npm功能来管理依赖包 查看node 和 npm的版本 node -v #查看node版本npm -v #查看npm版本 git版本控制 git版本控制工具是目前最为流行的分布式版本管理工具,代码的**提交, 检出, 日志**, 都需要通过git完…

Matplotlib数据可视化(二)

目录 1.rc参数设置 1.1 lines.linestype取值 1.2 lines.marker参数的取值 1.3 绘图中文预设 1.4 示例 1.4.1 示例1 1.4.2 示例2 1.rc参数设置 利用matplotlib绘图时为了让绘制出的图形更加好看&#xff0c;需要对参数进行设置rc参数设置。可以通过以下代码查看matplotli…

C++11并发与多线程笔记(8) condition_variable、wait、notify_one、notify_all

C11并发与多线程笔记&#xff08;8&#xff09; condition_variable、wait、notify_one、notify_all 1、条件变量condition_variable、wait、notify_one、notify_all1.1 std::condition_variable1.2 wait()1.3 notify_one()1.4 notify_all() 2、深入思考 1、条件变量condition_…