Wo gebe ich einen Befehl ein, der ausgeführt werden soll, wenn ich mich bei Lubuntu mit SDDM anmelde?

Wo gebe ich einen Befehl ein, der ausgeführt werden soll, wenn ich mich bei Lubuntu mit SDDM anmelde?

Ich versuche, vom Terminal aus ein Hintergrundbild festzulegen. Das Skript lautet:

pcmanfm-qt --set-wallpaper=$(ls /home/$USER/.local/share/wallpapers/*/* | shuf -n1)

Dadurch wird das Hintergrundbild geändert, aber ich möchte, dass es bei jeder Anmeldung automatisch ausgeführt wird.

Ich habe versucht, dieses Skript in einige geeignete Dateien einzufügen. /etc/X11/xinit/xinitrc Wenn ich die Datei als Quelle verwende, wird sie wie erwartet ausgeführt, aber beim Anmelden passiert nichts.

Gibt es irgendwelche Hilfestellungen dazu, wo ich diese Zeile platzieren soll, damit sie bei jeder Anmeldung ausgeführt wird? (vorzugsweise in meinem Benutzerordner und nicht global)

Ich verwende Lubuntu 19.10 mit Simple Desktop Display Manager (SDDM).

Antwort1

Da es SDDM ist:

Ein Blick auf die Manpage vonsddm.conf, es gibt

SessionCommand=

Pfad des Skripts, das beim Starten der Benutzersitzung ausgeführt werden soll. Dieses Skript erhält den Wert der Einstellung „Exec“ in der Datei „.desktop“ der ausgewählten Sitzung und führt ihn aus. Der Standardwert ist „/etc/sddm/Xsession“.

Erstellen Sie also diese Datei oder ändern Sie sddm.confIhre eigene Datei, fügen Sie sie hinzu und versuchen Sie dann, etwas in dieser Datei zu tun.

Für Debugging-Zwecke ist das Schreiben der Ausgabe durch Umleitung in eine Datei /tmp/als Protokolldatei eine nützliche Technik.

Versuchen Sie als ersten Schritt etwas wie

echo "Session file executed" >> /tmp/my.log

und prüfen Sie, ob beim Anmelden etwas passiert. Versuchen Sie dann, Ihren Hintergrundbildbefehl hinzuzufügen.

Antwort2

sddm.conf gibt mehrere Abschnitte an, von denen Sie die 'SessionCommand'Parameter des [Wayland]Abschnitts benötigen. Das Standardskript, das sich in befindet "/etc/sddm/wayland-session", sucht nach den folgenden Skriptdateien im Home-Verzeichnis Ihres Benutzers und bezieht sie:

In Ordnung:

$HOME/.bash_profile, $HOME/.bash_login, $HOME/.profile.

Sie sollten in der Lage sein, Ihren Befehl zum Einstellen des Hintergrundbilds in eine dieser drei Dateien in Ihrem Home-Verzeichnis zu platzieren, um ihn beim Anmelden zu aktivieren.

Hinweis: Technisch gesehen verwende ich Ubuntu und nicht Lubuntu, daher kann es Systemunterschiede geben, aber dies sollte bei beiden Distributionen ziemlich standardmäßig sein.

Antwort3

Hier ist ein Artikel, den ich gefunden habe:https://smallbusiness.chron.com/run-command-startup-linux-27796.html

  1. Fügen Sie den Befehl in Ihre Crontab-Datei ein. Die Crontab-Datei in Linux ist ein Daemon, der zu bestimmten Zeiten und Ereignissen vom Benutzer bearbeitete Aufgaben ausführt. Um die Datei zu bearbeiten, öffnen Sie ein Terminal und geben Sie „sudo crontab -e“ ein, um Ihre Crontab-Datei im Standardtexteditor zu öffnen. Geben Sie in die erste verfügbare Zeile „@reboot xxxx“ ein, wobei „xxxx“ der Befehl ist, den Sie ausführen möchten. Speichern Sie die Datei und beenden Sie sie.
  2. Legen Sie ein Skript mit dem Befehl in Ihr /etc-Verzeichnis. Erstellen Sie mit Ihrem bevorzugten Texteditor ein Skript wie „startup.sh“. Speichern Sie die Datei in Ihrem /etc/init.d/-Verzeichnis. Ändern Sie die Berechtigungen des Skripts (um es ausführbar zu machen), indem Sie „chmod +x /etc/init.d/mystartup.sh“ eingeben.

  3. Bearbeiten Sie das Skript /rc.local mit Ihrem Texteditor. In Lubuntu befindet es sich in /etc/rc.local. Nachdem Sie die Befehle hinzugefügt haben, die Sie ausführen möchten (stellen Sie sicher, dass Sie dies als Root tun), speichern Sie die Datei und beenden Sie sie. Die Befehle werden nach dem nächsten Start ausgeführt.

verwandte Informationen