systemd: Nach graphical.target

G

Gast123

Hallo zusammen,

ich habe einen System-Service, der nach der GUI gestartet werden muss.
Es handelt sich dabei um proprietäre Software, deren genaue Abhängigkeiten ich leider nicht kenne.
Ich Starte in aktuell mit
Code:
After=graphical.target
Was jedoch zu früh ist.
Ich habe nun als Workarund ein Wrapper Skript geschrieben dass vor der Ausführung noch 15 Sekunden wartet.
Das funktioniert zwar, ist aber extrem unelegant und wahrscheinlich instabil.
Was wären denn die nächsten targets nach graphical.target, nach dem ich den Service staren könnte?

MfG

Schard
 
Guten Morgen,

ich denke graphical.target ist schon richtig, nur das ein Unit innerhalb des Targets noch nicht geladen ist. Mit Wants bzw. Reload sollte dies aber wohl funktionieren. Vielleicht benötigt dein Programm eine Netzwerkverbindung, die aber nicht sofort verfügbar ist, wenn die Gui startet. Ein Sleep kann man auch am ExecStart anhängen bzw. ein Wrapper Skript das wie du es umgesetzt hast starten, aber dies würde ich als letzte Option in Betracht ziehen.

MfG

Ampromt
 
Danke für deine Antwort,

ich konnte das Problem dahingehend eingrenzen, als dass mein Modul (ist übrigens ein Tuochscreen Treiber) auf den Xserver wartet, der nicht fertig geladen hat.
Auch eine Abhängigkeit (After=...) vom desktop-manager.service hilft da leider nicht weiter.
Ich habe jetzt tatsächlich das Warten erstmal mit einem sleep 15 im ExecStartPre gelößt.
Richtig gut finde ich das aber noch nicht.
Kann man irgendwie erkennen, wann der X-Server fertig geladen hat?
 
Guten Morgen,

nach meiner Kenntnis ist dazu tty(Zahl).service geladen der an getty.target hängt. Mit "systemctl status foo" kannst du schauen ob der Service geladen ist und die Ausgabe weiter verarbeiten.
 
Ich habe bei mir nur service des Namens
Code:
getty@.service
und die starten wirklich nur Konsolen.
Wenn ich den Service
Code:
getty@tty1.service
zur Laufzeit restarte, killt das meinen X-Server und schmeißt mich in eine Konsole.
Hier meine installierten Services:
Code:
  UNIT                                                                                      LOAD      ACTIVE   SUB     DESCRIPTION
  accounts-daemon.service                                                                   loaded    active   running Accounts Service
●auditd.service                                                                            not-found inactive dead    auditd.service
  clamd.service                                                                             loaded    active   running clamav daemon
  colord.service                                                                            loaded    active   running Manage, Install and Generate Color Profiles
  cups.service                                                                              loaded    active   running CUPS Printing Service
  dbus.service                                                                              loaded    active   running D-Bus System Message Bus
  dm-event.service                                                                          loaded    inactive dead    Device-mapper event daemon
  emergency.service                                                                         loaded    inactive dead    Emergency Shell
  gdm.service                                                                               loaded    active   running GNOME Display Manager
  getty@tty1.service                                                                        loaded    inactive dead    Getty on tty1
  kmod-static-nodes.service                                                                 loaded    active   exited  Create list of required static device nodes for the current kernel
  logrotate.service                                                                         loaded    inactive dead    Rotate log files
  lvm2-lvmetad.service                                                                      loaded    inactive dead    LVM2 metadata daemon
  man-db.service                                                                            loaded    inactive dead    Update man-db cache
  mkinitcpio-generate-shutdown-ramfs.service                                                loaded    inactive dead    Generate shutdown-ramfs
  NetworkManager.service                                                                    loaded    active   running Network Manager
●plymouth-quit-wait.service                                                                not-found inactive dead    plymouth-quit-wait.service
●plymouth-quit.service                                                                     not-found inactive dead    plymouth-quit.service
●plymouth-start.service                                                                    not-found inactive dead    plymouth-start.service
  polkit.service                                                                            loaded    active   running Authorization Manager
  rescue.service                                                                            loaded    inactive dead    Rescue Shell
  rtkit-daemon.service                                                                      loaded    active   running RealtimeKit Scheduling Policy Service
  shadow.service                                                                            loaded    inactive dead    Verify integrity of password and group files
  sshd.service                                                                              loaded    active   running OpenSSH Daemon
  sshdgenkeys.service                                                                       loaded    inactive dead    SSH Key Generation
