Quando ssh em um computador OS X na minha rede, a sessão dura até que o OS X entre no modo de suspensão .
Existe uma maneira de impedir que isso aconteça durante a minha sessão SSH , além de bater fisicamente no mouse ou digitar teclas ou desativar manualmente a função de suspensão?
EDIT: A sessão ssh normalmente seria uma montagem simples do sshfs.
ssh
osx
power-management
Stefan
fonte
fonte
Respostas:
Esta não é uma solução pronta para uso, mas possivelmente funcionará se ninguém encontrar uma solução :-)
Você pode manipular as configurações de gerenciamento de energia com o comando
pmset
. Veja a página de manual para mais informações.A configuração interessante que queremos manipular é o sono :
Portanto, podemos usar os seguintes comandos:
Agora temos que acionar esses comandos após um login e logut. Se bem me lembro, o Bash é o shell padrão do Mac OS X que nos leva a esses dois arquivos:
Edite ou crie-os no diretório inicial e adicione os comandos apropriados. Se desejar, salve o valor atual de suspensão em um arquivo temporário e restaure-o depois.
O último problema a resolver é o prompt de senha do sudo. Para dar ao usuário a permissão de chamar o pmset sem nenhuma senha, edite seus / etc / sudoers com sudoedit. Você precisa usar a
NOPASSWD
tag. Se isso é novo para você, consulte o manual do sudoers .fonte
Isso me permitiu usar meu mac sobre SSH, não importa o quê, desde que o mac esteja conectado a uma fonte de energia.
Tudo é desligado quando o Mac desliga sua fonte de energia, para que você não precise se preocupar com a duração da bateria.
fonte
O utilitário pmset embutido no OS X possui uma configuração que pode fazer o que você deseja. Verifique a página de
pmset
manual para attyskeepawake
configuração e a explicação que o acompanha.O comando a seguir provavelmente fará o que você deseja:
O
-c
sinalizador ativa essa configuração especificamente quando o computador está funcionando com energia CA (ao contrário da bateria ou da UPS) ettyskeepawake 1
impede que o computador durma durante uma sessão tty ativa (presumivelmente remota). Ele vai permitir que o sono se a sessão esteve inactiva durante mais tempo do que o temporizador de sono, mas se isso é um problema, talvez o computador não deve ser definido para dormir.fonte
Para usar o SSH para abrir um shell em uma máquina OSX remota e impedir que ele durma durante a sessão SSH:
fonte
Desde o Mac OS X 10.8, você deve poder usar o
caffeinate(8)
comando.Tente
caffeinate -s ssh server.example.com
.fonte
Eu adicionei o seguinte script em
.bash_profile
Se o processo for filho direto de um daemon ssh, execute um mesmo shell através do comando caffeinate (8) para impedir que o sistema durma durante a sessão ssh.
fonte
Uma pesquisa na web para impedir o sono do mac traz muitas informações boas sobre utilitários e truques que você pode usar.
No entanto, na sua situação, suspeito que o que você realmente deseja fazer é ter uma sessão ssh separada que execute um programa de linha de comando muito simples que impede o Mac de dormir. A Apple fornece o código-fonte completo na seção Perguntas e respostas técnicas 1160: Prevenção do sono . (Infelizmente, esta página está quebrada no site da Apple atualmente, mas você pode obter uma cópia do cache do Google.)
Não testei para ver se este programa pode ser executado com êxito em uma sessão ssh, mas parece que poderia.
Observe que as implementações do sshfs geralmente não ficam conectadas ao sistema remoto o tempo todo e apenas executam uma sessão quando desejam um arquivo ou diretório. Portanto, você precisa de uma sessão ssh separada, executando em uma janela de terminal minimizada, para executar o programa insônia.
A vantagem dessa abordagem é que você não precisa usar o sudo ou mexer nas configurações de gerenciamento de energia do sistema.
fonte