Search

260522_1150_GNOME Display Failure 우분투 PC가 안보여요!: Black Monitor, GDM Crash, and Recovery

GNOME Display Failure: Black Monitor, GDM Crash, and Recovery

Host: user-System-Product-Name (ASUS Pro WS WRX90E-SAGE SE)
OS: Ubuntu 24.04.4 LTS (Noble), kernel 6.17.0-29-generic
Status after fix: Resolved — GDM active, session desktop files restored

Table of Contents

Executive Summary

The monitor showed no graphical login screen because GNOME Display Manager (GDM) crashed in a loop with the error:
Gdm: GdmSession: no session desktop files installed, aborting...
Plain Text
복사
The underlying problem was that critical session packages had been removed, including ubuntu-session, which installs the .desktop session definitions under /usr/share/xsessions/ and /usr/share/wayland-sessions/. Without those files, GDM cannot start any desktop session and aborts (signal TRAP, core-dump).
Secondary boot messages (gpu-manager.service, NetworkManager-wait-online.service) were misleading or side effects; they were not the primary reason for the black screen.
Fix: Reinstall ubuntu-session and ubuntu-desktop-minimal, then restart GDM.

Symptoms

User-visible behavior

Symptom
Description
Black / blank monitor
No GNOME login screen, no desktop after boot
Boot may otherwise complete
System can still be reachable via SSH or serial console
Repeated failure at graphical target
graphical.target is set, but no usable GUI session

Messages shown at boot (TTY / systemd)

The user reported messages similar to:
[FAILED] Failed to start gpu-manager.service - Detect the available GPUs and deal with any system changes. [FAILED] Failed to start gdm.service - GNOME Display Manager. [FAILED] Failed to start NetworkManager-wait-online.service - Network Manager Wait Online.
Plain Text
복사
(Typographical variants like gpu-manager.seruice / NetworkManager-wait-online.seruice are display or transcription errors; the actual unit names use .service.)

gdm.service state (before fix)

Active: failed (Result: core-dump) Main PID: ... (code=dumped, signal=TRAP) gdm.service: Start request repeated too quickly. gdm.service: Scheduled restart job, restart counter is at 12.
Plain Text
복사
GDM attempted to restart many times, hit systemd’s rate limit, and then stayed failed.

Misleading secondary failures

Service
Observed behavior
Relation to black screen
gpu-manager.service
Sometimes start-limit-hit during GDM restart storm; otherwise exited successfully
Not root cause — triggered by rapid restarts alongside GDM
NetworkManager-wait-online.service
Timed out waiting for network online within ~60s
Unrelated to display — affects boot ordering / network-dependent services only

What Was Not the Cause

Investigation ruled out several common hypotheses:

1. NVIDIA driver / GPU hardware failure

nvidia-smi worked correctly.
Driver: 580.159.03, kernel module loaded.
Two NVIDIA H200 NVL GPUs detected (PCI:01:00.0, PCI:F1:00.0).
gpu-manager.log ended with: Nothing to do (no misconfiguration requiring offload changes).

2. Missing /dev/dri devices

/dev/dri/card0, card1, card2 and renderD128, renderD129 were present.

3. gpu-manager as primary failure

On successful runs, gpu-manager.service finished with status=0/SUCCESS.
Failure entries correlated with GDM repeatedly starting/stopping GPU detection, not with GPU detection logic itself.

4. Network wait blocking the display stack directly

NetworkManager-wait-online failure does not prevent GDM from starting; it only marks a dependency unit failed for boot “online” networking.

Root Cause

Missing session desktop files

