AppleScriptを使用して画面をロックする


11

shift+ ctrl+ キーを押すのと同じようにMacをロックするApplescriptが必要ejectです。2つの方法を試しましたが、どちらも失敗しました。1つ目は、インターネットでスクリプトを検索することでしたが、失敗しました。スクリーンセーバーやその他のアプリケーションを使用したソリューションのみがあり、私はそれを望んでいません。私が説明したものを使いたいだけです。2つ目は、動作しない3つのキーを押すようにapplescriptに指示することでした。私のMacをロックする方法や、3つのキーを押すようにApplescriptに指示する方法を誰かに教えてもらえたら、私は少し不満を感じているので、本当に嬉しいです。

回答:


13

この答えとこの答えから情報を取得する:

  1. 画面右上の[スポットライト]ボタン(Cmd+ Space)を押します
  2. 検索Keychain Access。これを開く
  3. 設定を開く(Cmd+ ,(カンマ))
  4. 小切手 Show Status in Menu Bar
  5. 画面右上の[スポットライト]ボタン(Cmd+ Space)を押します
  6. 検索Automator。これを選択
  7. 新しく作る Service
  8. ボタンとボタンのRun Applescript横を検索ActionsVariablesます。これをダブルクリック
  9. チェックボックスが Service receives no input in any application
  10. このApplescriptを貼り付けます:

tell application "System Events" to tell process "SystemUIServer"
    tell (menu bar item 1 of menu bar 1 where description is "Keychain menu extra")
        click
        click menu item "Lock Screen" of menu 1
    end tell
end tell

このAutomatorを次のような名前で保存しますLock screen(注:GIFのコードは異なります!)

ここに画像の説明を入力してください


ショートカットを作成するには:

  1. 画面左上のアップルボタンを押します
  2. クリック System Preferences
  3. クリック Keyboard
  4. Keyboard Shortcutsタブをクリック
  5. クリック Services
  6. 作成したサービスの名前を見つけます
  7. 右側の空白部分をクリック
  8. ショートカットを入力してください

任意のアプリケーションでショートカットを使用してください!

ここに画像の説明を入力してください


または...:

  1. あなたはアルフレッドを買うことができます
  2. あなたが使用することができますCmd+ Shift+Eject

3
注:alfredとcmd + shift + ejectは、マシンをサスペンドするときにネットワークを強制終了します。画面をロックするだけなので非常に便利です。
BeepDog 2015年

3
スクリプトを実行すると、キーチェーンメニューが開いてスタックします。私は、メニューを閉じるとき、私はこのエラーを取得:System Events got an error: Can’t get menu 1 of menu bar item 2 of menu bar 1 of application process "SystemUIServer". Invalid index.
Macil

@AgentME本当にステップ1〜4を実行したか。私もコードを更新したので、手順1〜4を実行した後、それを試してください:)
ᔕᖺᘎᕊ

@ᔕᖺᘎᕊ上記と同じエラー「無効なインデックス」が表示される

7

これは別の答えで見つかりましたが、私にとっては次の作品を単純に含むAppleScriptです。

 tell application "Finder" to sleep

1
私はこの回答と受け入れられた回答を組み合わせましたが非常にうまくいきました。たぶん、受け入れられた答えはこれを組み込むことができます。
David Cullen

承認された回答のコードとは異なり、この回答のコードでは、ショートカットを使用するすべてのアプリに権限を設定する必要はなく、キーチェーンのステータスがメニューバーに表示されている必要もありません。
ヴァリロン2017

それは好みの天候の睡眠が実際にロックすることに依存します。残念ながら私にとって、これは我々の組織力あるため作業寝た後、1分をロックする設定しません
quuxman

3

macOS 10.11、El Capitan、はAppleScriptsを使用してᔕᖺᘎᕊの回答を壊したようですが、ロック画面をインストールし、Automator Serviceが「ロック画面バンドル」を開くようにした場合、残りのプロセスは意図したとおりに機能しました(ただし、サービスは「ロック画面」ではなく「ロック画面」です。ファイル名にスペースがあると、多くのmacOSユーザーのキーボードショートカットが壊れてしまいます)。

ステップバイステップガイドの図解については、Mac OS Xの画面ロックのショートカットを参照してください。


3

私はこれのためのシンプルなワンライナーを持っています。システムイベントを使用してロック画面コマンドのデフォルトのキーコンボを送信し、High Sierra(10.13)以降のすべてのバージョンのOSXで動作します。モハベでも!新しいOSXバージョンでは、アプリの追加のセキュリティ権限を要求しますが

tell application "System Events" to keystroke "q" using {control down, command down}

1
この質問は2014年6月21日に行われたもので、その時点で実行されているOS Xのバージョンには回答が適用されません。してください何のMacOSのバージョンでは、この作品の関連するコンテキストを含むように編集あなたの答え。
user3439894

1
OSXのすべてのバージョンで動作します。Mojaveを含む
user1270949

これ、OS Xのすべてのバージョンのデフォルトのキーボードショートカットではありません。実際、どのバージョンのOS Xでも機能せず、macOSのいずれかのバージョンでのみ導入されました。
user3439894

1
私が助けて、私のために働いた答えを提供しようとしているだけだと思います。気に入らない?消して。私はあまり気にできませんでした
user1270949

2
魅力のように機能します(少なくとも、モハベでは私には役立ちます)。この他のコメンターが機能しないと言っている理由がわかりません。シンプルでクリーンなソリューションです。共有していただきありがとうございます。
GDP2

2

マクロを使用して、ショートカットCommand-Lを受け入れます。最近WindowsからMacに切り替えたので、画面をロックする簡単な方法が重要でした。Windowsでは、WindowsキーとLキーを押すだけで、ロックされます。

Keyboard Maestroを使用して、ショートカットCommand-Lのマクロを作成しましたが、基本的に同じです(CommandキーとWindowsキーを比較しています)。ショートカットは、画面をロックする「ログインウィンドウ」機能をトリガーします。少なくとも私にとっては簡単なことです。

(Keyboard Maestroでは、「ログインウィンドウ」機能は[アクション]> [システム制御]にあります。)


1

High Sierra(10.13)では、キーチェーンアクセスにCheck Show Status in Menu Barオプションがないため、受け入れられた回答は機能しません。しかし、(@ Alice Purcellによって言及された)Lockscreenアプリのソースを恥知らずに略奪することに基づいて、私はこの気の利いたGUIスクリプトによる回避策を発見しました:

activate application "SystemUIServer"
tell application "System Events"
    tell process "SystemUIServer" to keystroke "q" using {command down, control down}
end tell
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.