Eu resolvo meu problema com a criação de um script init.d que usa o comando systemd-inhibit:
#!/bin/bash
nohup systemd-inhibit --why="Disable sleep" --mode=block /usr/bin/bash -c "while true; do sleep 120; done" >/dev/null 2>&1 &
exit 0
Eu me conecto a uma estação de trabalho Fedora 21 com SSH, mas depois de vários minutos sem usar a conexão, o sistema vai dormir e perco minha conexão.
Então, como posso proibir completamente o sistema para entrar no modo suspender / suspender?
Eu resolvo meu problema com a criação de um script init.d que usa o comando systemd-inhibit:
#!/bin/bash
nohup systemd-inhibit --why="Disable sleep" --mode=block /usr/bin/bash -c "while true; do sleep 120; done" >/dev/null 2>&1 &
exit 0
use:
sudo systemctl mask suspend.target
sudo systemctl mask sleep.target
porque:
O Systemd gerencia tudo isso. Há um milhão de maneiras para algo disparar um desligamento, incluindo o gnome / kde, NetworkManager
e, claro, o próprio systemd. Os alvos de suspensão e suspensão, assim como o desligamento, são "estáticos", isto é, unidades internas centrais que não podem ser desativadas. Você pode, no entanto, mascará-las e impedir que systemd
as insira.
EDIT: Removido --what=idle
do comando - aparentemente isso não é suficiente. O padrão é --what=shutdown:sleep:idle
, que funciona melhor (mas --what=sleep:idle
deve funcionar também).
Pergunta antiga, mas outra variante da solução de inibição systemd é colocar o seguinte em ~/.profile
(no meu caso, pouco antes de o byobu ser lançado). Em seguida, o modo de suspensão será inibido, desde que existam shells de login abertas (ou seja, na maioria das sessões SSH, a menos que você também faça login no console não-GUI).
# Inhibit idle sleep. This background process waits for the current shell to exit.
nohup systemd-inhibit --who=Bash --why="Byobu running" tail --pid=$$ -f /dev/null &
Descobri a parte tail --pid
aqui: link
Tags power-management fedora