Nur um da ein Verwirrung zu vermeiden: notify-send ist kein GUI-Programm, sondern ein Client, der über DBus mit dem Benachrichtigungsdienst kommuniziert, der seine API auf dem Session Bus anbietet - daher muss es das XDG_RUNTIME_DIR kennen.
GUI-Anwendung alle 10 Tage automatisch starten
Anmeldungsdatum: Beiträge: 10978 |
|
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Ich hab' mir das jetzt mal angeguckt. Der 2. Lösungsvorschlag über eine systemd-Unit sieht vielversprechend aus. Statt wie dort den NetworkManager müsste ich statt dessen Meine eigene Idee ist nun, dass vielleicht folgender Befehl entweder einer solchen systemd-Unit oder in etc/cron.hourly/ funktionieren könnte: sudo -u 1000 -H anacron -t ~/.anacron/anacrontab -S ~/.anacron/spool &> ~/.anacron/anacron.log |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Eine weitere Möglichkeit wäre vielleicht auch eine User Unit. Allerdings fehlen bei mir die dafür nötigen Speicherorte. Insofern wäre zu klären, ob da noch irgendwas unternommen werden muss, dass dort eingetragenen Units auch starten. |
||
Ehemaliger
![]() Anmeldungsdatum: Beiträge: 28316 |
Hallo,
Alle? Sollte nicht so sein, zumindest nicht der unter /etc. Ansonsten: wenn ein Verzeichnis nicht da ist → anlegen, Unit rein legen und aktivieren. Nicht vergessen: User Units laufen nur, wenn der Nutzer eingeloggt ist, zumindest in der Standardeinstellung. Solltest du dich also mal ausloggen, ohne den Rechner auszuschalten, dann wird die User Unit trotzdem gestoppt. Gruß, noisefloor |
||
Anmeldungsdatum: Beiträge: 3337 |
|||
Anmeldungsdatum: Beiträge: 3337 |
Hier mal als Grobgerüst zum Verfeinern bei Bedarf:
Läuft hier auch nach einem Schlafenlegen per sudo systemctl suspend und Wiedererweckung brav weiter. Die Prüfdatei kannst du für einen Soforttest ja künstlich per touch altern touch -t 202301011200 "$HOME/.local/letzteranwendungsstart" Ich lege solche Skripte immer unter /usr/local/bin ab und starte sie mit passender *.desktop-Datei im Autostart des gewünschten Benutzerkontos oder für alle Benutzer unter /etc/xdg/autostart. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Ja stimmt, nur die im Homeverzeichnis fehlen.
mkdir -p .config/systemd/user touch .config/systemd/user/signal-desktop.service Inhalt: [Unit] Description=Starts Signal Desktop GUI [Service] Type=simple ExecStart=/usr/bin/gtk-launch signal-desktop [Install] WantedBy=default.target $ systemctl --user enable signal-desktop.service Created symlink /home/ich/.config/systemd/user/default.target.wants/signal-desktop.service → /home/ich/.config/systemd/user/signal-desktop.service. $ systemctl --user start signal-desktop.service
Jetzt hätte eigentlich Signal Desktop starten müssen, tut es aber nicht. Woran fehlt es noch? $ systemctl --user show --property Environment Environment=HOME=/home/ich LANG=de_DE.UTF-8 LOGNAME=ich PATH=/usr/local/sbin:/usr/loc> Wie man sieht, wird die Ausgabe im Terninal abgeschnitten. Wie kann ich da einen Zeilenumbruch veranlassen? Wann das läuft müsste ich dann wohl noch die Timer-Unit basteln und starten.
Genau so will ich es ja haben. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Ich hab' jetzt auch mal die Cron-GUI installiert: $ sudo apt install kdeadmin Paketlisten werden gelesen… Fertig Abhängigkeitsbaum wird aufgebaut… Fertig Statusinformationen werden eingelesen… Fertig Die folgenden zusätzlichen Pakete werden installiert: kde-config-cron ksystemlog Vorgeschlagene Pakete: khelpcenter Die folgenden NEUEN Pakete werden installiert: kde-config-cron kdeadmin ksystemlog 0 aktualisiert, 3 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Es müssen 2.843 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 8.100 kB Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren? [J/n] j Leider lässt sich die nicht starten. Woran liegt das? $ kde-config-cron kde-config-cron: Befehl nicht gefunden. ich@T500:~$ kdeadmin kdeadmin: Befehl nicht gefunden. ich@T500:~$ kde[Tab][Tab] kded5 kde-geo-uri-handler |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Ja vielen Dank für die Mühe. Allerdings gefällt mir das nicht so, da noch einen weiteren Prozess in Dauerschleife laufen zu lassen und dafür auch noch komplizierte Skripte zu programmieren. Es reicht doch schon, wenn Außerdem ist damit die Brücke zu einer User-GUI auch noch nicht geschlagen. |
||
Anmeldungsdatum: Beiträge: 3337 |
Bitte? Ich habe damit das grafische Programm Galculator (Taschenrechner) gestartet.
Kompliziert ist bei mir anders. Mehr als gebrauchsfertig vorbereiten geht leider nicht. Wie lange willst du da noch mit rumbasteln anstatt eine funktionierende Lösung zu verwenden? Ist aber deine Entscheidung. Schönes Wochenende! |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Der lief doch dann unter
Alles OK. Ich finde den Weg per systemd bzw. cron eben auch eleganter, aber wenn ich das nicht hinkriegen sollte, komme ich auf Dein Skript zurück. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Hab' jetzt die Unit auf [Unit] Description=Starts Signal Desktop GUI [Service] Type=oneshot ExecStart=/usr/bin/gtk-launch signal-desktop [Install] WantedBy=default.target Wenn ich die starte, sehe ich in der Starter-Leiste das Icon von Signal Desktop auftauchen, aber leider verschwindet das dann nach 10 Sek. wieder. Im syslog finde ich: Apr 29 12:40:32 T500 systemd[1005]: Starting Starts Signal Desktop GUI... Apr 29 12:40:32 T500 zeitgeist-datah[2007]: zeitgeist-datahub.vala:210: Error during inserting events: GDBus.Error:org.gnome.zeitgeist.EngineError.InvalidArgument: Incomplete event: interpretation, manifestation and actor are required Apr 29 12:40:32 T500 systemd[1005]: Finished Starts Signal Desktop GUI. Warum startet die Anwendung nicht ganz durch? |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Jetzt habe ich unter [Unit] noch folgendes hinzugefügt: User=1000 Group=1000 Dann passiert folgendes: $ systemctl --user daemon-reload $ systemctl --user start signal-desktop.service Job for signal-desktop.service failed because the control process exited with error code. See "systemctl --user status signal-desktop.service" and "journalctl --user -xeu signal-desktop.service" for details. $ systemctl --user status signal-desktop.service × signal-desktop.service - Starts Signal Desktop GUI Loaded: loaded (/home/ich/.config/systemd/user/signal-desktop.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sat 2023-04-29 13:16:54 CEST; 21s ago Process: 80226 ExecStart=/usr/bin/gtk-launch signal-desktop (code=exited, status=216/GROUP) Main PID: 80226 (code=exited, status=216/GROUP) CPU: 2ms Apr 29 13:16:54 T500 systemd[1005]: Starting Starts Signal Desktop GUI... Apr 29 13:16:54 T500 systemd[80226]: signal-desktop.service: Failed to determine supplementary groups: Operation not permitted Apr 29 13:16:54 T500 systemd[80226]: signal-desktop.service: Failed at step GROUP spawning /usr/bin/gtk-launch: Operation not permitted Apr 29 13:16:54 T500 systemd[1005]: signal-desktop.service: Main process exited, code=exited, status=216/GROUP Apr 29 13:16:54 T500 systemd[1005]: signal-desktop.service: Failed with result 'exit-code'. Apr 29 13:16:54 T500 systemd[1005]: Failed to start Starts Signal Desktop GUI. $ journalctl --user -xeu signal-desktop.service ░░ The process' exit code is 'exited' and its exit status is 216. Apr 29 13:16:13 T500 systemd[1005]: signal-desktop.service: Failed with result 'exit-code'. ░░ Subject: Unit failed ░░ Defined-By: systemd ░░ Support: http://www.ubuntu.com/support ░░ ░░ The unit UNIT has entered the 'failed' state with result 'exit-code'. Apr 29 13:16:13 T500 systemd[1005]: Failed to start Starts Signal Desktop GUI. ░░ Subject: A start job for unit UNIT has failed ░░ Defined-By: systemd ░░ Support: http://www.ubuntu.com/support ░░ ░░ A start job for unit UNIT has finished with a failure. ░░ ░░ The job identifier is 1107 and the job result is failed. Apr 29 13:16:54 T500 systemd[1005]: Starting Starts Signal Desktop GUI... ░░ Subject: A start job for unit UNIT has begun execution ░░ Defined-By: systemd ░░ Support: http://www.ubuntu.com/support ░░ ░░ A start job for unit UNIT has begun execution. ░░ ░░ The job identifier is 1124. Apr 29 13:16:54 T500 systemd[80226]: signal-desktop.service: Failed to determine supplementary groups: Operation not permitted Apr 29 13:16:54 T500 systemd[80226]: signal-desktop.service: Failed at step GROUP spawning /usr/bin/gtk-launch: Operation not permitted ░░ Subject: Process /usr/bin/gtk-launch could not be executed ░░ Defined-By: systemd ░░ Support: http://www.ubuntu.com/support ░░ ░░ The process /usr/bin/gtk-launch could not be executed and failed. ░░ ░░ The error number returned by this process is ERRNO. Apr 29 13:16:54 T500 systemd[1005]: signal-desktop.service: Main process exited, code=exited, status=216/GROUP ░░ Subject: Unit process exited ░░ Defined-By: systemd ░░ Support: http://www.ubuntu.com/support ░░ ░░ An ExecStart= process belonging to unit UNIT has exited. ░░ ░░ The process' exit code is 'exited' and its exit status is 216. Apr 29 13:16:54 T500 systemd[1005]: signal-desktop.service: Failed with result 'exit-code'. ░░ Subject: Unit failed ░░ Defined-By: systemd ░░ Support: http://www.ubuntu.com/support ░░ ░░ The unit UNIT has entered the 'failed' state with result 'exit-code'. Apr 29 13:16:54 T500 systemd[1005]: Failed to start Starts Signal Desktop GUI. ░░ Subject: A start job for unit UNIT has failed ░░ Defined-By: systemd ░░ Support: http://www.ubuntu.com/support ░░ ░░ A start job for unit UNIT has finished with a failure. ░░ ░░ The job identifier is 1124 and the job result is failed. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 2726 |
Außerdem finde ich: $ systemctl --user status signal-desktop.service ○ signal-desktop.service - Starts Signal Desktop GUI Loaded: loaded (/home/ich/.config/systemd/user/signal-desktop.service; enabled; vendor preset: enabled) Active: inactive (dead) since Sat 2023-04-29 13:30:08 CEST; 22s ago Process: 80518 ExecStart=/usr/bin/gtk-launch signal-desktop (code=exited, status=0/SUCCESS) Main PID: 80518 (code=exited, status=0/SUCCESS) CPU: 103ms Apr 29 13:30:08 T500 systemd[1005]: Starting Starts Signal Desktop GUI... Apr 29 13:30:08 T500 systemd[1005]: Finished Starts Signal Desktop GUI. |
||
![]() Anmeldungsdatum: Beiträge: 1004 |
Ich habe diesen Faden jetzt nur oberflächlich überflogen. Wenn ich es richtig verstanden habe, dann willst du Signal durch den root in der User-Umgebung starten, richtig? Wie wäre es dann mit:
❓ |