From 4ecf8808373e58d1def4316aeaee67e367432c9c Mon Sep 17 00:00:00 2001 From: Peter Jung Date: Fri, 16 Jan 2026 16:03:09 +0100 Subject: [PATCH] displaymanager: Switch to sddm on the ISO Signed-off-by: Peter Jung --- archiso/airootfs/etc/plasmalogin.conf | 8 +++++++ .../etc/plasmalogin.conf.d/autologin.conf | 8 +++++++ .../airootfs/etc/sddm.conf.d/autologin.conf | 15 ------------- .../usr/local/bin/calamares-online.sh | 2 +- archiso/airootfs/usr/local/bin/dmcheck | 4 ++++ archiso/airootfs/usr/local/bin/pkexec-wrapper | 10 +++++++++ .../airootfs/usr/local/bin/removeun-online | 1 + archiso/packages_desktop.x86_64 | 21 ++----------------- archiso/profiledef.sh | 1 + util-iso.sh | 2 +- 10 files changed, 36 insertions(+), 36 deletions(-) create mode 100644 archiso/airootfs/etc/plasmalogin.conf create mode 100644 archiso/airootfs/etc/plasmalogin.conf.d/autologin.conf delete mode 100644 archiso/airootfs/etc/sddm.conf.d/autologin.conf create mode 100755 archiso/airootfs/usr/local/bin/pkexec-wrapper diff --git a/archiso/airootfs/etc/plasmalogin.conf b/archiso/airootfs/etc/plasmalogin.conf new file mode 100644 index 0000000..281528f --- /dev/null +++ b/archiso/airootfs/etc/plasmalogin.conf @@ -0,0 +1,8 @@ +[Autologin] +User=liveuser +Session=plasma.desktop +Relogin=false + +[Users] +MinimumUid=100 +MaximumUid=60000 diff --git a/archiso/airootfs/etc/plasmalogin.conf.d/autologin.conf b/archiso/airootfs/etc/plasmalogin.conf.d/autologin.conf new file mode 100644 index 0000000..281528f --- /dev/null +++ b/archiso/airootfs/etc/plasmalogin.conf.d/autologin.conf @@ -0,0 +1,8 @@ +[Autologin] +User=liveuser +Session=plasma.desktop +Relogin=false + +[Users] +MinimumUid=100 +MaximumUid=60000 diff --git a/archiso/airootfs/etc/sddm.conf.d/autologin.conf b/archiso/airootfs/etc/sddm.conf.d/autologin.conf deleted file mode 100644 index 111f31a..0000000 --- a/archiso/airootfs/etc/sddm.conf.d/autologin.conf +++ /dev/null @@ -1,15 +0,0 @@ -[Autologin] -Relogin=false -Session=plasmax11 -User=liveuser - -[General] -HaltCommand=/usr/bin/systemctl poweroff -RebootCommand=/usr/bin/systemctl reboot - -[Theme] -Current=breeze - -[Users] -MaximumUid=60000 -MinimumUid=1000 diff --git a/archiso/airootfs/usr/local/bin/calamares-online.sh b/archiso/airootfs/usr/local/bin/calamares-online.sh index 06654bc..b587323 100755 --- a/archiso/airootfs/usr/local/bin/calamares-online.sh +++ b/archiso/airootfs/usr/local/bin/calamares-online.sh @@ -45,7 +45,7 @@ main() { EOF sudo cp "/usr/share/calamares/settings_${mode}.conf" /etc/calamares/settings.conf - sudo -E dbus-launch calamares -D6 >> $log & + exec pkexec-wrapper calamares -D6 >> $log } main "$@" diff --git a/archiso/airootfs/usr/local/bin/dmcheck b/archiso/airootfs/usr/local/bin/dmcheck index afbff50..3fd00c9 100755 --- a/archiso/airootfs/usr/local/bin/dmcheck +++ b/archiso/airootfs/usr/local/bin/dmcheck @@ -19,6 +19,10 @@ package=ly if pacman -Qs $package > /dev/null ; then ln -sf /usr/lib/systemd/system/ly.service /etc/systemd/system/display-manager.service fi +package=plasma-login-manager +if pacman -Qs $package > /dev/null ; then + ln -sf /usr/lib/systemd/system/plasmalogin.service /etc/systemd/system/display-manager.service +fi package=sddm if pacman -Qs $package > /dev/null ; then ln -sf /usr/lib/systemd/system/sddm.service /etc/systemd/system/display-manager.service diff --git a/archiso/airootfs/usr/local/bin/pkexec-wrapper b/archiso/airootfs/usr/local/bin/pkexec-wrapper new file mode 100755 index 0000000..e3412cb --- /dev/null +++ b/archiso/airootfs/usr/local/bin/pkexec-wrapper @@ -0,0 +1,10 @@ +#!/usr/bin/env sh +exec pkexec env \ + DISPLAY="$DISPLAY" \ + HOME="$HOME" \ + KDE_SESSION_VERSION="$KDE_SESSION_VERSION" \ + WAYLAND_DISPLAY="$WAYLAND_DISPLAY" \ + XDG_CURRENT_DESKTOP="$XDG_CURRENT_DESKTOP" \ + XDG_SESSION_TYPE="$XDG_SESSION_TYPE" \ + XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" \ + dbus-launch "$@" diff --git a/archiso/airootfs/usr/local/bin/removeun-online b/archiso/airootfs/usr/local/bin/removeun-online index 6266add..78a7806 100755 --- a/archiso/airootfs/usr/local/bin/removeun-online +++ b/archiso/airootfs/usr/local/bin/removeun-online @@ -17,6 +17,7 @@ _clean_packages() { # for xxx in "${_toberemoved_packages[@]}"; do pacman -Rs "$xxx" --noconfirm; done rm /etc/sddm.conf || true + rm /etc/plasmalogin.conf || true } _pacman_fix() { diff --git a/archiso/packages_desktop.x86_64 b/archiso/packages_desktop.x86_64 index 451c9fb..27715de 100644 --- a/archiso/packages_desktop.x86_64 +++ b/archiso/packages_desktop.x86_64 @@ -24,7 +24,6 @@ cachyos-keyring cachyos-mirrorlist cachyos-rate-mirrors cachyos-settings -cachyos-themes-sddm cachyos-v3-mirrorlist cachyos-v4-mirrorlist chwd @@ -143,7 +142,6 @@ plasma-integration plasma-nm plasma-pa plasma-workspace -plasma-x11-session polkit polkit-kde-agent power-profiles-daemon @@ -155,7 +153,7 @@ rp-pppoe rsync rtkit rxvt-unicode-terminfo -sddm +plasma-login-manager sdparm sg3_utils smartmontools @@ -191,22 +189,7 @@ wpa_supplicant wvdial xdg-user-dirs-gtk xdg-utils -xf86-input-elographics -xf86-input-evdev -xf86-input-libinput -xf86-input-synaptics -xf86-input-vmmouse -xf86-input-void -xf86-video-amdgpu -xf86-video-fbdev -xf86-video-nouveau -xf86-video-qxl -xf86-video-vmware xfsprogs xl2tpd -xorg-server -xorg-xinit -xorg-xkill -xorg-xrandr -xorg-xrdb +yad zfs-utils diff --git a/archiso/profiledef.sh b/archiso/profiledef.sh index 48d0a2e..ce4a089 100644 --- a/archiso/profiledef.sh +++ b/archiso/profiledef.sh @@ -33,4 +33,5 @@ file_permissions=( ["/usr/local/bin/removeun-online"]="0:0:755" ["/usr/local/bin/prepare-live-desktop.sh"]="0:0:755" ["/usr/local/bin/nvidia-module-loader"]="0:0:755" + ["/usr/local/bin/pkexec-wrapper"]="0:0:755" ) diff --git a/util-iso.sh b/util-iso.sh index 2e79113..3b8f6bf 100755 --- a/util-iso.sh +++ b/util-iso.sh @@ -140,7 +140,7 @@ prepare_profile(){ rm -f ${src_dir}/archiso/airootfs/etc/systemd/system/display-manager.service if [ "$profile" == "desktop" ]; then cp ${src_dir}/archiso/packages_desktop.x86_64 ${src_dir}/archiso/packages.x86_64 - ln -sf /usr/lib/systemd/system/sddm.service ${src_dir}/archiso/airootfs/etc/systemd/system/display-manager.service + ln -sf /usr/lib/systemd/system/plasmalogin.service ${src_dir}/archiso/airootfs/etc/systemd/system/display-manager.service else die "Unknown profile: [%s]" "${profile}" fi