fixed initial problems
This commit is contained in:
@@ -18,25 +18,34 @@ dnf5 install -y \
|
||||
swaybg \
|
||||
swayidle \
|
||||
wlopm \
|
||||
xdg-desktop-portal \
|
||||
xdg-desktop-portal-wlr \
|
||||
xdg-desktop-portal-gtk \
|
||||
pipewire \
|
||||
pipewire-pulseaudio \
|
||||
wireplumber \
|
||||
NetworkManager \
|
||||
foot \
|
||||
alacritty \
|
||||
wl-clipboard \
|
||||
xdg-user-dirs \
|
||||
upower \
|
||||
power-profiles-daemon \
|
||||
bolt \
|
||||
lxqt-policykit \
|
||||
bluez \
|
||||
cups \
|
||||
ipp-usb \
|
||||
system-config-printer \
|
||||
avahi \
|
||||
accountsservice \
|
||||
google-noto-sans-fonts \
|
||||
google-noto-sans-mono-fonts \
|
||||
wdisplays \
|
||||
brightnessctl \
|
||||
swaylock
|
||||
swaylock \
|
||||
thunar \
|
||||
thunar-volman \
|
||||
tumbler \
|
||||
gvfs
|
||||
|
||||
# Optionale Pakete (duerfen fehlen -> --skip-unavailable, eigener Aufruf,
|
||||
# damit ein fehlendes Optionales den Kern nicht zu Fall bringt)
|
||||
@@ -47,10 +56,20 @@ dnf5 install -y \
|
||||
fwupd \
|
||||
cliphist \
|
||||
wlsunset \
|
||||
pipewire-codec-aptx \
|
||||
|| true
|
||||
|
||||
# User-Services fuer Audio (Presets greifen nicht fuer nachinstallierte
|
||||
# Pakete auf bootc-Basis -> explizit global enablen, Fehler tolerieren)
|
||||
systemctl --global enable pipewire.socket pipewire-pulse.socket wireplumber.service || true
|
||||
|
||||
# Bluetooth-Daemon (System-Service, kein --global)
|
||||
systemctl enable bluetooth.service
|
||||
|
||||
# Drucken per Socket-Activation (Fedora-Standard: cups.socket statt Service)
|
||||
systemctl enable cups.socket
|
||||
|
||||
# mDNS-Discovery (Netzwerkdrucker finden, .local-Aufloesung)
|
||||
systemctl enable avahi-daemon.socket
|
||||
|
||||
dnf5 clean all
|
||||
|
||||
@@ -29,6 +29,22 @@ dnf5 clean all
|
||||
# accounts-daemon: liefert User-Avatare auf dem Login-Screen.
|
||||
systemctl enable accounts-daemon.service
|
||||
|
||||
# Service-Account fuer die Greeter-Session. Weder greetd- noch Greeter-Paket
|
||||
# legen ihn verlaesslich an - ohne ihn stirbt greetd ("user not found").
|
||||
# WICHTIG (bootc/altfiles): video/render existieren nur in /usr/lib/group
|
||||
# (read-only Image-Default). useradd -G scheitert daran ("group does not
|
||||
# exist"), weil es die Mitgliedschaft nicht nach /etc mergen kann.
|
||||
# systemd-sysusers ist das einzige Werkzeug, das den Split korrekt schreibt.
|
||||
# Build-Zeit (statt Erst-Boot): Eintrag ab Boot 1 vorhanden, kein Race.
|
||||
mkdir -p /usr/lib/sysusers.d
|
||||
cat > /usr/lib/sysusers.d/noctalia-greeter.conf <<'EOF'
|
||||
u greeter - "Greeter" - /usr/sbin/nologin
|
||||
m greeter video
|
||||
m greeter render
|
||||
EOF
|
||||
systemd-sysusers /usr/lib/sysusers.d/noctalia-greeter.conf
|
||||
id greeter
|
||||
|
||||
# System-Setup des Greeters: richtet u.a. /etc/pam.d/greetd ein.
|
||||
# Pfad laut PACKAGING.md: share/noctalia-greeter/setup_greeter_system.sh
|
||||
if [[ -x /usr/share/noctalia-greeter/setup_greeter_system.sh ]]; then
|
||||
@@ -37,6 +53,18 @@ else
|
||||
echo "WARN: setup_greeter_system.sh nicht gefunden - Greeter-State wird erst beim Boot angelegt"
|
||||
fi
|
||||
|
||||
# GNOME-Keyring beim Login still mit entsperren (wie GDM/SDDM). greetd
|
||||
# authentifiziert via PAM, daher kann pam_gnome_keyring das Login-Passwort
|
||||
# abgreifen und den "login"-Keyring oeffnen - ohne den Dialog
|
||||
# "Choose password for new keyring" bei der ersten Secrets-Anfrage.
|
||||
# Nach dem Greeter-Setup anhaengen (dessen PAM-Anpassungen bleiben vorn).
|
||||
if ! grep -q 'pam_gnome_keyring\.so' /etc/pam.d/greetd 2>/dev/null; then
|
||||
cat >> /etc/pam.d/greetd <<'EOF'
|
||||
auth optional pam_gnome_keyring.so
|
||||
session optional pam_gnome_keyring.so auto_start
|
||||
EOF
|
||||
fi
|
||||
|
||||
# bootc-Hygiene: /var-Inhalte aus dem Build werden beim Deployment verworfen
|
||||
# und wuerden nur den var-tmpfiles-Lint triggern. Die /etc-Anteile des Setups
|
||||
# (PAM) bleiben erhalten; /var/lib/noctalia-greeter wird zur Laufzeit via
|
||||
|
||||
+43
-1
@@ -10,12 +10,54 @@ set -eoux pipefail
|
||||
###############################################################################
|
||||
echo "Installing Noctalia Shell v5..."
|
||||
|
||||
# Versionsdynamik: Wallpaper-Pakete heissen f<VER>-backgrounds*.
|
||||
# Bei Basis-Wechsel (z.B. F44 -> F45 im Containerfile) kommen automatisch
|
||||
# die neuen Motive mit. Bricht das Schema je, knallt der Build laut
|
||||
# (kein stiller leerer Picker).
|
||||
FEDORA_VERSION="$(rpm -E %fedora)"
|
||||
|
||||
# Nur das Paket selbst: v5 ist nativ (C++/OpenGL ES), Bildformate und
|
||||
# Theming sind einkompiliert bzw. kommen als RPM-Abhaengigkeiten mit.
|
||||
# ImageMagick/Python/git waren v4-Bedarf und entfallen.
|
||||
#
|
||||
# Theming-Unterbau fuer die aktivierten Templates (siehe
|
||||
# configs/skel/.config/noctalia/templates.toml):
|
||||
# - flatpak: fehlt in der fedora-bootc-Basis, wird aber vom
|
||||
# Flatpak-Preinstall-Layer/Service (50-xxx, Bazaar/Brave) benoetigt
|
||||
# - adw-gtk3-theme: GTK-Theme, das Noctalias gtk-Hook umfaerbt (inkl. -dark).
|
||||
# HINWEIS: Paket heisst -theme, nicht -gtk3!
|
||||
# - dconf + Schemas: damit der Hook gtk-theme/color-scheme setzen kann.
|
||||
# (nwg-look gibt es nicht in Fedora (nur COPR) und wird nicht gebraucht -
|
||||
# der Hook setzt das Theme selbst.)
|
||||
dnf5 install -y \
|
||||
--allowerasing \
|
||||
noctalia \
|
||||
flatpak
|
||||
flatpak \
|
||||
adw-gtk3-theme \
|
||||
dconf \
|
||||
gsettings-desktop-schemas \
|
||||
f${FEDORA_VERSION}-backgrounds \
|
||||
f${FEDORA_VERSION}-backgrounds-extras-gnome
|
||||
|
||||
# Standard-Wallpaper fuer ~/Pictures neuer Benutzer (Noctalias Picker zeigt
|
||||
# das XDG-Bilderverzeichnis; ohne Inhalt bleibt er leer). Fedora-eigene
|
||||
# Motive (Defaults aller Desktops + Supplemental-Pool, offen lizenziert),
|
||||
# deterministisch umbenannt. Vollauswahl bleibt zusaetzlich unter
|
||||
# /usr/share/backgrounds (Picker-Verzeichnis dorthin umstellbar).
|
||||
mkdir -p /etc/skel/Pictures
|
||||
i=0
|
||||
while IFS= read -r img; do
|
||||
i=$((i + 1))
|
||||
if [ "$i" -gt 12 ]; then
|
||||
break
|
||||
fi
|
||||
ext="${img##*.}"
|
||||
cp "$img" "/etc/skel/Pictures/fluffy-wallpaper-${i}.${ext}"
|
||||
done < <(find /usr/share/backgrounds -type f \( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' \) | sort)
|
||||
if [ "$i" -lt 1 ]; then
|
||||
echo "FEHLER: keine Wallpaper unter /usr/share/backgrounds gefunden"
|
||||
exit 1
|
||||
fi
|
||||
ls -l /etc/skel/Pictures
|
||||
|
||||
dnf5 clean all
|
||||
|
||||
Reference in New Issue
Block a user