Blackscreen with Mousecursor visible after login (but other user works)

Hello everyone, yesterday something really weird happened.

I’ve downloaded the latest .Appimage for Ultimaker Cura
https://github.com/Ultimaker/Cura/releases/download/5.6.0/UltiMaker-Cura-5.6.0-linux-X64.AppImage
but after launching it, Dolphin crashed, followed by KDE Plasma.

I was able to ctrl + alt fX to another session and did a reboot.

From that time on, after I typed my password into the login screen, it starts to load (spinning icon appears) but the white progress bar, which normally follows, did not appear.

Instead it boots to a black screen with the mouse cursor visible.

I ctrl + alt'ed to another session again and did a pacman -Syuu to install the latest updates, still the same issue.

I started seeking through journal ctl and found something AppImage related:

“Scheduling for (re-) Integration: /home/dot/.Xauthority-c”
“Scheduling for unintegration: /home/dot/.Xauthority-c”
“Scheduling for unintegration: /home/dot/.Xauthority-l”
“ERROR: file does not exist, cannot integrate”

Other relevant findings:

xdg-desktop-portal.service: start operation timed out. Terminating. Failed with result 'timeout'

I tried ctrl + alt’ing to another session and typed “startx” as suggested in another thread, which immediately closed after starting.

I noticed that my ~/.xinitrc contained “#DEFAULT_SESSION=startkde” so I replaced that line with “DEFAULT_SESSION=startplasma-x11”. which eventually got me to the same behavior as described above. (Black screen with mouse cursor visible).

In my desperation I created another user with useradd/adduser and tried to log in. It works without any issues.

So I think it’s somehow related to my profile. And here is where I struggle, bc I’m not experienced with the whole X, KDE, SDDM stuff.

What I’ve tried so far:

  • mv ~/.config/plasma-workspace ~/.config/plasma-workspace.bak
  • rm -r ~/.cache
  • mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
  • removed appimagelauncher from the system
  • kbuildsycoca5 --noincremental → consumes all available memeory and crashed with

kbuildsycoca5 running…
terminate called after throwing an instance of ‘std::bad_alloc’
what(): std::bad_alloc

I managed to get the journalctl logs.

For the blackscreen login:

For the sucessful login (newly created user):

From the failed session this got my attention:

Dez 13 14:59:12 dot-pc dbus-daemon[1269]: [session uid=1001 pid=1267] Activating service name=‘org.freedesktop.systemd1’ requested by ‘:1.0’ (uid=1001 pid=1261 comm=“startplasma-x11”)
Dez 13 14:59:12 dot-pc dbus-daemon[1269]: [session uid=1001 pid=1267] Activated service ‘org.freedesktop.systemd1’ failed: Process org.freedesktop.systemd1 exited with status 1

It seems like startplasma-x11 can not be executed succesfully.

You are right :ok_hand:

