O protetor de tela Cinnamon oferece o serviço DBus org.cinnamon.ScreenSaver
, que, entre outros, tem o seguinte método:
method void org.cinnamon.ScreenSaver.Lock(QString body)
Este método é exatamente aquele que é chamado ao bloquear a tela com uma mensagem personalizada. Se você quiser chamar isso de um script bash, você precisa de um frontend DBus, como gdbus ou qdbus.
Eu pessoalmente prefiro o qdbus, pois ainda não entendi a sintaxe do gdbus. Você pode, no entanto, ter que instalar o qdbus primeiro com
sudo apt-get install qdbus
Isso também pode instalar algumas outras bibliotecas do Qt. Quando instalado, você pode chamar o método usando
qdbus org.cinnamon.ScreenSaver / Lock "$message"
com $message
contendo sua mensagem personalizada. Essa chamada de método, no entanto, não funcionará se a tela já estiver bloqueada. Se este for o caso, o método será bloqueado até que a tela seja desbloqueada e, em seguida, retorne sem voltar a bloquear a tela.