コマンドラインから画面をオフにできるようにしたいのですが。
キーボードショートカットがctrl+ ⇧+ あることは知っ⏏ていますが、シェルスクリプトから、またはリモートで実行したいです。
方法はありますか?
コマンドラインから画面をオフにできるようにしたいのですが。
キーボードショートカットがctrl+ ⇧+ あることは知っ⏏ていますが、シェルスクリプトから、またはリモートで実行したいです。
方法はありますか?
回答:
表示をネイティブでスリープさせるコマンドを見つけることができませんでしたが、ダウンロードするアプリがあります。ここから2つのオプションがあります。
アプリケーションをアプリケーションフォルダーにインストールし、ターミナルまたはSSHから実行します open /Applications/Sleep\ Display.app
ダウンロードフォルダーからアプリを右クリックし、[パッケージの内容を表示]をクリックします。Contents/MacOS
sleepdisplayファイルに移動してコピーします。
移動に/usr/bin
(あなたが使用することができます⇧+ ⌘+ Gのショートカットをしているディレクトリを入力します)とバイナリファイルを貼り付けます。これで、sleepdisplay
ターミナルにコマンドを入力するか、SSHを介してコマンドを入力できるようになり、ディスプレイはすぐにスリープ状態になります。
お役に立てれば!
これを行う簡単なシェルスクリプトを次に示します。
#!/usr/bin/env bash
open /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app
これにより、そのコンピューターでスクリーンセーバーに対して有効にした設定が実行/開始されます。
次のスクリプトは(Leopard以降で)ジョブを実行しますが、次を使用して実行する必要がありますsudo
。
前提は、pmset
ディスプレイがスリープするまでの時間を設定できることですが、問題は、遅延をゼロに設定するのではなく、値を0にすると機能がオフになることです。ここでの魔法は、2 ^ 31の値が負のゼロとして格納されているように見えることです。
Tiger以前では、ディスプレイがオフになるまでの遅延を分単位で保存するために異なるビットサイズの変数が内部的に使用されていたため、異なるマジック番号が必要でした。
この模倣の行動control- - shift、ejectとせずにMacBookのエアーズ上で使用することができますejectキー。
#!/bin/bash
original_setting=`/usr/bin/pmset -g | /usr/bin/awk '/displaysleep/ {print $2}'`
magic_number=2147483648
/usr/bin/pmset -a displaysleep $magic_number; sleep 1; /usr/bin/pmset -a displaysleep $original_setting
macOS Sierraで
pmset displaysleepnow
caffeinate -u -t 1
pmset -g powerstate IODisplayWrangler | tail -1 | cut -c29
結果<4はスリープ表示ですMacの画面ステータスをリモートで設定する小さなノードのHTTPサーバー:https : //github.com/ycardon/switch-api
"echo $[$(pmset -g powerstate IODisplayWrangler | tail -1 | cut -c29) - 4]"
(これを使用して、「画面オン?」をtrue / falseに設定します)。
オープンソースのgithubプロジェクトmaclockをご覧ください
デフォルトでは、スクリーンセーバーを起動するだけですが、次の方法でディスプレイをスリープ状態にできます。
maclock --display
カバーの下では、それは基本的に単に呼び出しているbashスクリプトです:
pmset displaysleepnow
まあ、これは古いものですが、この質問に対する良い答えはどこにもないようです。
AppleScriptが動作するようになりましたが、サードパーティ製の、メンテナンスされていない、登録できないアプリ、Extra Suitesが必要です。開発者の古いWebサイトからダウンロードできます。
# Gets the current state of the upper left hot corner, then sets it to sleep display.
tell application "System Events"
tell expose preferences
set givenActivty to get the activity of the top left screen
set the properties of the top left screen corner to {activity:sleep display}
end tell
end tell
# Uses Mouse to Activate upper left hot corner. [Moving directly to {0, 0} does not work
tell application "Extra Suites"
ES move mouse {1, 1}
ES move mouse {0, 0}
end tell
# Restores state of upper left hot corner.
tell application "System Events"
tell expose preferences
delay 1
set the activity of the top left screen corner to givenActivty
end tell
end tell
# Gets rid of Extra Suites nag window.
tell application "Extra Suites"
quit
end tell
また、Alfred Workflowに組み込みました。
Alfred(AppStoreで無料)を使用すると、「スリープ」と書くだけでディスプレイをスリープ状態にできます。それよりも簡単になりません。
もちろん、Alfredはそれ以上のことを行います。また、再起動、ログアウト、ゴミ箱を空にする、ロック、シャットダウンなど、さまざまなことができます。
アプリのLaunchbarはAlfredと同様に機能します。私の場合、CMDスペースバー、次にS [スリープ]-シンプルで高速