●syslog.service                                                                            not-found inactive dead    syslog.service
  systemd-ask-password-console.service                                                      loaded    inactive dead    Dispatch Password Requests to Console
  systemd-ask-password-wall.service                                                         loaded    active   running Forward Password Requests to Wall
  systemd-binfmt.service                                                                    loaded    inactive dead    Set Up Additional Binary Formats
  systemd-cryptsetup@lunks\x2de57d601f\x2dcae7\x2d4e6e\x2d832e\x2dee07db4cd8e2.service      loaded    active   exited  Cryptography Setup for lunks-e57d601f-cae7-4e6e-832e-ee07db4cd8e2
  systemd-fsck-root.service                                                                 loaded    inactive dead    File System Check on Root Device
  systemd-fsck@dev-disk-by\x2duuid-3d6f7f15\x2df28d\x2d488e\x2d9df8\x2ded611379f0c1.service loaded    active   exited  File System Check on /dev/disk/by-uuid/3d6f7f15-f28d-488e-9df8-ed611379f0c1
  systemd-fsck@dev-disk-by\x2duuid-6f69462b\x2debda\x2d4d56\x2d9c16\x2d9fdef2718de5.service loaded    active   exited  File System Check on /dev/disk/by-uuid/6f69462b-ebda-4d56-9c16-9fdef2718de5
  systemd-hostnamed.service                                                                 loaded    active   running Hostname Service
  systemd-initctl.service                                                                   loaded    inactive dead    /dev/initctl Compatibility Daemon
  systemd-journal-flush.service                                                             loaded    inactive dead    Trigger Flushing of Journal to Persistent Storage
  systemd-journald.service                                                                  loaded    active   running Journal Service
  systemd-localed.service                                                                   loaded    active   running Locale Service
  systemd-logind.service                                                                    loaded    active   running Login Service
  systemd-modules-load.service                                                              loaded    inactive dead    Load Kernel Modules
  systemd-random-seed.service                                                               loaded    active   exited  Load/Save Random Seed
  systemd-readahead-collect.service                                                         loaded    inactive dead    Collect Read-Ahead Data
  systemd-readahead-done.service                                                            loaded    inactive dead    Stop Read-Ahead Data Collection
  systemd-readahead-replay.service                                                          loaded    inactive dead    Replay Read-Ahead Data
  systemd-remount-fs.service                                                                loaded    active   exited  Remount Root and Kernel File Systems
  systemd-rfkill@rfkill0.service                                                            loaded    active   exited  Load/Save RF Kill Switch Status of rfkill0
  systemd-shutdownd.service                                                                 loaded    inactive dead    Delayed Shutdown Service
  systemd-sysctl.service                                                                    loaded    active   exited  Apply Kernel Variables
  systemd-tmpfiles-clean.service                                                            loaded    inactive dead    Cleanup of Temporary Directories
  systemd-tmpfiles-setup-dev.service                                                        loaded    active   exited  Create Static Device Nodes in /dev
  systemd-tmpfiles-setup.service                                                            loaded    active   exited  Create Volatile Files and Directories
  systemd-udev-trigger.service                                                              loaded    active   exited  udev Coldplug all Devices
  systemd-udevd.service                                                                     loaded    active   running udev Kernel Device Manager
  systemd-update-utmp.service                                                               loaded    active   exited  Update UTMP about System Boot/Shutdown
  systemd-user-sessions.service                                                             loaded    active   exited  Permit User Sessions
  systemd-vconsole-setup.service                                                            loaded    active   exited  Setup Virtual Console
  udisks2.service                                                                           loaded    active   running Disk Manager
  ufw.service                                                                               loaded    active   exited  CLI Netfilter Manager
  upower.service                                                                            loaded    active   running Daemon for power management
  user@1000.service                                                                         loaded    active   running User Manager for UID 1000
  wpa_supplicant.service                                                                    loaded    active   running WPA supplicant

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

61 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.

MfG

Schard
 
Welche Distribution wird denn eingesetzt, ich packe mir die dann in eine VM. Hm... Ist bei mir anders.

MfG

Ampromt
 
Ich habe mir das mal angeschaut, aber so wirklich eine andere Lösung habe ich auch noch nicht gefunden. Aber was ich dir sagen kann, dass es bei den Suse- Leuten in diesem Zusammmenhang auch schon Treads gibt, die darauf hinweisen das es sich um ein Problem mit dem Touchscreen- Treiber handeln könnte und man auch dort nach einer Lösung im Zusammenhang von systemd sucht. Hmm...

Langsam bekomme ich ein Verständnis dafür, warum systemd zum Teil so abgelehnt wird... Bugs Bugs Kinderkrankheiten... Egal welche Distribution benutzt wird
 
Danke für deine Mühe :)

Ich hatte ehrlich gesagt bis dato keine Problem mit systemd und ziehe es seit Fedora 19 auch dem klassischen SysVinit vor.
Aber ich will hier keinen Init-Service-Streit. starten.
Das Projekt war eh nur ein Prototyp und wird nicht vor nächstem Jahr eingesetzt. Daher bleibt mir noch genug Zeit, das Problem zu debuggen oder zu umschiffen.
 
Ich finde das Konzept von systemd auch gut, nur diese Kinderkrankheiten nerven. Es braucht sicher nur Zeit, naja... Sollte ich was erfahren, melde ich mich ja ganz sicher...

ampromt
 
Bin schon etwas spät dran, aber probiere mal

Code:
...
[service]
Type=idle
...

Dann sollte Dein Programm erst zuletzt (wenn das System nichts mehr zu tun hat) gestartet werden. Steht auch alles in den Manuals.
Kinderkrankheiten habe ich bei "systemd" seit ca. einem Jahr eigentlich keine mehr festgestellt. Ist natürlich ein Riesenprojekt, mit dessen Feinheiten man sich Zug um Zug auseinandersetzen muss.

Gruß, mmi
 

Ähnliche Themen

Autostart von X mit google-chrome durch systemd

OpenSuse 12.3 / Tiefschlaf funktioniert nicht

Erfahrungsbericht: Solaris 9 (x86)

Zurück
Oben