Em algumas circunstâncias, não quero que minha tela bloqueie. (Normalmente: estou me afastando da mesa, enquanto uma computação está sendo executada, mas não saio da sala e ainda fico de olho no motivo pelo qual ela está ativa; às vezes, adiciono mais tarefas a uma fila, então que não está "feito quando está feito")
Existe um mecanismo para informar a sessão do GNOME ou ~ screensaver para não bloquear? Eu esperava que houvesse uma API DBUS inteligente para isso, mas a documentação do GNOME parece depender do homedir privado de alguém que o excluiu: https://wiki.gnome.org/Projects/SessionManagement/GnomeSession#D-Bus_API links para o 404 https://www.gnome.org/~mccann/gnome-session/docs/gnome-session.html .
Melhor ainda: existe uma API padronizada do Freedesktop para isso? Eu trabalho principalmente na sessão Cinnamon com um WM incrível, mas esse problema eu encontro principalmente em máquinas onde só tenho acesso a uma sessão do Gnome; no entanto, se houver uma solução de tamanho único, eu preferiria isso.
Pelo menos no X, você pode usar
xdg-screensaver
para inibir um protetor de tela compatível, desde que exista uma determinada janela:Existe uma interface Freedesktop D-Bus para protetores de tela , que você invocaria usando algo como
mas isso não funciona,
dbus-send
pois está vinculado ao chamador - chamá-lo de um script Python de longa duração deve resolver o problema.(
--print-reply
está incluído porque o valor de retorno é importante — é um cookie usado para desinibir o protetor de tela.)Consulte também Impedir que o sistema entre em suspensão/suspensão - como o Xviewer/VLC faz isso