web-dev-qa-db-ja.com

シナモンロック画面のコマンドラインからメッセージを設定する

コンピューターの画面をロックするときにランダムメッセージを設定する小さなスクリプトを作成しようとしています。

だから、私はコマンドラインからメッセージを定義し、ロック画面機能を実行するときにそれを呼び出すことができる必要があります。

画面をロックするコマンドが見つかりました:cinnamon-screensaver-command -lしかしmanには、ロック画面メッセージの定義方法に関する詳細はありません。

アイデアがあれば...

3
Etienne Prothon

CinnamonスクリーンセーバーはDBusサービスorg.cinnamon.ScreenSaverには、特に次のメソッドがあります。

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

このメソッドは、カスタムメッセージで画面をロックするときに呼び出されるものです。これをbashスクリプトから呼び出す場合、gdbusやqdbusなどのDBusフロントエンドが必要です。

私は個人的にはgdbusの構文をまだ理解していないので、qdbusを好みます。ただし、最初にqdbusをインストールする必要がある場合があります

Sudo apt-get install qdbus

これにより、他のQtライブラリもインストールされる場合があります。インストールすると、次を使用してメソッドを呼び出すことができます

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

$messageカスタムメッセージが含まれています。ただし、画面が既にロックされている場合、このメソッド呼び出しは機能しません。この場合、メソッドは画面がロック解除されるまでブロックし、画面を再ロックせずに戻ります。

1
s3lph

cinnamon-screensaver-commandには、このための「-m」または「--away-message」オプションが追加されたため、そのまま使用できます。次のような小さなシェルスクリプトがあります。

_#!/bin/sh_

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

2
Dave Cridland