feat(deck): Autologin to Plasma

Currently the user will boot to SDDM upon initial install. This is
not entirely optimal as the default session in SDDM is gamescope
session which is not usable without first updating Steam. This
addresses that by using the same logic we use for gamescope autologin
to login to Plasma on first boot

This commit also simplifies the logic in gamescope-autologin
This commit is contained in:
RJ Trujillo 2023-07-11 17:34:52 -06:00
parent 19b818338e
commit 8c58e65fad
4 changed files with 44 additions and 16 deletions

View File

@ -160,6 +160,7 @@ RUN sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-bazzite.re
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-hl2linux-selinux.repo && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-obs-vkcapture.repo && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-wallpaper-engine-kde-plugin.repo && \
systemctl enable plasma-autologin.service && \
systemctl enable jupiter-fan-control.service && \
systemctl enable set-cfs-tweaks.service && \
systemctl disable input-remapper.service && \

View File

@ -1,19 +1,18 @@
#!/bin/bash
NUM_USERS=$(ls /home | wc -l)
#!/usr/bin/env bash
# If we have multiple users, don't configure SDDM
NUM_USERS=$(ls /home | wc -l)
USER=$(ls /home)
# SteamOS SDDM config
SDDM_CONF='/etc/sddm.conf.d/steamos.conf'
# Configure autologin
sed -i 's/.*Session=.*/Session=gamescope-session.desktop/g' ${SDDM_CONF}
if [ ${NUM_USERS} -eq 1 ]; then
# Don't configure SDDM if we already have
SDDM_CONF=$(cat /etc/sddm.conf.d/steamos.conf)
if grep '#User=' <<< ${SDDM_CONF}; then
# Retrieve username
USER=$(ls /home)
# Configure autologin
sed -i 's/#User=/User='${USER}'/g' /etc/sddm.conf.d/steamos.conf
touch /etc/sddm.conf.d/zz-steamos-autologin.conf
# Remove sddm.conf if it exists
if [ -f '/etc/sddm.conf' ]; then
rm -f /etc/sddm.conf
fi
fi
sed -i 's/.*User=.*/User='${USER}'/g' ${SDDM_CONF}
fi
# Remove sddm.conf if it exists
if [ -f '/etc/sddm.conf' ]; then
rm -f /etc/sddm.conf
fi

View File

@ -0,0 +1,18 @@
#!/usr/bin/env bash
NUM_USERS=$(ls /home | wc -l)
USER=$(ls /home)
# SteamOS SDDM config
SDDM_CONF='/etc/sddm.conf.d/steamos.conf'
# Configure autologin
sed -i 's/.*Session=.*/Session=plasmax11.desktop/g' ${SDDM_CONF}
if [ ${NUM_USERS} -eq 1 ]; then
sed -i 's/.*User=.*/User='${USER}'/g' ${SDDM_CONF}
fi
# Remove sddm.conf if it exists
if [ -f '/etc/sddm.conf' ]; then
rm -f /etc/sddm.conf
fi

View File

@ -0,0 +1,10 @@
[Unit]
Description=Enables autologin to Plasma (X11)
Before=display-manager.service
[Service]
Type=oneshot
ExecStart=/usr/bin/plasma-autologin
[Install]
WantedBy=multi-user.target