OS X Lionでスクリーンセーバーを起動するには、システム全体のキーボードショートカットを使用して、簡単なAppleScriptを使用してスクリーンセーバーをすぐに起動します。
tell application "ScreenSaverEngine" to launch
これはほとんどの場合完全に機能しますが、スクリプトが呼び出されたときにマウスを正確に動かすと、奇妙な問題が発生します。次に、ScreenSaverEngine.appが読み込まれ、デスクトップがロックされますが、ScreenSaverEngineUIは表示されません。代わりに、デスクトップは引き続き表示されますが、他のアプリケーションやUIコントロールにフォーカスを設定することはできません。デスクトップセッションは基本的にロックされています。
デスクトップを「ロック解除」する唯一の方法は、Activity Monitorアプリにフォーカスを強制的に設定し(Ctrlキーを押しながらドックアイコンをクリックして[すべてのウィンドウを表示]を選択)、ScreenSaverEngineプロセスを強制終了することです。
ターミナルからScreenSaverEngineを起動すると、同じ動作を簡単に再現できます。
/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine
Enterキーを押しながらマウスカーソルをアクティブに動かします。
プログラムでスクリーンセーバーを起動するために使用でき、この問題に悩まされていない方法を知っている人はいますか?
注:画面をロックする他のオプション(ユーザーの高速切り替え、キーチェーンロック、ホットコーナー)があることは知っていますが、これらのソリューションには興味がないので、プログラムでスクリーンセーバーを起動する方法が必要です。