MacOsx Systemweite Umgebungsvariablen

Dieses Thema im Forum "Mac OS X" wurde erstellt von Littlered, 08.06.2005.

  1. Littlered

    Littlered Thread Starter MacUser Mitglied

    Beiträge:
    33
    Zustimmungen:
    0
    MacUser seit:
    18.04.2005
    Einen wunderschönen Guten Abend!

    Ich hab da mal ein Problem. Ich möchte gerne eine systemweite Umgebungsvariable für einen Mac setzen.

    Zur Zeit hab ich es nur für einen angemeldeten Benutzer hinbekommen. Ich hab dazu in der Konsole mkdir .macosx ausgeführt. Anschließend mit open .macosx diesen Ordner geöffnet und die Datei environment.plist erzeugt mit dem notwendigen Inhalt.

    Diese Variable darin hab ich aber nur für den jeweiligen User verfügbar. Wie bekomm ich dass denn systemweit hin, das egal welcher User sich angemeldet hat diese Variable aktiv ist.
     
  2. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Versuch doch mal das Ganze im /etc Ordner durchzuführen.
    Ich habe bisher noch nicht gesehen, dass man das woanders als im jeweiligen Benutzerordner macht.
    Einen Versuch wäre es trotzdem Wert.

    Ansonsten kannst Du noch den Ordner irgendwo zentral anlegen und in den Benutzerodnern einen symlink anlegen.
    Dann kannst Du die Datei lokal pflegen, aber aus allen Accounts heraus verwenden.

    HTH

    Nachtrag:
    Unter Tiger könntest Du noch mit einem LaunchAgent Skript arbeiten, um das selbe Ziel zu erreichen.
     
    Zuletzt bearbeitet: 08.06.2005
  3. Littlered

    Littlered Thread Starter MacUser Mitglied

    Beiträge:
    33
    Zustimmungen:
    0
    MacUser seit:
    18.04.2005
    Boah ich hab da jezt echt das Problem, dass ich nicht weiß was du meinst.

    Bin mit dem Mac's noch nicht so vertraut. Gibts da nicht eine Möglichkeit wie unter Windows mit einer einfachen Oberfläche :rolleyes:

    Gibt es denn irgendwo so eine environment.plist die systemweit gilt? Oder einen einfachen Befehl den man in der Konsole eingibt und der die Variable setzt? Sowas muss es doch geben.
     
    Zuletzt bearbeitet: 08.06.2005
  4. roenz

    roenz MacUser Mitglied

    Beiträge:
    85
    Zustimmungen:
    1
    MacUser seit:
    04.11.2003
    ev. hilft Dir das nachfolgende Beispiel weiter...

    - Umgebungsvariablen bearbeiten:
    Da sich die meisten UNIX Programme unter MacOS X nach "/usr/local/bin" resp. "/usr/local/sbin" installieren, ist es von Vorteil, resp. teilw. sogar notwendig die Umgebungsvariablen via Terminal zu erweitern (denn diese Pfade sind leider standardmässig nicht in den Umgebungsvariablen von MacOS X):

    cd /
    cd etc
    sudo pico profile
    - PATH für sh & bash erweitern (via pico Editor mit root Rechten):
    PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"

    sudo pico csh.login
    - PATH für csh & tcsh erweitern:
    PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
    Info: Diese Anpassungen werden bei einem neuen Terminal Login sofort aktiv.


    - Umgebungsvariabeln im Terminal für csh & tcsh abfragen:
    printenv

    - Herausfinden aus welcher Umgebungsvariable das aufgerufene Programm stammt:
    which <Programmname>


    weitere Infos findest Du ev. auch noch hier:
    http://www.omnigroup.com/mailman/archive/macosx-admin/2003-May/030469.html

    Gruss
    Roenz
     
    Zuletzt von einem Moderator bearbeitet: 25.10.2015
  5. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Du operierst am offenen Herzen und weisst nicht was eine Arterie ist?
    Das überrascht mich jetzt ehrlich gesagt ein wenig.
    Da weiss ich auch gar nicht so recht, wo ich jetzt ansetzen soll.

    Auah.
    Bei der von Dir eingesetzten Lösung, geht es darum die Umgebungsvariablen eines Users in allen Shells zu setzen.
    Du verwendest vermutlich nur eine einzige Shell und möchtest, dass deren Umgebungsvariablen für alle Benutzer definierten werden.
    Das geht, ist aber von der verwendeten Shell abhängig.
    Daher jetzt die Frage: "Welche Shell verwendest Du?"
     
  6. Littlered

    Littlered Thread Starter MacUser Mitglied

    Beiträge:
    33
    Zustimmungen:
    0
    MacUser seit:
    18.04.2005
    Aua das is ne schwierige Frage. Ich würde mal sagen die Standard Shell. Gesetzte Variablen kann ich über die tcsh mit set angucken. Nur mal zum vergleich: unter Windows hab ich ne vbs geschrieben, die einen Schlüssel in der Registry setzt so dass die Variable systemweit zur Verfügung steht nun suche ich vergleichbares für den Mac. Ich mein für den muss doch auch zwischen user-variablen und systemvariablen unterschieden werden oder nicht?
     
  7. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Das ist abhängig vom System, weil Apple da mehrmals gewechselt hat.
    Wie lautet die Ausgaben von
    echo $SHELL
    ?
    Auah. Und das nennst Du einfach?
    Wenn Du die tcsh verwendest, solltest Du Dir mal den Inhalt von "/usr/share/tcsh/examples" (insbesondere das README) und "man tcsh" ansehen.
    IIRC sind für die tcsh die Dateien /etc/csh.cshrc, /etc/csh.login, und /etc/csh.logout relevant.
    Wenn Du eine andere Shell verwendest, findest du in der man-page auf jeden Fall auch entsprechende Hinweise.


    HTH
     
  8. Littlered

    Littlered Thread Starter MacUser Mitglied

    Beiträge:
    33
    Zustimmungen:
    0
    MacUser seit:
    18.04.2005
    Tja einfach ist immer Auslegunssache. Das Problem ist das über eine Softwareverteilung ca. 500 PC's so auf einen Schlag diese Variable gesetzt bekommen haben und das dauerhaft und nicht temporär an den User gebunden.

    Gibt es denn bei den Macs ne Variante dass die immer beim Start sich diese Variable selbst erzeugen? Muss ja diese Datei environment.plist vorhanden sein oder?

    Na wenns nicht anderes geht muss man eben alle Macs von Hand anpassen. Ist übrigens die Bash die standardmäßig aktiviert ist.
     
  9. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Also jetzt mal im Ernst Littlered;

    wenn Du 500 Mac betreust, dann solltest Du Dir schon die Grundkenntnisse des Systems aneignen.
    Der Versuch Windwos Lösung zu übersetzen geht mit Sicherheit in die Hose.
    Das Anpassen von Hand ist ebenfalls kapitaler Schwachfug.

    Dass Du die Anforderung hast hunderte von Rechner zu konfigurieren, ohne zu wissen welche Shell darauf läuft, hast Du bisher erfolgreich verheimlich.
    Insofern ist die Fragestellung an sich schon falsch gewesen.

    Für Deine Aufgabe gibt eine ganze Reihe von Lösungsansätzen, die nur unter Berücksichtigung der Geamtanforderungen ausgewählt werden können.
    Welche für Dein Netz die richtige ist, kannst nur Du entscheiden, aber wie gesagt, dazu benötigst Du einige Grund- und Fachkenntnisse.
    Die Lösung mit dem ~/.macosx-Ordner ist benutzerbezogen und hat lediglich das Ziel in allen Shells die selben Variablen gesetzt zu bekommen.
     
  10. Littlered

    Littlered Thread Starter MacUser Mitglied

    Beiträge:
    33
    Zustimmungen:
    0
    MacUser seit:
    18.04.2005
    Nein ich betreue keine 500 Macs. Es sind Windows Rechner die ich so auf einen Schlag aktualisiert habe. Nun bin ich halt auf der Suche nach Anleitungen sowas irgendwie automatisiert auf Macs umzusetzen. Ich betreue auch diese Macs nicht. Die Macs sind in unserem Netzwerk nur einige Exoten aber eben weltweit verstreut. Die Macs werden auc über eine Softwareverteilung versorgt, daher wäre auch hier ein Skript gut welches diese systemweite Variable setzt.

    Ich habe kaum Kenntnisse über Macs. Ich persönlich meide diese Dinger aus eben solchen Gründen. Kannst du mir Links empfehlen die vielleicht eine Lösung beschreiben?
     

Diese Seite empfehlen