Mantenha o Mac acordado pela linha de comando com o CLI do keepresso
O Keepresso traz uma pequena ferramenta de linha de comando para você controlá-lo pelo terminal, um script de shell, um Makefile, ou um job de CI, sem precisar ir até a barra de menus. O comando é keepresso, e ele funciona de duas formas: pode conversar com o app da barra de menus, ou pode manter o Mac acordado sozinho como o caffeinate nativo.
Instale o comando
Se você instalou o Keepresso com o Homebrew, o comando keepresso já está no seu PATH, nada para fazer:
brew install --cask gyorgysh/keepresso/keepresso
Se você instalou o app pelo DMG, a ferramenta fica dentro do pacote do app e seu PATH ainda não sabe disso. Vincule uma vez:
sudo ln -s /Applications/Keepresso.app/Contents/Helpers/keepresso /usr/local/bin/keepresso
Confira se está funcionando:
keepresso version
Controle o app
Esses comandos são entregues ao app Keepresso, abrindo ele se ainda não estiver rodando. São o irmão programável do menu.
keepresso start # inicia uma sessão sem prazo definido
keepresso start --for 90 # inicia uma sessão de 90 minutos
keepresso start --until 18:00 # roda até um horário específico
keepresso stop # encerra a sessão atual
keepresso toggle # ativa ou desativa
Assim, uma tarefa longa pode acordar o Mac quando começa e deixar ele dormir quando termina:
keepresso start
make release
keepresso stop
Leia o status
keepresso status diz se uma sessão está rodando, e o código de saída facilita criar condições em um script:
0o Mac está sendo mantido acordado1não está2o app não está rodando
keepresso status && echo "acordado" || echo "dormindo"
Adicione --json para uma resposta legível por máquina:
keepresso status --json
O mesmo estado da sessão também é espelhado em um arquivo, para que uma ferramenta de barra de menus, uma status line, ou um widget possam ler sem abrir nada:
~/Library/Application Support/Keepresso/status.json
Ele traz o estado atual e horários no formato ISO 8601.
Manter acordado sem o app
Às vezes você não quer envolver o app, você só quer que este shell mantenha o Mac acordado, exatamente como o caffeinate. Nesse modo, o próprio processo keepresso segura a asserção de energia, e o Mac fica livre para dormir de novo assim que ele termina.
keepresso -i # mantém acordado até você apertar Ctrl-C
keepresso -t 3600 # mantém acordado por um número de segundos
keepresso -w 5123 # mantém acordado até o processo 5123 terminar
keepresso -d # também mantém a tela acordada (combine com os acima)
keepresso -u # declara atividade do usuário: acorda a tela agora
O padrão mais útil é vincular o tempo acordado à vida de um comando ou de um shell:
keepresso -w $$ & # fica acordado enquanto esse shell viver
ffmpeg -i in.mov out.mp4 && keepresso stop
Como essas retenções são asserções de energia reais do macOS, elas aparecem no pmset -g assertions e no próprio painel de Atividade do Keepresso, ao lado de qualquer outro app mantendo o Mac ligado.
Relacionados
- Controle o Keepresso pelo Shortcuts, Raycast ou um script cobre as ações do Shortcuts e o URL scheme
keepresso://para automação sem terminal. - Uma alternativa ao caffeinate no macOS explica como o Keepresso se relaciona com o comando nativo
caffeinate.
Baixe o Keepresso
Grátis e de código aberto, para macOS 14 e versões mais recentes. Instale e mantenha seu Mac acordado do seu jeito.
Mais em Usando o Keepresso