Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] [gelöst]service-unit  (Read 761 times)

Offline unklarer

  • User
  • Posts: 910
[DE] [gelöst]service-unit
« on: 2025/07/03, 12:14:42 »
Drei Conky werden mit Hilfe eines Script 1mal beim Start/Restart des Rechner gestartet und nach 'optischer' Auswertung vom User wieder beendet.
undecorated

Das soll auch nach einem Suspend des Rechner geschehen (alle in der Sitzung laufenden Conky werden fortgesetzt), was mit diesen drei nicht geschieht,
weil nur 1mal gestartet. Das Script mit den drei zu startenden Conky liegt auf einer anderen Partition.
Code: [Select]
sh /media/5/Conky/OBMenuS/S11_Current.sh

Nun habe ich versucht, das 'Problem' mit einem Service zu lösen und diese Unit in /usr/local/lib/systemd/system/after-suspend.service erstellt:
Code: [Select]
    [Unit]
    Description=unklar:after-suspend.service: Start at suspend
    DefaultDependencies=no
    After=suspend.target

    [Service]
    Type=oneshot
    Environment=DISPLAY=:0
    ExecStart=conky -q -c /media/DATEN/Abgleich/Conky/Grundlage/conky_and_mem/S11TESTconkyrc12 &

    [Install]
    RequiredBy=suspend.target
Die Rechte sind
Code: [Select]
-rw-r--r-- 1 root root 327  2. Jul 17:53 after-suspend.serviceDer Dienst ist 'enable' gesetzt.
Der Einfachheit wegen, habe ich es zunächst mit nur einem Conky versucht(das Script oder der einzelne Conky gehört dem $USER).

Leider funktioniert das nicht. Ist mein Ansatz falsch? Kann jemand helfen? Danke!
« Last Edit: 2025/07/06, 09:35:00 by unklarer »

Offline unklarer

  • User
  • Posts: 910
Re: service-unit
« Reply #1 on: 2025/07/06, 09:34:32 »
Mit Hilfe des siduction-Handbuch(online-Version) und den Verweis auf die speziellen Start-Bedingungen von sh-Scripten in der deutschen Manpage 'systemd.service' konnte ich den Fehler beseitigen.
Nach einmaligen Auslösen von suspend, sieht der Dienst korrekt so aus:

Code: [Select]
systemctl status after-suspend.service
○ after-suspend.service - unklarer:after-suspend.service: Start at suspend
     Loaded: loaded (/usr/local/lib/systemd/system/after-suspend.service; enabled; preset: enabled)
     Active: inactive (dead) since Sat 2025-07-05 21:11:41 CEST; 56s ago
 Invocation: 7aabc5c2d8064a8d8fb6e847bd50ede4
    Process: 7562 ExecStart=sh -c /usr/local/bin/journal-entry started from after-suspend.service active/running (code=exited, status=0/SUCCESS)
    Process: 8144 ExecStart=sh -c /home/unklarer/John/john.sh (code=exited, status=0/SUCCESS)
   Main PID: 8144 (code=exited, status=0/SUCCESS)
   Mem peak: 1.8M
        CPU: 33ms

Jul 05 21:11:41 T500 systemd[1]: Starting after-suspend.service - unklarer:after-suspend.service: Start at suspend...
Jul 05 21:11:41 T500 unklarer:journal-entry[7616]: User=unklarer, Parm1= Parm2= Parm3=
Jul 05 21:11:41 T500 systemd[1]: after-suspend.service: Deactivated successfully.
Jul 05 21:11:41 T500 systemd[1]: Finished after-suspend.service - unklarer:after-suspend.service: Start at suspend.

und die Unit selbst

Code: [Select]
    [Unit]
    Description=unklarer:after-suspend.service: Start at suspend
    DefaultDependencies=no
    After=suspend.target

    [Service]
    Type=oneshot
    Environment=DISPLAY=:0
    ExecStart=sh -c /usr/local/bin/journal-entry started from after-suspend.service "active/running"
    ExecStart=sh -c /home/unklarer/John/john.sh

    [Install]
    RequiredBy=suspend.target