Você precisa que uma transferência termine enquanto se afasta, e o Mac dormir é o suspeito óbvio. caffeinate pode manter uma declaração de energia exatamente para essa janela, e é uma ferramenta mais estreita do que parece à primeira vista. Impede a suspensão por inatividade enquanto um comando corre; não mantém uma sessão VPN viva e não salva uma transferência de uma credencial que expira à meia-noite. Saber onde termina o seu alcance é o que impede que a próxima falha seja atribuída à camada errada.

O que a declaração realmente mantém

O utilitário pede ao sistema de gestão de energia que mantenha uma reivindicação aberta enquanto o processo embrulhado viver. Quando o processo termina, a reivindicação vai com ele. Esse tempo de vida é a parte útil: não está a alternar uma definição de toda a máquina e a esperar lembrar-se de a desfazer mais tarde.

As opções selecionam reivindicações diferentes. -i impede a suspensão do sistema por inatividade. -d visa a suspensão do ecrã, e -s visa a suspensão do sistema nas situações em que o sistema o permite. Nenhuma delas é uma promessa abrangente de «ficar acordado», e nenhuma desbloqueia o ecrã ou derrota uma tampa fechada. Escolha a que corresponde à interrupção que realmente viu.

Essa distinção importa quando alguém relata que o Mac «ainda dormiu». A pergunta é que reivindicação foi pedida, durante quanto tempo e que evento causou a suspensão. A gestão de energia avalia vários sinais, e uma declaração cobre um deles.

Embrulhe a tarefa em vez de decorar a sessão

caffeinate -i /usr/bin/ssh [email protected]

Isto mantém a reivindicação de não-suspensão enquanto o cliente SSH corre, e é todo o ponto de embrulhar em vez de mandar para segundo plano. O perfil VPN fica intacto, não é enviado qualquer keepalive e nada na configuração do túnel muda.

Para uma janela limitada, a opção de duração é a forma honesta:

caffeinate -i -t 1800

Pare essa invocação com a sua interrupção normal quando a tarefa terminar mais cedo. Não deixe uma pilha de embrulhos em segundo plano e limpe mais tarde matando todos os processos com o mesmo nome; vai eliminar algo que queria manter.

O sono é uma causa, não a causa

Impedir a suspensão por inatividade retira uma interrupção da lista. Não se sobrepõe a um comando de suspensão deliberado, a uma tampa fechada, a uma falha de energia ou a uma política definida por um administrador. São decisões separadas, e esperar que uma declaração ao nível do utilizador as vença é precisamente como as pessoas concluem que a ferramenta não funciona.

A suspensão do ecrã e o bloqueio do ecrã também são separados. Um Mac pode ficar acordado com o ecrã desligado e pode bloquear enquanto a tarefa continua. Se o requisito é um ecrã iluminado, é outra opção; se o requisito é um ecrã desbloqueado, nenhuma opção o proporciona. Diga qual desses três resultados precisa realmente antes de escolher um interruptor, porque não são um comportamento com nomes diferentes.

A sessão VPN tem o seu próprio relógio

Um túnel IPsec ou TLS renova chaves segundo um calendário acordado entre os pontos finais, e um servidor pode impor um tempo máximo de sessão independentemente da atividade do cliente. As credenciais expiram. Um link de acesso pode cair por razões que nada têm a ver com o portátil estar acordado. Nada disso se importa com uma declaração de energia.

Assim, quando o tráfego útil falha com o Mac claramente acordado, aumentar a duração não é uma explicação nem uma reparação. Leia a falha: um erro de renovação de chaves, uma expiração de autenticação e uma portadora caída parecem diferentes no registo do túnel, e cada um tem a sua própria correção.

Coloque a durabilidade no anfitrião remoto

Se perder a ligação local desperdiçasse horas de trabalho, a resposta está do outro lado. Um multiplexador de terminal mantém a sessão viva no servidor quando o SSH morre, e um sistema de tarefas mantém o trabalho vivo quando a sessão termina. Nenhum deles depende do estado de energia do portátil.

Essa é uma fronteira de falha diferente, e é a que importa para trabalhos longos. Combine as duas apenas quando ambas forem verdadeiras: a máquina tem de ficar acordada para a parte local do trabalho, e a parte remota tem de sobreviver a uma desconexão. Depois verifique, voltando a ligar a partir de um segundo terminal e confirmando que a tarefa ainda está a correr.

Anote a declaração que usou e quando termina. Uma escolha operacional de curta duração é aceitável; uma permanente sem explicação torna-se um pedido de suporte seis meses depois, quando ninguém se lembra de por que razão o Mac nunca dorme.

Artigos relacionados