Plist-Datei mit launchctl laden/ entladen

G

GBunge

Mitglied
Thread Starter
Dabei seit
11.11.2008
Beiträge
74
Reaktionspunkte
1
Hallo,
seit ich das MacBook Pro 16 habe, funktioniert das Starten einer Applikation nach dem booten nicht mehr.
In Home/Library/LaunchAgent steht eine Datei xgb-termine.plist.
Die in diesem Ordner liegenden Plist-Dateien werden nach dem Einloggen gestartet. ( MacOS 10.9. )
Der Ordner LaunchAgent existiert nicht mehr in MacOS 10.10 Catalina.
Also habe ich meine Plist-Datei xgb-termine.plist nach /Library/LaunchAgents kopiert mit sudo.
Hier wird allerdings der ExitCode 78 ( configuration error ) ausgegeben.
Um den Fehler zu finden wollte ich die Plist-Datei mit launchctl entladen. Dabei
wird ebenfalls ein Fehler auf dem Terminal ausgegeben!
Code:
launchctl load xgb-termine.plist  --> /Library/LaunchAgents/xgb-termine.plist: Invalid property list

Wer kann helfen?
Gruss GBunge
 
hast du dir mal die plist angeguckt? wenn der sagt die ist improper, dann scheint die doch fehlerhaft.
 
hast du dir mal die plist angeguckt? wenn der sagt die ist improper, dann scheint die doch fehlerhaft.
Das hatte ich auch erst vermutet, aber die Plist-Datei hat ohne Änderungen vorher funktioniert. Ausserdem tritt dieser
Fehler beim Entladen der Datei auf und sie wird nicht entladen.
Code:
launchctl unload xgb-termine.plist
/Library/LaunchAgents/xgb-termine.plist: Invalid property list
Das bedeutet, dass ich die Plist-Datei nicht aus dem System entladen kann, also auch keine neue, oder geänderte,
laden kann.
Diese Funktion( cron ) ist unbrauchbar.
 
Diese Funktion( cron ) ist unbrauchbar.

soll das jetzt heißen du rufst über launchd cron auf?
cron ist doch mit der einführung von launchd schon von apple deprecated worden.

warum stellst du die plist nicht mal hier rein?
oder sind das sensitive informationen?
 
Nur weil ein Ordner nicht existiert kann er trotzdem vom System beachtet werden wenn man ihn selbst anlegt. Bei den launchctl Geschichten die Permissions und Eigentümer der .plist beachten. Vermutlich root.
 
soll das jetzt heißen du rufst über launchd cron auf?
cron ist doch mit der einführung von launchd schon von apple deprecated worden.

warum stellst du die plist nicht mal hier rein?
oder sind das sensitive informationen?

Cron habe ich nur geschrieben, weil mir kein anderer Name einfiel.

Hier die Plist:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>Label</key>
   <string>xgb-termine</string>
   <key>Nice</key>
   <integer>1</integer>
   <key>ProgramArguments</key>
   <array>
       <!--string>/Users/gb/aJava/Termine/dist/Termine.jar</string -->
       <string>/Users/gb/aJava/Apps/Termine.app/Contents/MacOS/Termine</string>
   </array>
   <key>StartCalendarInterval</key>
   <dict>
       <key>Hour</key>
       <integer>8</integer>
       <key>Minute</key>
       <integer>0</integer>
   </dict>
   <key>RunAtLoad</key>
   <true/>
</dict>
</plist>

Nur weil ein Ordner nicht existiert kann er trotzdem vom System beachtet werden wenn man ihn selbst anlegt. Bei den launchctl Geschichten die Permissions und Eigentümer der .plist beachten. Vermutlich root.
Das habe ich versucht und habe den Ordner LaunchAgents in HOME/Library angelegt. Es funktionierte ebenfalls nicht.
Da Catalina von sich aus diesen Ordner LaunchAgents im Home nicht anlegt, habe ich vermutet, dass das System beim Einloggen, anders als bei älteren
Systemen, die Plist-Dateien in diesem Ordner nicht startet.
 
hmm, plutil moniert die jedenfalls nicht.
aber warum sagt denn launchctl die wäre invalid?
 
  • Launch daemons and launch agents introduce new user privacy protections. Specifying privacy-sensitive files and folders in a launchd property list might not work as expected and prevent the service from running. Having Program or ProgramArguments pointing to an executable in a privacy sensitive location is currently allowed, but may be restricted in a future release. (49702405)

    To comply with the new privacy protections, resources for a launchd service must be stored in locations that aren’t privacy sensitive. If necessary, the app can set up resources during its execution rather than using launchd property list keys, making it possible to grant the app access using System Preferences > Security & Privacy > Privacy.

    The following launchd property list keys are affected: KeepAlive, PathState, QueueDirectories, Sockets, SockPathName, StandardErrorPath, StandardInPath, StandardOutPath, and WatchPaths.

    Hast Du? System Preferences > Security & Privacy > Privacy.
 
  • Launch daemons and launch agents introduce new user privacy protections. Specifying privacy-sensitive files and folders in a launchd property list might not work as expected and prevent the service from running. Having Program or ProgramArguments pointing to an executable in a privacy sensitive location is currently allowed, but may be restricted in a future release. (49702405)

    To comply with the new privacy protections, resources for a launchd service must be stored in locations that aren’t privacy sensitive. If necessary, the app can set up resources during its execution rather than using launchd property list keys, making it possible to grant the app access using System Preferences > Security & Privacy > Privacy.

    The following launchd property list keys are affected: KeepAlive, PathState, QueueDirectories, Sockets, SockPathName, StandardErrorPath, StandardInPath, StandardOutPath, and WatchPaths.

    Hast Du? System Preferences > Security & Privacy > Privacy.

Dank für Deine Mühe. Mein Englisch ist nicht so gut, dass ich aus diesem Post das richtige erkenne!

Ich habe nur soviel verstanden, dass meine aufzurufende Applikation nicht in einem
"privacy" Ordner liegen darf.
Was bedeutet das für mich und mein Problem, und wie ist Dein letzter Satz gemeint?
Gruss GBunge
 
Zuletzt bearbeitet:
Du musst in Systemeinstellungen -> Sicherheit -> Privatsphäre... oder wie es bei Dir gerade heißt der App bzw Java noch zusätzlich Rechte vergeben. Damit das gestartet wird.

@oneOeight Schlag mi den Kopf ab. ;)
 
Zurück
Oben Unten