Hmm ... Ab Mac OS X 10.10.5 und wahrscheinlich früher heißt es man -s5 launchd.conf
: " launchd.conf is no longer respected by the system.
" Ich habe momentan zu viel zu tun , um eine Dummy-Variable in die Datei aufzunehmen und neu zu starten, um zu sehen, ob sie wirklich funktioniert oder nicht alles, aber die Dokumentation sagt, es sollte nicht funktionieren.
Ich bin mir ziemlich sicher, dass es nicht so sein wird. Tun man launchctl
Sie und Sie werden sehen: " The /etc/launchd.conf file is no longer consulted for subcommands to run during early boot time; this functionality was removed for security considerations.
"
Alles, was Sie tun können , ist, alle Umgebungsvariablen, die Sie globalisieren möchten, in eine Datei zu schreiben, die möglicherweise environment
im Einklang mit Linux aufgerufen wird , oder (falls Apple sich später dazu entschließt, etwas damit zu tun - Sie wissen es nie) environment.conf
, wie ich es getan habe. dann quelle dies über /etc/profile
:
if [ -f /etc/environment.conf ]; then
source /etc/environment.conf
fi
oder, wenn Sie das kompakte Format bevorzugen:
if [ -f /etc/environment.conf ]; then . /etc/environment.conf; fi
Wenn Sie eine andere Shell als bash verwenden und dieselbe Syntax mit variablen Einstellungen wie bash verwenden (wie zsh, glaube ich), müssen Sie diese Datei auch aus der systemweiten rc-Datei dieser Shell beziehen (z /etc/zshrc
. B. ). Wenn Sie eine Shell verwenden, die eine andere Syntax verwendet, z. B. tcsh, müssen Sie entweder eine ähnliche Datei für diese Shell verwalten und sie aus der systemweiten rc-Datei der Shell (z. B. /etc/csh.cshrc
für tcsh) beziehen oder besser noch ein Skript erstellen Dadurch wird es automatisch generiert, sodass Sie nur eine Datei bearbeiten müssen, um Variablen hinzuzufügen / zu ändern. Dies ist nicht der richtige Ort für ein solches Tutorial. Einige Sekunden später zeigte Google unter https://stackoverflow.com/questions/2710790/how-to-source-a-csh-script-in-bash-to , wie man [t] csh-Variablenexporte in Bash-Syntax konvertiert -set-the-UmweltEs ist also wahrscheinlich etwas verfügbar, um in die andere Richtung zu gehen.
Ich habe die Erfahrung gemacht, dass Mac OS X immer weiter vom vorhersehbaren Verhalten von RC-Dateien abweicht. Ab mindestens 10.8 scheint es nicht mehr geladen zu werden /etc/rc.common
, /etc/rc.conf
oder /etc/rc.<anything>
(seit mindestens 10.9) wird es nicht mehr /etc/bash.bashrc
für interaktive, nicht angemeldete Shells geladen (was es auf jeden Fall tun sollte, genau wie es ab ~/.bashrc
10.10 noch für sie geladen wird). . Andererseits habe ich Fink, MacPorts und Homebrew alle Sachen installiert, also stört vielleicht eine von ihnen das Standardverhalten von Dotfiles. YMMV.
/etc/environment
) wird nicht gelesen, da es sich nicht um einen systemübergreifenden Standard handelt - sie ist nur Teil der Linux PAM-Funktion. Mac OS X ist kein Linux und verwendet nach meinem Wissen weder PAM noch andere Betriebssysteme. Sie sind damit nur durchgekommen, weil Sie anscheinend unter Linux waren. Und ja, es ist immer noch lesen - von Linux ;-)