mirror of
https://github.com/ublue-os/bazzite.git
synced 2025-02-10 12:40:06 +00:00
feat(gnome): Use GDM on desktop (#111)
* feat(gnome): Use GDM on desktop Restores GDM on desktop and implements GNOME autologin with GDM support. This allows users to use screen locking. Omitted from Steam Deck as there isn't a seemingly clean way to implement this for session switching. Will investigate in the future * fix(gnome): Restore patched xorg-x11-server-Xwayland package for VRR --------- Co-authored-by: Kyle Gospodnetich <me@kylegospodneti.ch>
This commit is contained in:
parent
56938e2c24
commit
9383c2fdb2
@ -78,16 +78,20 @@ RUN if grep -qv "gnome" <<< "${IMAGE_NAME}"; then \
|
||||
rpm-ostree install \
|
||||
steamdeck-kde-presets-desktop \
|
||||
wallpaper-engine-kde-plugin \
|
||||
kdeconnectd \
|
||||
kdeconnectd && \
|
||||
rpm-ostree override replace \
|
||||
--experimental \
|
||||
--from repo=copr:copr.fedorainfracloud.org:kylegospo:gnome-vrr \
|
||||
xorg-x11-server-Xwayland.spec \
|
||||
; else \
|
||||
rpm-ostree override replace \
|
||||
--experimental \
|
||||
--from repo=copr:copr.fedorainfracloud.org:kylegospo:gnome-vrr \
|
||||
mutter \
|
||||
gnome-control-center \
|
||||
gnome-control-center-filesystem && \
|
||||
gnome-control-center-filesystem \
|
||||
xorg-x11-server-Xwayland.spec && \
|
||||
rpm-ostree install \
|
||||
sddm \
|
||||
steamdeck-backgrounds \
|
||||
gradience \
|
||||
adw-gtk3-theme \
|
||||
@ -140,8 +144,6 @@ RUN rm /usr/share/applications/shredder.desktop && \
|
||||
systemctl enable displaylink.service && \
|
||||
systemctl enable input-remapper.service && \
|
||||
if grep -q "gnome" <<< "${IMAGE_NAME}"; then \
|
||||
systemctl disable gdm.service && \
|
||||
systemctl enable sddm.service && \
|
||||
rm /usr/share/applications/yad-icon-browser.desktop \
|
||||
; fi && \
|
||||
echo -e "IMAGE_NAME=${IMAGE_NAME}\nBASE_IMAGE_NAME=${BASE_IMAGE_NAME}\nIMAGE_FLAVOR=${IMAGE_FLAVOR}\nFEDORA_MAJOR_VERSION=${FEDORA_MAJOR_VERSION}" >> /etc/default/bazzite && \
|
||||
@ -212,6 +214,7 @@ RUN if grep -qv "gnome" <<< "${IMAGE_NAME}"; then \
|
||||
; else \
|
||||
rpm-ostree install \
|
||||
gnome-shell-extension-bazzite-menu \
|
||||
sddm \
|
||||
; fi
|
||||
|
||||
# Install new packages & dock updater - done manually due to proprietary parts preventing it from being on Copr
|
||||
@ -256,6 +259,8 @@ RUN rm /usr/share/applications/winetricks.desktop && \
|
||||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_ycollet-audinux.repo && \
|
||||
mv /etc/sddm.conf /etc/sddm.conf.d/steamos.conf && \
|
||||
if grep -q "gnome" <<< "${IMAGE_NAME}"; then \
|
||||
systemctl disable gdm.service && \
|
||||
systemctl enable sddm.service && \
|
||||
systemctl enable gnome-autologin.service \
|
||||
; fi && \
|
||||
if grep -qv "gnome" <<< "${IMAGE_NAME}"; then \
|
||||
|
14
system_files/deck/silverblue/usr/bin/gnome-autologin
Executable file
14
system_files/deck/silverblue/usr/bin/gnome-autologin
Executable file
@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
USER=$(id -nu 1000)
|
||||
|
||||
# SteamOS SDDM config
|
||||
SDDM_CONF='/etc/sddm.conf.d/steamos.conf'
|
||||
if [ ! -f ${SDDM_CONF} ]; then
|
||||
# Fallback to sddm.conf
|
||||
SDDM_CONF = '/etc/sddm.conf'
|
||||
fi
|
||||
|
||||
# Configure autologin
|
||||
sed -i 's/.*Session=.*/Session=gnome-xorg.desktop/g' ${SDDM_CONF}
|
||||
sed -i 's/.*User=.*/User='${USER}'/g' ${SDDM_CONF}
|
16
system_files/desktop/silverblue/etc/gdm/custom.conf
Normal file
16
system_files/desktop/silverblue/etc/gdm/custom.conf
Normal file
@ -0,0 +1,16 @@
|
||||
# GDM configuration storage
|
||||
|
||||
[daemon]
|
||||
#AutomaticLoginEnable=True
|
||||
#AutomaticLogin=
|
||||
#WaylandEnable=false
|
||||
#DefaultSession=gnome-xorg
|
||||
|
||||
[security]
|
||||
|
||||
[xdmcp]
|
||||
|
||||
[chooser]
|
||||
|
||||
[debug]
|
||||
#Enable=true
|
@ -2,13 +2,10 @@
|
||||
|
||||
USER=$(id -nu 1000)
|
||||
|
||||
# SteamOS SDDM config
|
||||
SDDM_CONF='/etc/sddm.conf.d/steamos.conf'
|
||||
if [ ! -f ${SDDM_CONF} ]; then
|
||||
# Fallback to sddm.conf
|
||||
SDDM_CONF = '/etc/sddm.conf'
|
||||
fi
|
||||
# GDM config
|
||||
GDM_CONF='/etc/gdm/custom.conf'
|
||||
|
||||
# Configure autologin
|
||||
sed -i 's/.*Session=.*/Session=gnome-xorg.desktop/g' ${SDDM_CONF}
|
||||
sed -i 's/.*User=.*/User='${USER}'/g' ${SDDM_CONF}
|
||||
sed -i 's/.*AutomaticLoginEnable=.*/AutomaticLoginEnable=true/g' ${GDM_CONF}
|
||||
sed -i 's/.*AutomaticLogin=.*/AutomaticLogin='${USER}'/g' ${GDM_CONF}
|
||||
sed -i 's/.*DefaultSession=.*/DefaultSession=gnome-xorg/g' ${GDM_CONF}
|
||||
|
Loading…
x
Reference in New Issue
Block a user