alguém saberia me dizer como faço pra suspender o computador via linha de comando? sem ser o “systemctl suspend”? de preferência pelo vfs do linux? se é que isso é possível
nos sites que encontrei pela internet eu só encontrei o comando “echo 2 > /proc/acpi/wakeup” e o “echo mem > /sys/power/state”, mas o primeiro não existe e o segundo não funciona
Talvez seja por falta de permissão? Acabei de fazer tranquilamente echo mem | sudo tee /sys/power/state
(enquanto obtive Permissão negada
com simplesmente echo mem > /sys/power/state
).
não, eu fiz o “echo mem > /sys/power/state” como root
a tela só pisca e tudo volta ao normal
Você pode tentar usar o dbus para isso. O segredo é mandar uma mensagem pedindo a suspensão do sistema.
dbus-send --print-reply --system --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.Suspend boolean:true
Assumindo que só há uma sessão ativa, vai funcionar. Funcionou aqui.
continua com problema
além do próprio kernel, quais outros componentes participam de uma suspensão?
Basicamente o kernel precisa ter suspensão ativada, o hardware tem que suportar essa configuração, tanto a placa mãe como todos dos demais dispositivos.
Já tive problemas com suspensão quando uma das placas de vídeos entrava no modo de suspensão, e depois que o computador saía, ela não. Daí quando ia tentar a suspensão novamente, acontecia exatamente isso de piscar a tela e não suspender. No meu caso é raro acontecer essa situação e só desligando o computador completamente pra resolver (reiniciar apenas não resolvia).
Verifique o log do sistema, ele pode fornecer informações importantes sobre qual hardware pode estar impedindo a suspensão! Use dmesg
ou journalctl