Ada beberapa cara untuk menjalankan skrip saat login / logout di OS X , ada yang lebih baru dan hanya berlaku untuk 10,5 dan di atas, beberapa agak usang, tetapi yang tercepat adalah menambahkan Login Hook
.
Pertama, buat skrip yang ingin Anda jalankan. Buka Terminal dan masukkan:
touch ~/script.sh
open -e !$
Ini akan membuka editor teks. Masukkan skrip, misalnya dengan konten berikut:
#!/bin/sh
# insert your script here
Simpan file. Di terminal Anda, jalankan:
chmod +x ~/script.sh
Ini akan membuat file dapat dieksekusi. Sekarang, mari kita tambahkan itu sebagai sebuah kait:
sudo defaults write com.apple.loginwindow LoginHook /usr/local/bin/script.sh
Ada juga Logout Hook
rekanannya:
sudo defaults write com.apple.loginwindow LogoutHook /usr/local/bin/script2.sh
Saya sudah menguji ini pada OS X 10.6, dan seharusnya bekerja bahkan hingga 10.8. Perlu diingat bahwa skrip berjalan sebagai root
dan masing-masing hanya ada satu kait untuk masuk dan keluar.
Untuk membatalkan semua itu, masukkan
sudo defaults delete com.apple.loginwindow LoginHook
sudo defaults delete com.apple.loginwindow LogoutHook
Perhatikan bahwa metode ini tidak disarankan untuk digunakan atau apa pun, tetapi jika Anda hanya menggunakannya seperti yang dinyatakan oleh pertanyaan Anda, itu seharusnya tidak menjadi masalah.
Kait masuk tidak digunakan lagi pada 10.4 untuk launchd. Untuk menjalankan skrip saat masuk, simpan plist seperti ini sebagai
~/Library/LaunchAgents/test.plist
. Itu dimuat pada login berikutnya bahkan jika Anda tidak berjalanlaunchctl load ~/Library/LaunchAgents/test.plist
.Untuk informasi lebih lanjut, lihat
man launchd.plist
dan posting blog ini .sumber
Agar kait ini bekerja di 10.10 Anda harus melakukan ini:
Buka
/etc/ttys
file: Di Finder, pilih Buka Folder dari menu Go, ketik/etc/
, lalu klik Pergi.Di jendela yang dihasilkan, buka
ttys
file di editor teks pilihan Anda (seperti TextEdit).Cari baris yang berbunyi:
console "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow" vt100 on secure window=/System/Library/CoreServices/WindowServer onoption="/usr/libexec/getty std.9600"
Edit baris ini sehingga terbaca sebagai berikut (tidak ada jeda di baris ini):
console "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow -LoginHook /path/to/script" vt100 on secure window=/System/Library/CoreServices/WindowServer onoption="/usr/libexec/getty std.9600"
yaitu, tambahkan (di mana path lengkap ke skrip yang ingin Anda jalankan ketika pengguna masuk) tepat sebelum tanda kutip kedua ( ).
-LoginHook /path/to/script
/path/to/script
"
Simpan file.
Pastikan editor teks yang Anda gunakan untuk mengedit file ini tidak memecah baris di atas menjadi lebih dari satu baris.
atau ikuti instruksi lengkap di sini:
http://support.apple.com/en-ca/HT2420
sumber