openSUSE den XDG-Autostart

Unter openSUSE ist der XDG-Autostart-Mechanismus derselbe wie unter Mint – „~/.config/autostart/“ – daher ist hier kein separates Konzept wie die LaunchAgents von macOS erforderlich.

Desktop-Umgebung

Der Unterschied liegt in der Desktop-Umgebung: Der Standard-/Flaggschiff-Desktop von openSUSE ist tatsächlich KDE Plasma (im Gegensatz zu Mint), daher ist es viel wahrscheinlicher, dass der „konsole“-basierte Ansatz aus Ihrer Originaldokumentation so funktioniert, wie er ist. openSUSE bietet auch eine GNOME-Edition an, daher gebe ich Ihnen beide Varianten plus eine terminalfreie Option, die unabhängig vom Desktop funktioniert.

Bestätigen Sie zunächst den Skriptpfad (passen Sie „linus“ an, wenn die SUSE-Maschine einen anderen Benutzernamen verwendet):

finden

find /home/*/SL5-aura-service -iname "restart_venv_and_run-server.sh"

KDE-Plasma

Option A – KDE Plasma (Standard-Desktop von openSUSE):

mkdir -p ~/.config/autostart
cat > ~/.config/autostart/aura_engine.desktop << 'EOF'
[Desktop Entry]
Type=Application
Name=aura_engine
Comment=Starts the SL5 Aura Service
Exec=konsole -e bash -c 'if [ -f /tmp/sl5_aura/sl5net_aura_project_root ]; then echo "Aura is already running."; else mkdir -p /tmp/sl5_aura && touch /tmp/sl5_aura/sl5net_aura_project_root; /home/linus/SL5-aura-service/scripts/restart_venv_and_run-server.sh; fi; exec bash'
Icon=text-x-script
Terminal=false
StartupNotify=true
EOF
chmod +x ~/.config/autostart/aura_engine.desktop

GNOME-Edition von openSUSE

Option B – GNOME-Edition von openSUSE: Tauschen Sie einfach die Zeile „Exec“ aus, da „konsole“ normalerweise nicht auf GNOME installiert ist:

Exec=gnome-terminal -- bash -c 'if [ -f /tmp/sl5_aura/sl5net_aura_project_root ]; then echo "Aura is already running."; else mkdir -p /tmp/sl5_aura && touch /tmp/sl5_aura/sl5net_aura_project_root; /home/linus/SL5-aura-service/scripts/restart_venv_and_run-server.sh; fi; exec bash'

kein sichtbares Terminal

Option C – Empfohlen: kein sichtbares Terminal, Hintergrund + Protokoll (funktioniert identisch auf Plasma, GNOME,

mkdir -p ~/.config/autostart
cat > ~/.config/autostart/aura_engine.desktop << 'EOF'
[Desktop Entry]
Type=Application
Name=aura_engine
Comment=Starts the SL5 Aura Service in the background
Exec=bash -c 'if [ -f /tmp/sl5_aura/sl5net_aura_project_root ]; then exit 0; else mkdir -p /tmp/sl5_aura && touch /tmp/sl5_aura/sl5net_aura_project_root; /home/linus/SL5-aura-service/scripts/restart_venv_and_run-server.sh >> /home/linus/SL5-aura-service/aura_engine.log 2>&1; fi'
Icon=text-x-script
Terminal=false
StartupNotify=false
EOF
chmod +x ~/.config/autostart/aura_engine.desktop

Überprüfen Sie das Protokoll

Überprüfen Sie das Protokoll später mit:

tail -f /home/linus/SL5-aura-service/aura_engine.log

Test ohne Abmelden: Führen Sie den Teil „bash -c ‘…’“ zuerst manuell in einem Terminal aus, um zu bestätigen, dass der Dienst tatsächlich gestartet wird, und melden Sie sich dann ab/an, um den tatsächlichen Autostart-Auslöser zu überprüfen. In den Systemeinstellungen von openSUSE (Plasma: Autostart; GNOME: Startanwendungen über „gnome-tweaks“) wird dieser Eintrag anschließend ebenfalls aufgeführt, wenn Sie ihn über die GUI umschalten möchten.