Tomas-M / linux-live

Linux Live Kit
http://www.linux-live.org/
1.01k stars 252 forks source link

LXQt sddm bundle black screen #172

Closed bert003 closed 3 years ago

bert003 commented 3 years ago

When I install:

apt-get install -y --no-install-recommends xserver-xorg xserver-xorg-video-all lxqt pcmanfm-qt openbox obconf-qt compton compton-conf sddm lxterminal

and create a bundle, then I boot and, once the boot process finishes with Starting Graphical Display Manager, I only get a black screen with no mouse pointer.

Any help please? Am I missing a package?

bert003 commented 3 years ago

The above command were run after I create a live build on a standard Debian installation (no GUI).

Just now, I took a look at the LXQT and SDDM packages of the Debian live LXQT ISO (https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-11.0.0-amd64-lxqt.packages), installed them with --no-install-recommends, created a bundle but when I boot, a black screen appears after Starting Graphical Display Manager with not even a mouse pointer.

@Tomas-M Could there be something wrong with savechanges? Maybe it is excluding files which are in fact required? Is there a way that I can check what's happening via the logs?

I appreciate your help since I am at a standstill at this point.

bert003 commented 3 years ago

I just found it the issue of my black screen with mouse cursor as regards sddm.

For some reason, /var/lib/sddm is not being included in the bundle.

@Tomas-M can you kindly explain what is being excluded here?

EXCLUDE="^\$|/\$|[.]wh[.][.]wh[.]orph/|^[.]wh[.][.]wh[.]plnk/|^[.]wh[.][.]wh[.]aufs|^var/cache/|^var/backups/|^var/tmp/|^var/log/|^var/lib/apt/|^var/lib/dhcp/|^var/lib/systemd/|^sbin/fsck[.]aufs|^etc/resolv[.]conf|^root/[.]Xauthority|^root/[.]xsession-errors|^root/[.]fehbg|^root/[.]fluxbox/lastwallpaper|^root/[.]fluxbox/menu_resolution|^etc/mtab|^etc/fstab|^boot/|^dev/|^mnt/|^proc/|^run/|^sys/|^tmp/"

find \( -type d -printf "%p/\n" , -not -type d -print \) \
  | sed -r "s/^[.]\\///" | egrep -v "$EXCLUDE" \

When I remove ^\$|/\$ from the EXCLUDE string, /var/lib/sddm is included as well.

And what is the reason behind find first searching for -type d and then -not -type d?

UPDATE: It seems that the savechanges script is searching for files and so it is skipping empty directories. However, for sddm to work it needs to have an empty /var/lib/sddm owned by sddm with mod 0750.

bert003 commented 3 years ago

UPDATE 2:

I modified the script as follows and now everything works:

  1. Removed trailing slashes from EXCLUDE and added ^\.$

    EXCLUDE="^\$|^\.$|/\$|[.]wh[.][.]wh[.]orph|^[.]wh[.][.]wh[.]plnk|^[.]wh[.][.]wh[.]aufs|^var/cache|^var/backups|^var/tmp|^var/log|^var/lib/apt|^var/lib/dhcp|^var/lib/systemd|^sbin/fsck[.]aufs|^etc/resolv[.]conf|^root/[.]Xauthority|^root/[.]xsession-errors|^root/[.]fehbg|^root/[.]fluxbox/lastwallpaper|^root/[.]fluxbox/menu_resolution|^etc/mtab|^etc/fstab|^boot|^dev|^mnt|^proc|^run|^sys|^tmp"
  2. Modified findcommand as follows: find -print | sed -r "s/^[.]\\///" | egrep -v "$EXCLUDE" | xargs -I{} cp --parents -afr "{}" "$TMP"

Hope it helps someone.