Como suspender o computador pelo vfs do linux?

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