3 votes

Comment puis-je utiliser $HOME ou ~/ dans mes chemins d'accès à la plist de launchd pour fonctionner en tant que LaunchAgent ?

Ma liste contient les clés suivantes :

<key>StandardOutPath</key>
<string>$HOME/launchd.stdout.log</string>
<key>StandardErrorPath</key>
<string>$HOME/launchd.stderr.log</string>

Mais il n'identifie pas $HOME . Ce que je veux, c'est charger cette plist dans différents comptes utilisateurs car je ne peux pas coder en dur mon nom d'utilisateur.

Comment puis-je atteindre ce but ultime ?

5voto

Jose Chavez Points 645

Vous ne pouvez pas utiliser $HOME dans ces clés. Vous devrez utiliser la solution de contournement présentée dans cette réponse :

Comment puis-je utiliser $HOME, ~ ou une variable d'environnement dans le fichier plist de LaunchDaemons ?

Utilisez ensuite des scripts shell ordinaires pour rediriger la sortie standard et l'erreur standard vers des emplacements situés dans $HOME. Par exemple, utilisez une commande similaire à :

command >$HOME/launchd.stdout.log 2>$HOME/launchd.stderr.log

4voto

moodforaday Points 2633

Vous ne pouvez pas utiliser $HOME en el plist mais vous pouvez le configurer assez facilement.

Une fois la liste de contrôle chargée sur l'ordinateur approprié (supposons qu'il se trouve à l'adresse ~/Library/LaunchAgents/local.testing.plist pour les besoins de la discussion)

Il vous suffit d'entrer deux commandes dans la ligne de commande

defaults write "$HOME/Library/LaunchAgents/local.testing.plist" \
StandardOutPath "$HOME/launchd.stdout.log"

defaults write "$HOME/Library/LaunchAgents/local.testing.plist" \
StandardErrorPath "$HOME/launchd.stderr.log"

Cela ajoutera les deux définitions du journal avec le chemin d'accès complet, spécifique et correct pour chaque ordinateur.

Il remplacera également toutes les valeurs existantes, de sorte que vous n'aurez pas à vous soucier des doublons.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X