PincopallinoがYosemite&Maverickで提案したものと似たログイン/ログアウトスクリプトを使用しましたが、何らかの理由で、El Capitanではログアウトスクリプトのみが機能します。
ログアウトせずにスクリプトをテストしましたが、最初は動作しているようです。loginhookが機能しない理由がわかりません。許可は、8進数モード:755、user:root、group:staffに設定されます(今はホイールになっているはずだったのか、それとも何かだったのでしょうか)。
ログインフックがEl Capitanで機能していない可能性があると考えてttysファイルを編集し、テストし、再起動後に顕著な変更が行われなかったときにttysファイルを元に戻しました。
/ Library / LaunchAgentsの.plistファイルを使用することは、私にとってはうまく機能しています。
私はピンコパリーノの答えにコメントしたでしょうが、それをするのに十分なポイントがありません。
Pincopallinoがリンクしたteored90 / nobootsoundインストールパッケージで仮想的に機能する興味のある人向けの.plistの例を次に示します。実際に動作することを確認するためにテストしました。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.YourUserName.nobootsound_loginhook</string>
<key>Program</key>
<string>/Users/YourUserName/.nobootsound_loginhook</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
ターミナルを開き、以下のコマンドを貼り付けます。コマンドtouchは、デスクトップに空のファイルを作成します。openコマンドは、新しい空のファイルを開くようにTextEditに指示します。先に進み、上記のコードを空のプレーンテキストファイルに貼り付けて保存します。
touch ~/Desktop/com.YourUserName.nobootsound_loginhook.plist && open ~/Desktop/com.YourUserName.nobootsound_loginhook.plist -a TextEdit
次のコマンドをコピーして端末に貼り付けます。パスワードを1回入力するだけで済みます。このコマンドは、.plistの権限を変更して実行できるようにし、必要な場所に移動します。
sudo chmod +x ~/Desktop/com.YourUserName.nobootsound_loginhook.plist && sudo chown root:wheel ~/Desktop/com.YourUserName.nobootsound_loginhook.plist && sudo mv ~/Desktop/com.YourUserName.nobootsound_loginhook.plist /Library/LaunchAgents
ログアウトして再度ログインし、テストして、動作するかどうかを確認します。私はteored90 / nobootsoundをフォークすることを考えています。それは私にとって学ぶのに最適な最初の経験になるでしょう。
動作せず、最後に.plistをコピーしてターミナルに貼り付けたい場合:
sudo launchctl unload /Library/LaunchAgent/com.YourUserName.nobootsound_loginhook.plist & sudo rm /Library/LaunchAgent/com.YourUserName.nobootsound_loginhook.plist
「YourUserName」のすべてのインスタンスを実際のユーザー名に置き換えることを忘れないでください。
sudo nvram SystemAudioVolume=%80
か?(大文字のVに注意してください)