GDM requires at least one session definition in:
/usr/share/xsessions/*.desktop (X11 sessions)
/usr/share/wayland-sessions/*.desktop (Wayland sessions)
Before the incident, both directories were entirely absent on disk:
ls /usr/share/xsessions/ # No such file or directory ls /usr/share/wayland-sessions/ # No such file or directory
Bash
복사
The package ubuntu-session (not merely gnome-session-bin) provides Ubuntu’s default session entries, e.g.:
ubuntu.desktop
ubuntu-wayland.desktop
With ubuntu-session removed, GDM logs:
Gdm: GdmSession: no session desktop files installed, aborting...
Plain Text
복사
and then crashes (signal=TRAP, core-dump).

How the packages were removed

APT history (/var/log/apt/history.log) records an operation on 2026-05-21 16:53:18:
Commandline: apt install -y libfuse2 fuse
Plain Text
복사
That install removed (among others):
Package
Role
ubuntu-session
Session .desktop files for GDM
ubuntu-desktop-minimal
Meta-package pulling minimal Ubuntu GNOME desktop stack
nautilus
File manager
xdg-desktop-portal, xdg-desktop-portal-gnome, xdg-desktop-portal-gtk
Desktop integration / sandbox portals
gnome-remote-desktop, gvfs-fuse, fuse3, fuse-overlayfs, etc.
Related desktop/fuse stack
Interpretation: Installing legacy FUSE v2 (fuse / libfuse2) conflicted with packages that depend on FUSE3 (fuse3). APT resolved the conflict by removing the FUSE3-dependent desktop stack, including ubuntu-session. Core components like gdm3, gnome-shell, and gnome-session-bin remained installed, so the system looked “partially GNOME” but could not present a login session.

Why the screen stayed black

Boot flow (simplified):
flowchart TD
    A[systemd reaches graphical.target] --> B[gdm.service starts]
    B --> C{Session .desktop files exist?}
    C -->|No| D[GDM: no session desktop files installed]
    D --> E[GDM aborts - TRAP / core-dump]
    E --> F[systemd restarts GDM]
    F --> G{Restart limit hit?}
    G -->|Yes| H[gdm.service failed permanently]
    H --> I[Black monitor - no login UI]
    C -->|Yes| J[GDM shows login screen]
    J --> K[User session starts - GNOME Shell]
Mermaid
복사

Diagnostic Process

Recommended order of checks for similar incidents:

Step 1 — Confirm GDM failure

systemctl status gdm.service journalctl -b -u gdm.service --no-pager -n 50
Bash
복사
Look for: no session desktop files installed, core-dump, TRAP, Start request repeated too quickly.

Step 2 — Verify session directories

ls -la /usr/share/xsessions/ ls -la /usr/share/wayland-sessions/
Bash
복사
Empty or missing directories strongly indicate missing ubuntu-session (or equivalent session package).

Step 3 — Check package installation state

dpkg -l ubuntu-session ubuntu-desktop-minimal apt list --installed 2>/dev/null | grep -E 'ubuntu-session|ubuntu-desktop'
Bash
복사
un / not installed for ubuntu-session confirms the diagnosis.

Step 4 — Correlate with APT history

grep -E 'ubuntu-session|ubuntu-desktop-minimal|Remove:' /var/log/apt/history.log | tail -20
Bash
복사
Identifies when and what command removed the session packages.

Step 5 — Rule out GPU issues (optional, this host)

nvidia-smi lspci | grep -iE 'vga|3d|display' cat /var/log/gpu-manager.log | tail -30
Bash
복사

Step 6 — Do not over-focus on secondary failed units

systemctl status gpu-manager.service NetworkManager-wait-online.service
Bash
복사
Interpret these only after GDM/session health is established.

Evidence

Critical journal lines (GDM)

gdm3[...]: Gdm: GdmSession: no session desktop files installed, aborting... systemd[1]: gdm.service: Main process exited, code=dumped, status=5/TRAP systemd[1]: gdm.service: Failed with result 'core-dump'. systemd[1]: gdm.service: Start request repeated too quickly.
Plain Text
복사

Packages still installed while sessions were missing

gdm3, gnome-shell, gnome-session-bin, and gnome-session-common remained installed (ii state). Only the session registration layer (ubuntu-session) was gone — a subtle failure mode.

APT removal record (excerpt)

Start-Date: 2026-05-21 16:53:18 Commandline: apt install -y libfuse2 fuse Remove: ... ubuntu-session:amd64 (46.0-1ubuntu4), ubuntu-desktop-minimal:amd64 (1.539.2), ... End-Date: 2026-05-21 16:53:39
Plain Text
복사

APT reinstall record (fix)

Start-Date: 2026-05-21 18:37:23 Commandline: apt install --reinstall ubuntu-session ubuntu-desktop-minimal Install: ubuntu-session:amd64 (46.0-1ubuntu4), ubuntu-desktop-minimal:amd64 (1.539.2), ... End-Date: 2026-05-21 18:37:55
Plain Text
복사

Resolution

Commands applied (successful)

sudo apt update sudo apt install --reinstall ubuntu-session ubuntu-desktop-minimal sudo systemctl restart gdm
Bash
복사

What these packages restore

Package
Restores
ubuntu-session
/usr/share/xsessions/ubuntu.desktop, /usr/share/wayland-sessions/ubuntu-wayland.desktop
ubuntu-desktop-minimal
Meta-package; pulls back minimal GNOME desktop dependencies (e.g. nautilus, portal packages) removed in the same APT transaction

Alternative / broader repair

If problems persist or more desktop components are missing:
sudo apt install --reinstall ubuntu-desktop-minimal ubuntu-session gdm3 # or, for a full desktop meta-package (heavier): # sudo apt install ubuntu-desktop
Bash
복사

If GDM does not recover after reinstall

sudo systemctl reset-failed gdm gpu-manager sudo systemctl restart gdm journalctl -u gdm -n 30 --no-pager
Bash
복사

Verification After Fix

GDM active

systemctl is-active gdm # expected: active
Bash
복사

Session files present

ls /usr/share/wayland-sessions/ # expected: ubuntu.desktop ubuntu-wayland.desktop
Bash
복사

User login

Journal showed successful password authentication:
gdm-password[...]: pam_unix(gdm-password:session): session opened for user user(uid=1000) gdm-password[...]: gkr-pam: unlocked login keyring
Plain Text
복사

Hardware Notes

This machine is a workstation/server-class board with multiple graphics devices:
Device
PCI role
Display notes
ASPEED Graphics (BMC)
VGA compatible, boot VGA
Typical output for IPMI/KVM or onboard VGA port
NVIDIA H200 NVL ×2
3D controller, Disp.A: Off in nvidia-smi
Compute GPUs; may not drive a monitor unless explicitly configured for display
For future display troubleshooting after GDM is healthy:
Confirm the monitor is cabled to a port that actually outputs (often ASPEED VGA on this chassis, not NVIDIA).
NVIDIA “Disp.A: Off” alone does not explain a GDM session-file crash; it only matters once the login stack works.

Prevention

1.
Avoid blind apt install of legacy FUSE2 (fuse, libfuse2) on Ubuntu 24.04 desktop systems without checking what APT will remove. Run:
apt install --simulate fuse libfuse2
Bash
복사
and inspect the Removes: line.
2.
Before removing meta-packages (ubuntu-desktop-minimal, ubuntu-session), verify nothing depends on session files for GDM.
3.
After any desktop-related package change, verify:
test -d /usr/share/wayland-sessions && ls /usr/share/wayland-sessions/ systemctl is-active gdm
Bash
복사
4.
Keep SSH or console access on headless/GPU servers so GDM failures can be fixed without a working monitor.
5.
Document intentional package removals in /var/log/apt/history.log — that log was decisive for finding the fuse / libfuse2 trigger on this host.

Quick Reference

Question
Answer
Why black screen?
GDM crashed: no session .desktop files
Main culprit package?
ubuntu-session removed
Triggering apt command?
apt install -y libfuse2 fuse (2026-05-21 16:53)
Fix?
Reinstall ubuntu-session + ubuntu-desktop-minimal, restart gdm
Were NVIDIA GPUs broken?
No — drivers worked; not the primary issue
Was gpu-manager the root cause?
No — side effect / rate limit during GDM crash loop
Was network wait the root cause?
No — unrelated to display session startup

안녕하세요

관련 기술 문의와 R&D 공동 연구 사업 관련 문의는 “glory@keti.re.kr”로 연락 부탁드립니다.

Hello

For technical and business inquiries, please contact me at “glory@keti.re.kr”