Eu gostaria de poder desligar minha tela da linha de comando.
Eu sei que existe o atalho de teclado ctrl+ ⇧+, ⏏mas quero fazê-lo a partir de um script de shell ou remotamente.
Há algum caminho?
terminal
sleep-wake
screen
Gregseth
fonte
fonte
Respostas:
No OS X 10.9, você pode simplesmente fazer
pmset displaysleepnow
. Isso desligará imediatamente a tela sem alterar nenhuma das configurações ou colocar o host inteiro no modo de suspensão.Privilégios escalados não parecem ser necessários (pelo menos nas versões recentes do OS X), mas se você receber uma mensagem sobre privilégios inadequados, poderá fazê-lo
sudo pmset displaysleepnow
.Com base nos comentários dos comentaristas, isso não está disponível no OS X 10.8 ou anterior.
fonte
Embora eu não tenha sido capaz de encontrar um comando que interrompa a exibição nativamente, há um aplicativo que você baixa para fazer isso. Existem duas opções a partir daqui.
Instale o aplicativo na pasta Aplicativos e, a partir do Terminal ou SSH, execute
open /Applications/Sleep\ Display.app
Clique com o botão direito do mouse no aplicativo na pasta Downloads e clique em "Mostrar conteúdo do pacote". Navegue
Contents/MacOS
e copie o arquivo sleepdisplay.Navegue para
/usr/bin
(você pode usar o atalho ⇧+ ⌘+ Ge digite o diretório) e cole o arquivo binário. Agora você poderá digitar o comandosleepdisplay
no Terminal ou através do SSH e o display entrará em suspensão imediatamente.Espero que isto ajude!
fonte
Aqui está um script de shell simples que fará isso.
Isso executará / iniciará as configurações que você ativou para o Screen Saver nesse computador.
fonte
O script a seguir fará o trabalho (no Leopard e posterior), mas deve ser executado com
sudo
:A premissa é que
pmset
pode definir um tempo até a exibição em suspensão, mas o problema é que o valor 0 desativa o recurso, em vez de definir o atraso como zero, e o valor 1 é um atraso completo de um minuto. A mágica aqui é que um valor de 2 ^ 31 parece ser armazenado como zero negativo, que magicamente funciona como "desligar a tela imediatamente".No Tiger e versões anteriores, era necessário um número mágico diferente, porque uma variável de tamanho de bit diferente era usada internamente para armazenar o atraso, em minutos, até que o visor desligasse.
Isso imita o comportamento de control- shift- eject, e pode ser usado no MacBook Airs sem uma ejectchave.
fonte
no macOS Sierra
pmset displaysleepnow
caffeinate -u -t 1
pmset -g powerstate IODisplayWrangler | tail -1 | cut -c29
resultados <4 são uma exibição adormecidaum servidor HTTP de pequeno nó para definir o status da tela do seu Mac remotamente: https://github.com/ycardon/switch-api
fonte
"echo $[$(pmset -g powerstate IODisplayWrangler | tail -1 | cut -c29) - 4]"
(usando isso como true / false "a tela está ativada?").Execute o seguinte comando para executar um AppleScript curto que coloca a tela em suspensão:
O nome do comando sugere que ele pode colocar o sistema inteiro em suspensão em algumas circunstâncias, mas não pude fazer isso acontecer em testes limitados: testei-o com um script de shell iniciado pouco antes de executar este comando e que estava em execução por alguns anos. minutos até eu "acordar" o sistema. Ele continuou a imprimir a saída durante todo o tempo.
fonte
Realmente espero que essa resposta não esteja muito fora do comum. Minha maneira favorita de dormir, reiniciar, desligar - e o mais importante - bloquear - um Mac está usando Alfred (o iniciador de aplicativos).
Não requer scripts, conhecimento de scripts ou uso de terminal, o que é brilhante.
No entanto, se você QUER especificamente usar o terminal, essa provavelmente não é a solução para você.
fonte
Despertar:
caffeinate -u -t 2
Dormir:
pmset displaysleepnow
fonte
Você pode usar o
pmset
comando para alterar o valor de displaysleep, algo como(requer raiz)
fonte
Dê uma olhada no maclock do projeto github de código aberto
Por padrão, ele apenas lança o protetor de tela, mas você pode colocar a tela para dormir com:
Nos bastidores, é um script bash que está basicamente chamando:
fonte
Bem, essa é antiga, mas parece que não há respostas realmente boas para essa pergunta em nenhum lugar.
Consegui que um AppleScript funcione, embora exija um aplicativo de terceiros, não mantido e não registrável - Extra Suites. Pode ser baixado no site antigo do desenvolvedor .
Também o incorporei em um Alfred Workflow .
fonte
Eu fiz isso com
sudo shutdown -s now
.Observe que você precisará de privilégio de administrador para fazer isso.
fonte
Aqui está -
fonte
O uso de Alfred (gratuito na AppStore) é uma ótima maneira de colocar a tela no modo de espera, basta escrever: "sleep". Não fica mais simples que isso.
Claro que Alfred faz muito mais do que isso, você também pode reiniciar, fazer logout, esvaziar lixo, bloquear, desligar e muito mais.
fonte
Não há necessidade de aplicativo extra, basta usar
tell application "Finder" to sleep
fonte
O aplicativo Launchbar funciona igualmente bem como Alfred. No meu caso, a barra de espaço CMD e S [Sleep] - simples e rápido
fonte