명령 줄에서 화면을 끄고 싶습니다.
키보드 단축키 ctrl+ ⇧+ 가 있다는 것을 알고 ⏏있지만 쉘 스크립트 또는 원격으로 수행하고 싶습니다.
방법이 있습니까?
명령 줄에서 화면을 끄고 싶습니다.
키보드 단축키 ctrl+ ⇧+ 가 있다는 것을 알고 ⏏있지만 쉘 스크립트 또는 원격으로 수행하고 싶습니다.
방법이 있습니까?
답변:
디스플레이를 기본적으로 잠들게하는 명령을 찾을 수 없었지만 다운로드 할 앱 이 있습니다. 여기에는 두 가지 옵션이 있습니다.
응용 프로그램을 응용 프로그램 폴더 및 터미널 또는 SSH 실행에서 설치 open /Applications/Sleep\ Display.app
Downloads 폴더에서 앱을 마우스 오른쪽 버튼으로 클릭하고 "Show Package Contents"를 클릭하십시오. 로 이동 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은 지연을 0으로 설정하지 않고 기능을 끄고 값 1은 전체 1 분 지연이라는 것입니다. 여기서 마술은 2 ^ 31의 값이 음의 0으로 저장되어 마치 "표시를 즉시 끄는"기능을한다는 것입니다.
Tiger 및 이전 버전에서는 다른 비트 크기 변수가 내부적으로 사용되어 디스플레이가 꺼질 때까지 분 단위로 지연을 저장하기 때문에 다른 매직 넘버가 필요했습니다.
이 모방의 동작 control- shift- eject, 그리고없이 맥북 방송 돼지에서 사용할 수있는 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]"
하여 조건부 논리에 대해 0 또는 0이 아닌 종료 코드를 얻을 수 있습니다 (이를 사용하여 "화면이 켜져 있습니까?").
글쎄, 이것은 오래된 질문이지만,이 질문에 대한 좋은 답변이 어디에도없는 것 같습니다.
AppleScript가 제대로 작동하지만 타사, 유지 관리 및 등록 할 수없는 앱인 Extra Suites가 필요합니다. 개발자의 이전 웹 사이트에서 다운로드 할 수 있습니다 .
# 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에서 무료)를 사용하면 "sleep"이라고 쓰면 디스플레이가 절전 모드로 전환됩니다. 그것보다 간단하지 않습니다.
물론 Alfred는 그 이상을 수행합니다. 다시 시작, 로그 아웃, 휴지통 비우기, 잠금, 종료 및 기타 여러 가지 작업을 수행 할 수도 있습니다.
앱 실행 표시 줄은 Alfred와 동일하게 작동합니다. 필자의 경우 CMD 스페이스 바 다음에 S [Sleep]-간단하고 빠릅니다.