All configuration for your profile resides at /home/dot/*

What i did (years ago) was to rename one folder after the other. Then re-login and see if the problem for the user is solved

What i would do:

  1. log into console (via CTRL+ALT+F3)
    there use mc to:
  2. Rename all folders under /home/dot/* into another name.
    for example /home/dot/.config → /home/dot/.config_old
  3. log into console (via CTRL+ALT+F4) and
    startx
    if it fails, stop it and try the next group of folders.

Be carefull when renaming, do not work as root for this !
:footprints:

since it complains about xauthority, delete all xauthority files from your home directory:
find $HOME/ -name ".Xauthority"
reboot and see if it helped

Deleting it did not help.

I would scratch my head if it did, since I already tried replacing my .Xauthority with the /etc/skel version of the file.

Oh boy, what a tiresome work.

BUT, there is something new:

I logged in with my backup user and su’d to the “dot” user. I wanted to launch “dolphin” to have a GUI for renaming.

I’ve got the following error:

[…]$ dolphin
Authorization required, but no authorization protocol specified

qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin “xcb” in “” even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb."

ldd /usr/lib/qt/plugins/platforms/libqxcb.so outputs:

    linux-vdso.so.1 (0x00007ffeb854e000)
    libQt5XcbQpa.so.5 => /usr/lib/libQt5XcbQpa.so.5 (0x00007f2e563d2000)
    libQt5Gui.so.5 => /usr/lib/libQt5Gui.so.5 (0x00007f2e55c00000)
    libQt5Core.so.5 => /usr/lib/libQt5Core.so.5 (0x00007f2e55600000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f2e55200000)
    libc.so.6 => /usr/lib/libc.so.6 (0x00007f2e5501e000)
    libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f2e56383000)
    libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f2e562b3000)
    libQt5DBus.so.5 => /usr/lib/libQt5DBus.so.5 (0x00007f2e55b7f000)
    libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007f2e562ae000)
    libxcb-icccm.so.4 => /usr/lib/libxcb-icccm.so.4 (0x00007f2e562a7000)
    libxcb-image.so.0 => /usr/lib/libxcb-image.so.0 (0x00007f2e562a1000)
    libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007f2e5629c000)
    libxcb-keysyms.so.1 => /usr/lib/libxcb-keysyms.so.1 (0x00007f2e56295000)
    libxcb-randr.so.0 => /usr/lib/libxcb-randr.so.0 (0x00007f2e56283000)
    libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 (0x00007f2e5627d000)
    libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f2e55b70000)
    libxcb-shape.so.0 => /usr/lib/libxcb-shape.so.0 (0x00007f2e55b6a000)
    libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007f2e55b61000)
    libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0x00007f2e55b56000)
    libxcb-xinerama.so.0 => /usr/lib/libxcb-xinerama.so.0 (0x00007f2e55b51000)
    libxcb-xkb.so.1 => /usr/lib/libxcb-xkb.so.1 (0x00007f2e555e1000)
    libxcb-xinput.so.0 => /usr/lib/libxcb-xinput.so.0 (0x00007f2e555bc000)
    libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f2e55591000)
    libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f2e54edb000)
    libSM.so.6 => /usr/lib/libSM.so.6 (0x00007f2e55b44000)
    libICE.so.6 => /usr/lib/libICE.so.6 (0x00007f2e55573000)
    libxkbcommon-x11.so.0 => /usr/lib/libxkbcommon-x11.so.0 (0x00007f2e55b3b000)
    libxkbcommon.so.0 => /usr/lib/libxkbcommon.so.0 (0x00007f2e5552a000)
    libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f2e54d8f000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f2e55505000)
    libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f2e5547f000)
    libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f2e54d55000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00007f2e54d3b000)
    libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007f2e54c2d000)
    libmd4c.so.0 => /usr/lib/libmd4c.so.0 (0x00007f2e54c17000)
    libm.so.6 => /usr/lib/libm.so.6 (0x00007f2e54b2a000)
    libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007f2e54a36000)
    libdouble-conversion.so.3 => /usr/lib/libdouble-conversion.so.3 (0x00007f2e54a20000)
    libicui18n.so.73 => /usr/lib/libicui18n.so.73 (0x00007f2e54600000)
    libicuuc.so.73 => /usr/lib/libicuuc.so.73 (0x00007f2e54200000)
    libpcre2-16.so.0 => /usr/lib/libpcre2-16.so.0 (0x00007f2e54992000)
    libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007f2e5452d000)
    /usr/lib64/ld-linux-x86-64.so.2 (0x00007f2e56555000)
    libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f2e54967000)
    libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f2e54954000)
    libbrotlidec.so.1 => /usr/lib/libbrotlidec.so.1 (0x00007f2e5451e000)
    libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f2e544cd000)
    libxcb-util.so.1 => /usr/lib/libxcb-util.so.1 (0x00007f2e5494b000)
    libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f2e54946000)
    libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f2e544c5000)
    libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007f2e544bc000)
    libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x00007f2e54421000)
    libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007f2e54148000)
    libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007f2e54116000)
    libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f2e540f3000)
    libcap.so.2 => /usr/lib/libcap.so.2 (0x00007f2e54413000)
    libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007f2e53faa000)
    liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007f2e53f88000)
    liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f2e53f55000)
    libicudata.so.73 => /usr/lib/libicudata.so.73 (0x00007f2e52000000)
    libbrotlicommon.so.1 => /usr/lib/libbrotlicommon.so.1 (0x00007f2e53f32000)
    libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f2e53f0c000)

Launching dolphin with the backup user via cli works just fine.

did you removed the cura package?
post output from:
mhwd -l -li
ls /etc/modprobe.d
find /etc/X11/ -name "*.conf"

and under the new user everything works?

This seems like a simple approach at first. However, it has the disadvantage that there is a risk of leaving behind files that then belong to root. :see_no_evil:
This makes it easy to go from bad to worse.

A simple “graphical” file manager (like mc) in the console that is then called under the user dot (not by root) would be less risky.
:footprints:

Yes, I’ve moved the config from ~/.config/cura to my desktop to make sure it’s not loaded somehow and then removed the .appimage.

mhwd -l -li

> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
         network-r8168            2023.09.12                true            PCI
           video-linux            2018.05.04                true            PCI


Warning: No installed USB configs!
> 0000:29:00.0 (0300:1002:73df) Display controller ATI Technologies Inc:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI


> 0000:22:00.0 (0200:10ec:8168) Network controller Realtek Semiconductor Co., Ltd.:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
         network-r8168            2023.09.12                true            PCI

ls /etc/modprobe.d

mhwd-gpu.conf  r8169_blacklist.conf

find /etc/X11/ -name “*.conf”

/etc/X11/xorg.conf.d/90-mhwd.conf
/etc/X11/xorg.conf.d/00-keyboard.conf
/etc/X11/xorg.conf

Yes, I’m currently logged in as the newly created user and writing this text. It works fine.

Oh man, I thought you mistyped “mv” for “mc”.

Will try your suggestion of renaming everything but this will take a while.

Other maybe relevant information:

I’ve tried running “kbuildsycoca5 --noincremental” from the cli of the broken user:

kbuildsycoca5 running...
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

It consumes all available memory (16 GB) and then crashes after that.

1 Like

remove this:
sudo rm /etc/X11/xorg.conf
reboot and test …

I moved it to “xorg.conf.bak”, which should have the same effect, right?

Did not help.

I managed to get more detailed logs from my journalctl by booting, extracting, rebooting, extracting again.

I’ve updated the first post with the most relevant information at the end.

did you reverted this modification back?

No, since reverting it would break “startx” again.

But I’ve found the culprit via trial and error thanks to andreas85’s method.

Moving ~/.local/share/mime to ~/.local/share/mime.bak/ fixed the blackscreen issue for me.

This topic was automatically closed 3 hours after the last reply. New replies are no longer allowed.