Mohlo by se hodit.
To tak jednou za mnou přijde potomek a říká "už týden mi nejde spustit notebook a pozítří potřebuju mít vypracovanou úlohu".
To chceš! Hlavně když jsem do toho před dvěma týdny nainstaloval nový Arch s Plasmou a Hyprlandem.
Co se stalo, zůstalo bez odpovědi.
Ok jdu na to. Zapnu noťák, normální splash a najednou probleskne chyba a zůstane černá obrazovka s blikajícím kurzorem v levém horním rohu.
Nereaguje to a ani po pěti minutách se nic neděje. Zkusím přepnout do VT (ctrl+alt+F3). Jupí, úspěch. Přihlásím se. Funguje to. Zkusím spustit Hyprland
dbus-run-session hyprland
Naskočí a funguje normálně. Kouknu, přibyl steam a určitě něco dalšího ještě. Problém musí být s sddm. kouknu do logu
journalctl -u sddm --no-pager | tail -n 50
A tam se objeví mimo jiné i
[1967]: Writing cookie to "/tmp/xauth_xwZHLi"
[1967]: Starting X11 session: "" "/usr/bin/sddm-greeter --socket /tmp/sddm-:0-AxZkmw --theme /usr/…"
Greeter session started successfully
[1967]: [PAM] Closing session
[1967]: pam_unix(sddm-greeter:session): session closed for user sddm
[1967]: [PAM] Ended.
Auth: sddm-helper exited with 127
Greeter stopped. SDDM::Auth::HelperExitStatus(127)
Takže chyba je ve spuštění `/usr/bin/sddm-greeter --socket /tmp/sddm-:0-AxZkmw --theme /usr/…`
Koukneme se co to chce. Nejdřív kouknem jestli to má všechny knihovny:
ldd /usr/bin/sddm-greeter
Hezky, chce to knihovny QT5 a ty nejsou nalezeny (Not found). Nainstaluju je. Reboot a už jsem v přihlašovacím okně.
Na opětovný dotaz co se tam instalovalo, jsem se dozvěděl že cool téma.
Příkaz `ldd` je dalším z důležitých diagnostických příkazů který je dobré znát. Ukáže co za knihovny program potřebuje.
Ale pozor, `ldd` zároveň ten program spustí! Takže to není dobré na testování programu neznámého nebo s neznámým původem.
Více na
man ldd