設定パネルには、パスワードのロックを再度解除する必要がある前に、Macがスリープ/スクリーンセーバーに入ることができる時間を変更するオプションがあります。
OS X Lion10.7を使用しています。
ターミナルまたはAppleScriptを使用してこの設定を変更する方法はありますか?以下を使用してplistファイルを変更しようとしました:
defaults write com.Apple.screensaver askForPasswordDelay -int 60
また試した
defaults write com.Apple.screensaver askForPasswordDelay -float 60
また、パスワードを完全に無効にしても機能しませんでした
defaults write com.Apple.screensaver askForPassword -int 0
Plistファイルが変更されましたが、まったく効果がありませんでした。これは、プリファレンスの設定を手動で切り替えるときに変更されるのと同じplistファイルです。
誰かが私の問題を解決する方法のアイデアを持っていれば素晴らしいでしょう。
編集:次のことも試みました:1)-currentHostフラグを追加します2)-int/-floatを削除します
これは、UIスクリプトを使用して行うことができます。これには、ユニバーサルアクセス設定ペインで支援機器のサポートを有効にする必要があります。 osascript
を使用してコマンドラインからスクリプトを起動できますが、これを機能させるにはGUIセッションが必要です。
以前の回答に基づいて ここ 、FileVault対応のLionで動作する次のスクリプトを作成しました。どうやら、Lion自身または私がFile Vault 2を有効にしたことにより、パスワードを完全に無効にするチェックボックスが削除されたようです。後者の場合、スクリプトを修正することはできませんが、リンクされたスクリプトは機能する可能性があります。
インデックスを変更します(6
)メニュー項目の9行目をクリックして、選択するオプションを選択します。
tell application "System Preferences"
set current pane to pane id "com.Apple.preference.security"
tell application "System Events"
tell process "System Preferences"
tell first window
tell first tab group
click radio button 1
click pop up button 1
click menu item 6 of menu of pop up button 1
end tell
end tell
end tell
end tell
quit
end tell
以下は、AppleScriptでこの設定を変更する「公式」の方法です。
tell application "System Events" to set require password to wake of security preferences to false
これには2つの大きな問題があります。
defaults
コマンドに-currentHost
オプションを使用してみてください。
defaults -currentHost read com.Apple.screensaver
defaults -currentHost write com.Apple.screensaver askForPasswordDelay -int 60
defaults
コマンドに加えて、/usr/libexec/PlistBuddy
もあります。
/usr/libexec/PlistBuddy -h
for f in ~/Library/Preferences/ByHost/com.Apple.screensaver.*.plist; do
/usr/libexec/PlistBuddy -c Print "$f"
done
構成のバージョン番号を変更し、ロックファイルも削除する必要があります
defaults -currentHost write com.Apple.screensaver askForPasswordDelay -int 60
defaults -currentHost write com.Apple.screensaver PrefsVersion -int 101
rm ~/Library/Preferences/ByHost/com.Apple.screensaver.plist.lock
強制終了する正しいプロセスが見つかりませんでしたが、再起動後、遅延が発生しました。
ロックファイルにより、これは以前よりもはるかに困難になります。私がこれまでに見つけた最も簡単な方法:
ドメインではなくplistファイルに対して変更を実行し、スーパーユーザーとして実行します。これにより、ファイルのアクセス許可が変更され、rootのみが読み取りと書き込みを行えるようになります。これは不良であり、修正する必要があります。修正するクイックchown + chmod。次回システム環境設定がplistを読み込もうとしたときに権限を修正しないと、失敗します。とにかく破損していると判断し、デフォルトのコピーに置き換えます。
したがって、コードは次のとおりです。
Sudo defaults write ~/Library/Preferences/com.Apple.screensaver.plist askForPasswordDelay -int 60
Sudo chown <username> ~/Library/Preferences/com.Apple.screensaver.plist
Sudo chmod 600 ~/Library/Preferences/com.Apple.screensaver.plist
これは、Lionのほとんどの設定ファイルに当てはまるようですが、すべてではありません。
あなたの最善の策は、ファイルのplistエディターを使用して、具体的に調べることです...それはSnowLeopardからLionに変わる可能性が非常に高いです。