HOME et plist

Le
unbewusst.sein
launchd lance un de mes scripts par :

<key>ProgramArguments</key>
<array>
<string>/Users/yt/bin/MacSOUP_random_signature.rb</string>
</array>


où le PATH du script est en dur, y a t'il un moyen, avec une plist lue
par launchd d'utiliser une variable d'environnement comme $HOME comme on
le fait dans un script shell ???
--
« Comment peser sur le bulletin?
Tu t'assieds dessus. »
(Anonyme)
Vidéos High-Tech et Jeu Vidéo
  • Visiblement, Facebook Home sera une véritable bouffée de liberté face aux réunions de ...
  • Facebook présente Facebook Home qui devient l'écran d'accueil et de verrouillage d'un ...
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrick Stadelmann
Le #21479061
In article (Une Bévue) wrote:

launchd lance un de mes scripts par :

<key>ProgramArguments</key>
<array>
</array>


où le PATH du script est en dur, y a t'il un moyen, avec une plist lue
par launchd d'utiliser une variable d'environnement comme $HOME comme on
le fait dans un script shell ???



launchd ne lance pas des process pour un utilisateur donné, il travaille
au niveau système. Donc de toute façon l'expansion ne serait pas
correcte.

Patrick
--
Patrick Stadelmann
unbewusst.sein
Le #21479801
Patrick Stadelmann

launchd ne lance pas des process pour un utilisateur donné, il travaille
au niveau système. Donc de toute façon l'expansion ne serait pas
correcte.



OK, donc je n'ai pas intérêt, si je souhaite "universaliser", de laisser
mon fichier "MacSOUP.signatures.launchd.plist" sous mon HOME càd dans
"/Users/yt/Library/LaunchAgents" mais plutôt dans
"/Library/LaunchAgents".

idem pour mon script qui est "/Users/yt/bin/MacSOUP_random_signature.rb"
mieux vaut le placer dans "/usr/local/bin".

Par contre, problème ce script fait appel à un fichier dépendant de
l'utilisateur "/Users/yt/Library/Preferences/MacSOUP.signatures.txt" qui
serait d'ailleurs mieux dans "/Users/yt/Library/Application
Support/MacSOUP", mon script, suposément dans
"/usr/local/bin/MacSOUP_random_signature.rb" n'aura pas accès au HOME de
l'utilisateur car lancé par aunchd ? Si tout de même vu que j'ai dedans
:

ACCOUNTS_FILE = "#{ENV['HOME']}/Documents/MacSOUP_settings/Incoming
Mail/Accounts"
SIGNATURES_FILE "#{ENV['HOME']}/Library/Preferences/MacSOUP.signatures.txt"
LOG_FILE = "#{ENV['HOME']}/Library/Logs/MacSOUP.signatures.log"


dans l'état actuel ???
--
« Comment peser sur le bulletin?
Tu t'assieds dessus. »
(Anonyme)
blanc
Le #21481161
Patrick Stadelmann
launchd ne lance pas des process pour un utilisateur donné, il travaille
au niveau système. Donc de toute façon l'expansion ne serait pas
correcte.



Le lancement par cron n'est-il plus possible sous SL ?
Car avec cron pas de problème, on peut avoir une crontab pour chaque
utilisateur.

--
JiPaul.
/ /--/--//\ Jean-Paul Blanc
|/| L |\ quelquepart en (somewhere in)
/|| = |||\ FRANCE
Franck
Le #21481541
On 01/04/2010 18:30, Patrick Stadelmann wrote:
launchd ne lance pas des process pour un utilisateur donné



Bah si, ça s'appelle les "User Agents" et "User Daemons". Chaque
utilisateur peut avoir son propre set de process lancés par launchd, en
plus de ceux du système, communs à tous les utilisateurs.
unbewusst.sein
Le #21481791
Franck

Bah si, ça s'appelle les "User Agents" et "User Daemons". Chaque
utilisateur peut avoir son propre set de process lancés par launchd, en
plus de ceux du système, communs à tous les utilisateurs.



perso, comme il me semble que cela n'a pas été vraiment prévu, je
considère ça comme un bug, de conception... même pas une "annoying
feature".
--
« Le verbe aimer est difficile à conjuguer :
son passé n'est pas simple, son présent n'est qu'indicatif,
et son futur est toujours conditionnel. » (Jean Cocteau)
Franck
Le #21481951
On 02/04/2010 09:50, Une Bévue wrote:
perso, comme il me semble que cela n'a pas été vraiment prévu



C'est pourtant officiellement documenté...

Patrick Stadelmann
Le #21482372
In article Franck
On 01/04/2010 18:30, Patrick Stadelmann wrote:
> launchd ne lance pas des process pour un utilisateur donné

Bah si, ça s'appelle les "User Agents" et "User Daemons". Chaque
utilisateur peut avoir son propre set de process lancés par launchd, en
plus de ceux du système, communs à tous les utilisateurs.



Oui, j'aurais dû écrire "ne lance pas des process COMME un utilisateur".
launchd est un process système, il ne connaît donc pas les variables
d'environnement des utilisateurs. Par contre, les scripts ou commandes
lancées par l'agent y auront accès.

Patrick
--
Patrick Stadelmann
Patrick Stadelmann
Le #21482362
In article Franck
On 02/04/2010 09:50, Une Bévue wrote:
> perso, comme il me semble que cela n'a pas été vraiment prévu

C'est pourtant officiellement documenté...




Tu parles de l'utilisation d'agents par les utilisateurs, ou de l'accès
au variable d'environnement ? Parce que je n'ai rien vu pour ce deuxième
point...

Patrick
--
Patrick Stadelmann
Franck
Le #21482962
On 02/04/2010 12:25, Patrick Stadelmann wrote:
Tu parles de l'utilisation d'agents par les utilisateurs,



Oui.

ou de l'accès au variable d'environnement ?



Non. Je n'ai rien vu également à ce sujet.
unbewusst.sein
Le #21483112
Patrick Stadelmann

Oui, j'aurais dû écrire "ne lance pas des process COMME un utilisateur".
launchd est un process système, il ne connaît donc pas les variables
d'environnement des utilisateurs. Par contre, les scripts ou commandes
lancées par l'agent y auront accès.



oui, c'est ce que je constate, empiriquement, du coup l'installation
d'un "launchd Agent" dans un rép User problématique pourtant la page :
<http://developer.apple.com/mac/library/technotes/tn2005/tn2083.html#SEC
LOGINITEM> donne :

Name :
per-user launchd agent

Session Type :
Background

Notes :
Runs in a context that's the parent of all contexts for a given user

je pense que ça correspond à mon cas.
--
« Le verbe aimer est difficile à conjuguer :
son passé n'est pas simple, son présent n'est qu'indicatif,
et son futur est toujours conditionnel. » (Jean Cocteau)
Publicité
Poster une réponse
Anonyme