Chciałbym móc wyłączyć ekran z linii poleceń.
Wiem, że jest skrót klawiaturowy ctrl+ ⇧+, ⏏ale chcę to zrobić ze skryptu powłoki lub zdalnie.
Czy istnieje sposób?
terminal
sleep-wake
screen
Gregseth
źródło
źródło
Odpowiedzi:
W OS X 10.9 możesz to zrobić po prostu
pmset displaysleepnow
. Spowoduje to natychmiastowe wyłączenie wyświetlacza bez zmiany jakichkolwiek ustawień lub uśpienia całego hosta.Wydaje się, że eskalowane uprawnienia nie są wymagane (przynajmniej w przypadku najnowszych wersji OS X), ale jeśli pojawi się komunikat o nieodpowiednich uprawnieniach, możesz to zrobić
sudo pmset displaysleepnow
.Na podstawie opinii komentujących nie jest to dostępne w systemie OS X 10.8 lub wcześniejszym.
źródło
Chociaż nie udało mi się znaleźć polecenia, które uśpiłoby wyświetlacz natywnie, istnieje aplikacja , która to zrobi. Istnieją dwie opcje stąd.
Zainstaluj aplikację w folderze Aplikacje i z poziomu terminalu lub SSH
open /Applications/Sleep\ Display.app
Kliknij prawym przyciskiem myszy aplikację z folderu Pobrane i kliknij „Pokaż zawartość opakowania”. Przejdź do
Contents/MacOS
i skopiuj plik trybu uśpienia.Przejdź do
/usr/bin
(możesz użyć skrótu ⇧+ ⌘+ Gi wpisz katalog) i wklej plik binarny. Teraz będziesz mógł wpisać poleceniesleepdisplay
w Terminalu lub przez SSH, a wyświetlacz natychmiast przejdzie w tryb uśpienia.Mam nadzieję że to pomoże!
źródło
Oto prosty skrypt powłoki, który to zrobi.
Spowoduje to uruchomienie / uruchomienie wszelkich ustawień włączonych wygaszacza ekranu na tym komputerze.
źródło
Poniższy skrypt wykona zadanie (w systemie Leopard i nowszych), ale należy go uruchomić z
sudo
:Założeniem jest to, że
pmset
można ustawić czas do uśpienia wyświetlacza, ale problem polega na tym, że wartość 0 wyłącza tę funkcję, zamiast ustawiać opóźnienie na zero, a wartość 1 oznacza pełne jednominutowe opóźnienie. Magia polega na tym, że wartość 2 ^ 31 wydaje się być przechowywana jako zero ujemne, które magicznie działa jako „natychmiast wyłącz wyświetlacz”.W Tygrysie i wcześniejszych potrzebna była inna liczba magiczna, ponieważ do przechowywania opóźnień w minutach użyto wewnętrznej zmiennej o różnych bitach, aż do wyłączenia wyświetlacza.
To naśladuje zachowanie control- shift- ejecti może być używane na MacBooku Airs bez ejectklucza.
źródło
w systemie macOS Sierra
pmset displaysleepnow
caffeinate -u -t 1
pmset -g powerstate IODisplayWrangler | tail -1 | cut -c29
wyniki <4 to uśpiony wyświetlaczmały serwer HTTP z węzłem do zdalnego ustawiania stanu ekranu komputera Mac: https://github.com/ycardon/switch-api
źródło
"echo $[$(pmset -g powerstate IODisplayWrangler | tail -1 | cut -c29) - 4]"
(używając tego do wartości prawda / fałsz „czy ekran jest włączony?”).Uruchom następujące polecenie, aby wykonać krótki AppleScript, który uśpi ekran:
Nazwa polecenia sugeruje, że może umieścić cały system do snu w pewnych okolicznościach, ale nie mogłem się stało w ograniczonym testów: Testowałem go na skrypcie zacząłem krótko przed wykonaniem tego polecenia, i który został uruchomiony na kilka minut, aż „obudzę” system. Nadal drukował przez cały czas.
źródło
Naprawdę mam nadzieję, że ta odpowiedź nie jest na uboczu. Mój ulubiony sposób na spanie, ponowne uruchomienie, wyłączenie - a co najważniejsze zablokowanie - komputer Mac używa Alfred (program uruchamiający aplikacje).
Nie wymaga żadnych skryptów, znajomości skryptów ani użycia terminala, co jest genialne.
Jeśli jednak CHCESZ specjalnie użyć terminala, prawdopodobnie nie jest to rozwiązanie dla Ciebie.
źródło
Budzić:
caffeinate -u -t 2
Spać:
pmset displaysleepnow
źródło
Możesz użyć
pmset
polecenia, aby zmienić wartość parametru displayleep, coś w rodzaju(wymaga rootowania)
źródło
Spójrz na maclock projektu github typu open source
Domyślnie po prostu uruchamia wygaszacz ekranu, ale możesz uśpić wyświetlacz za pomocą:
Pod przykryciem jest to skrypt bash, który w zasadzie tylko wywołuje:
źródło
Cóż, to jest stare, ale wydaje się, że nigdzie nie ma naprawdę dobrych odpowiedzi na to pytanie.
Mam skrypt AppleScript do działania, chociaż wymaga on aplikacji innej firmy, nieobsługiwanej i niezarejestrowalnej - Extra Suites. Można go pobrać na starej stronie dewelopera .
Włączyłem go również do przepływu pracy Alfreda .
źródło
Zrobiłem to z
sudo shutdown -s now
.Pamiętaj jednak, że będziesz potrzebować do tego uprawnień administratora.
źródło
Proszę bardzo -
źródło
Korzystanie z Alfreda (bezpłatny w AppStore) to świetny sposób na uśpienie wyświetlacza po prostu przez napisanie: „sleep”. Nie ma nic prostszego.
Oczywiście Alfred robi znacznie więcej, możesz także ponownie uruchomić komputer, wylogować się, opróżnić kosz, zablokować, wyłączyć i wiele innych rzeczy.
źródło
Nie potrzebujesz dodatkowej aplikacji, po prostu użyj
tell application "Finder" to sleep
źródło
Aplikacja Launchbar działa równie dobrze jak Alfred. W moim przypadku spacja CMD, a następnie S [Sleep] - prosta i szybka
źródło