找回密码
 立即注册
首页 业界区 安全 Kali安装NVIDIA显卡驱动导致无法进入GUI(上) ...

Kali安装NVIDIA显卡驱动导致无法进入GUI(上)

凤患更 昨天 20:40
今天闲来无事,突然想着要不去NVIDIA官网下个显卡驱动给kali装上,一切如常,但是在安装的过程中突然闹肚子,所以那些选项直接全部enter略过,在reboot之后才发现坏事了,系统默认进入了CUI界面(TTY)
想着既然装了驱动那就先看看驱动装的怎么样了,于是运行了
  1. nvidia -smi
复制代码
结果返回一堆■ ■ ■ ■ 看来不仅是驱动没打好,还把系统文件搞崩了...
使用
  1. apt install fonts-wqy-microhei fonts-wqy-zenhei
复制代码
安装常用的黑体中文字体并且通过
  1. fc-cache -fv
复制代码
更新字体缓存,reboot之后发现字体问题依旧存在,才突然意识到TTY是不支持中文的,属于是在这瞎搞了...
那就先检查一下显示管理器的情况吧,检测一下显示管理器lightdm的状态
  1. systemctl status lightdm
复制代码
发现显示正常的active(running),那么就是以下这几种可能了:
1.X启动失败(最常见):则lightdm服务本身成功启动了,但它尝试启动的X Server(负责图形渲染的核心程序)因为显卡驱动、配置文件等问题而崩溃了。这样下来lightdm 会自动重试几次,失败后最终放弃,系统就会fall back到 TTY。
2.显示管理器配置错误:lightdm 被配置为在错误的TTY(比如 tty2)上运行,而它实际上在另一个 TTY(比如 tty1)上显示了登录界面,没有切换过去。(可能性极小)
3.用户会话启动失败:极少数情况下,登录管理器成功了,但登录后启动用户桌面会话(XFCE)的过程失败了。
在这之前我们需要去了解一下Linux图形桌面的核心--Client-Server(客户端-服务器)模型,也就是我刚才说的X,即 X Window System 他主要分为X Server(服务端)和X Client(客户端)两部分

  • X Server
    它可以直接管理硬件(显卡、显示器、键盘、鼠标这些),负责输出(如在屏幕上绘制图形、文字)、输入(接收键盘、鼠标的输入事件)。X Server不关心画什么内容,它只提供画布和工具。

  • X Client
    它用来实现应用程序的业务逻辑,负责计算(决定要显示什么)、请求(向 X Server 发出请求:“在这里画一个窗口,里面放上这些文字和按钮”)。X Client 不会直接接触硬件,它只通过“点单”的方式让 X Server 帮它实现显示。
整体过程就像这样:X Client通过网络协议向X Server进行沟通。它们可以在同一台电脑上,也可以在不同的电脑上,这就是 X 系统强大的网络透明性。
1.png

我的话选择首先检测X Server的情况,于是去检查X Server的日志
  1. cat /var/log/Xorg.0.log
复制代码
结果发现日志文件未见异常项(EE)且日志信息非常短,猜测可能是因为X Server没有被lightdm正常启动导致无法日志信息未被正常记录,于是检查Xorg进程是否存在。
  1. ps aux | grep Xorg
复制代码
返回信息/usr/lib/xorg/Xorg :0 -seat seat0 -auth /var/run/lightdm/root/:0 ...说明 X Server 正在运行。
这说明Display Manager(lightdm)已经启动了X Server,但后续启动桌面环境的环节失败了。于是尝试手动启动X Window系统
  1. startx
复制代码
结果返回: ■■■■■■startx■■■■■■■■■ apt install xinit ■■■■■■■■(n/y)
简单分析一下就是再说没有装xinit了(xinit 是 Linux 系统中用于初始化 X Window 系统的命令,主要用于启动 X 服务器和客户端程序),于是安装xinit并且再次尝试手动X Window系统
  1. apt install xinit
  2. startx
复制代码
于是正常进入了GUI界面,由此看来lightdm的嫌疑就特别大了。这边我们就需要深入了解一下Linux图形桌面底层的几个关键组件,因为只有 X Server 和 X Client 还不够,我们需要一些“管理者”来组织它们,让它们协同工作,形成一个可用的桌面环境。
1. Window Manager(窗口管理器)


  • 职责:它是 X Server 的一个特殊 Client,负责“管理其他客户端的窗口”。
  • 功能:控制窗口的外观(边框、标题栏)、位置、大小、叠加关系、提供拖拽、调整大小、最大化、最小化等功能。
  • 例子:Xfce4 桌面环境使用的是 xfwm4 作为其窗口管理器。
2. Display Manager(显示管理器)


  • 职责:提供图形化的登录界面,管理用户登录会话。它是系统启动后看到的第一个图形界面。
  • 功能

    • 启动后运行在系统启动的特定运行级别(如 graphical.target)。
    • 显示登录窗口,验证用户身份。
    • 用户登录后,负责启动指定的桌面会话(Desktop Session)。
    • 通常也负责启动 X Server本身。

  • 例子:lightdm(LDM),还有 gdm3 (GNOME), sddm (KDE)。
3. Desktop Environment(桌面环境)


  • 职责:它是一个完整的软件套件,包含了一系列让桌面好用起来的组件。
  • 组件

    • Window Manager(窗口管理器)
    • Panel / Dock(面板/任务栏,如 xfce4-panel)
    • File Manager(文件管理器,如 thunar)
    • Application Launcher(应用启动器)
    • 系统设置、默认应用(终端、文本编辑器等)、图标主题、外观主题等。

  • 例子:Kali Linux 默认的 Xfce4,还有 GNOME, KDE Plasma。
 
受限于篇幅限制,这篇博客先讲到这里吧,其实是作者今天之解决到这里了,肚子饿了,方向应该是正确的

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册