从命令行为 Cinnamon Lock 屏幕设置消息

从命令行为 Cinnamon Lock 屏幕设置消息

我正在尝试创建一个小脚本,以便在锁定计算机屏幕时设置随机消息。

所以我需要能够从命令行定义一条消息,并在执行锁屏功能时调用它。

我找到了锁定屏幕的命令:cinnamon-screensaver-command -l但是在男人没有关于如何定义锁屏消息的详细信息。

如果您有一些想法...

答案1

cinnamon-screensaver-command 现在有一个“-m”或“--away-message”选项,因此您可以使用它。我有一个小的 shell 脚本,内容如下:

#!/bin/sh

cinnamon-screensaver-command -l -m $(fortune -s)

答案2

Cinnamon 屏幕保护程序提供了 DBus 服务org.cinnamon.ScreenSaver,其中包括以下方法:

method void org.cinnamon.ScreenSaver.Lock(QString body)

此方法正是使用自定义消息锁定屏幕时调用的方法。如果您想从 bash 脚本调用此方法,则需要一个 DBus 前端,例如 gdbus 或 qdbus。

我个人更喜欢 qdbus,因为我还不理解 gdbus 的语法。不过,你可能需要先安装 qdbus,方法是:

sudo apt-get install qdbus

这可能还会安装一些其他 Qt 库。安装后,你可以使用以下方法调用该方法:

qdbus org.cinnamon.ScreenSaver / Lock "$message"

包含$message您的自定义消息。但是,如果屏幕已锁定,则此方法调用将不起作用。如果是这种情况,该方法将阻塞,直到屏幕解锁,然后返回而不重新锁定屏幕。

相关内容