Hmm ... Pada Mac OS X 10.10.5 dan mungkin sebelumnya, man -s5 launchd.conf
memberitahu kami: " launchd.conf is no longer respected by the system.
" Saya memiliki terlalu banyak hal yang terjadi sekarang untuk meletakkan variabel dummy dalam file dan restart untuk melihat apakah itu benar-benar berfungsi atau tidak setelah semua, tetapi dokumentasi mengatakan itu seharusnya tidak berfungsi.
Saya cukup yakin itu tidak akan terjadi. Lakukan man launchctl
dan Anda akan melihat: " The /etc/launchd.conf file is no longer consulted for subcommands to run during early boot time; this functionality was removed for security considerations.
"
Apa yang dapat Anda lakukan adalah memasukkan semua variabel lingkungan yang Anda inginkan menjadi global-ish ke dalam beberapa file, mungkin disebut environment
sesuai dengan Linux, atau (jika Apple memutuskan untuk melakukan sesuatu dengan itu nanti - Anda tidak pernah tahu) environment.conf
, seperti yang saya lakukan, lalu sumber ini melalui /etc/profile
:
if [ -f /etc/environment.conf ]; then
source /etc/environment.conf
fi
atau, jika Anda lebih suka format ringkas:
if [ -f /etc/environment.conf ]; then . /etc/environment.conf; fi
Jika Anda menggunakan beberapa shell selain bash, dan ia menggunakan sintaks pengaturan variabel yang sama dengan bash (seperti halnya zsh, saya pikir), Anda juga perlu mencari file ini dari file rc seluruh sistem shell itu (misal /etc/zshrc
). Jika Anda menggunakan shell yang menggunakan sintaks yang berbeda, misalnya tcsh, Anda harus memelihara file yang sama untuk shell itu dan mengambilnya dari file rc seluruh sistem shell (mis. /etc/csh.cshrc
Untuk tcsh), atau lebih baik lagi membuat skrip yang secara otomatis menghasilkannya, jadi Anda hanya perlu mengedit satu file untuk menambah / mengubah variabel. Ini bukan tempat untuk tutorial semacam itu; beberapa detik di Google muncul cara mengubah [t] variabel csh ekspor ke sintaks bash, di https://stackoverflow.com/questions/2710790/how-to-source-a-csh-script-in-bash-to -set-the-enviroment, jadi mungkin ada sesuatu yang tersedia untuk pergi ke arah lain.
Sudah pengalaman saya bahwa Mac OS X bergerak semakin jauh dari perilaku file rc yang dapat diprediksi. Setidaknya 10.8, tampaknya tidak lagi memuat /etc/rc.common
, /etc/rc.conf
atau /etc/rc.<anything>
, atau (karena setidaknya 10.9) akan memuat /etc/bash.bashrc
untuk shell nonlogin interaktif (yang tentunya harus dilakukan, sama seperti itu memuat ~/.bashrc
untuk mereka, masih, pada 10,10) . Kemudian lagi saya memiliki Fink, MacPorts, dan Homebrew menginstal semua hal, jadi mungkin salah satunya mengganggu perilaku dotfile default. YMMV.
/etc/environment
) tidak dibaca karena ini bukan standar lintas sistem - ini hanya bagian dari fasilitas Linux PAM. Mac OS X bukan Linux dan tidak menggunakan PAM, juga sistem operasi saya tidak sepengetahuan saya. Anda hanya lolos begitu saja karena Anda menggunakan Linux, rupanya. Dan ya, masih dibaca - oleh Linux ;-)