comment exécuter automatiquement un fichier shell à l'ouverture d'une session ?
Pour ajouter des variables d'environnement.
iMac 27″, macOS 15.2
Pour ajouter des variables d'environnement.
iMac 27″, macOS 15.2
Par défaut, le shell zsh est actif. Après consultation de la page Utiliser zsh comme shell par défaut sur votre Mac - Assistance Apple (FR j'ai donc crée le fichier .zprofile (sous mon répertoire HOME). Miracle les nouvelles variables et la modification du PATH sont bien effectuées.
Par défaut, le shell zsh est actif. Après consultation de la page Utiliser zsh comme shell par défaut sur votre Mac - Assistance Apple (FR j'ai donc crée le fichier .zprofile (sous mon répertoire HOME). Miracle les nouvelles variables et la modification du PATH sont bien effectuées.
Dépend du shell et de ce que tu faire exactement.
Moi, j'utilise bash alors j'ai ajouté cette ligne dans le .profile
export TOTO=1
Bonjour TCLVSF,
Vous pouvez ajouter votre script aux éléments d'ouverture : Ouvrir automatiquement des éléments lors de l’ouverture de session sur Mac - Assistance Apple (FR).
Ceci dit, je ne suis pas sûr de ce que vous tentez de faire avec les variables d'environnement. Normalement, celles-ci sont sauvegardées si vous les ajoutez manuellement.
Bonjour TCLVSF,
Sur macOS, les variables d’environnement sont principalement utilisées dans les sessions shell (Terminal), mais elles peuvent être lues ailleurs, selon le contexte et la façon dont elles sont définies.
Quand tu ouvres Terminal, tu as une session de shell (zsh, bash, etc.). Les variables d’environnement sont alors :
En dehors du shell ? ... C’est là que ça devient subtil!
Applications GUI (comme Safari, Xcode, etc.)
➤ Pour que les variables soient visibles par les apps GUI, tu dois les déclarer au niveau du système, par exemple :
Tu peux définir une variable d’environnement pour les apps GUI avec launchctl setenv NOM_VARIABLE valeur
Cela affectera les applications lancées après la commande, pas celles déjà ouvertes.
Méthode fiable : launchctl setenv via un LaunchAgent personnalisé
1. Crée le dossier (s’il n’existe pas) : mkdir -p ~/Library/LaunchAgents
2. Copie-Colle ce code plus bas en l'adaptant à ta ou tes variables
Tu peux créer un fichier .plist par variable, ou regrouper plusieurs appels dans un script shell.
3. Charge l'agent ou redémarre ta session : launchctl load ~/Library/LaunchAgents/environment.setenv.plist
4. Verifie que ta variable est bien définie : launchctl getenv MON_VARIABLE
Cdlmt,
Merci pour votre réponse.
En fait, j’essaie de suivre la procédure pour l’utilisation du SDK de libre office
(LibreOffice24.8_SDK) (et JDK)
Ceci de manière ludique et sporadique avec de toute évidence des connaissances insuffisantes…
J’ai donc ajouté à l’ouverture de la session un fichier shell qui s’ouvre en édition sans être automatiquement éxécuté.
J'ai ajouté la permission x pour les deux derniers groupes. Malheureusement, à l'ouverture de la session, le(s) fichier(s) s'ouvrent toujours en édition. Pour la proposition "HervéF91" bien que vu du iMAC je suis administrateur, je n'ai entre autre pas l'accès en "écriture" sur le répertoire (existant) /Library/LaunchAgents ni aux fichiers .plist. Propriété de "système" ("wheel" et "everyone" en lecture uniquement.)
Merci pour votre aide, même si pour le moment je ne sais pas l'exploiter.
Bien que vu du iMAC je suis administrateur, je n'ai entre autre pas l'accès en "écriture" sur le répertoire (existant) /Library/LaunchAgents ni aux fichiers .plist. Propriété de "système" ("wheel" et "everyone" en lecture uniquement.)
Merci encore pour votre aide.
C’est bon pour l’ajout de variables d’environnement. Malheureusement il reste le cas non pas de création, de modification de variable. (PATH)
J’apprends de nouvelles choses et me rappelle des notions enfouis depuis bien longtemps (début des années 90).
De mon coté, je poursuis ma recherche.
Bonjour TCLVSF
Pour rendre exécutable votre fichier shell, vous devez lui donner les droits d'exécution:
Ouvrez le Terminal:
Saisissez : chmod +x [chemin + nom du fichier.sh]. ou
Tapez 'chmod +x ' et glissez votre fichier (laissez bien un espace après le x)
Cdlmt,
Bonsoir TCLVSF,
Le répertoire /Libray/LaunchAgents/ est effectivement réservé au système.
Il existe un répertoire identique dans votre HomeDirectory ( ~/Library/LaunchAgents ) dans lequel vous avez les droits pleins (accès en lecture ET écriture) .. puisque vous en êtes le propriétaire. A plus forte raison si vous êtes administrateur de votre iMac.
C'est lui qui contient vos fichiers de démarrage.
Vous pouvez y déposer les fichiers .plist par un simple Drag&Drop / Glisser-Deposer)
Pour accéder à ce répertoire depuis votre session GUI , développez le menu Aller en maintenant la touche 'Option' enfoncée, puis choisissez 'Bibliothèque'
Cdlmt,
Bonjour Louisbel,
Cette méthode, la plus classique, fonctionne avec le Terminal, mais PAS avec le GUI.
Cdlmt,
comment exécuter automatiquement un fichier shell à l'ouverture d'une session ?