Debianサーバーを制御するためにMQTTプログラムを設定しました。サーバーキャビネットにモーションセンサーがあり、キャビネットに入るとき(マウスを動かしたりキーボードをタッチする前でも)、画面が自動的にオンになります。 5分間活動がなければ画面が消えるようにしたいと思います。
sudo vbetool dpms off
実行してモニターをオフにしてから再度sudo vbetool dpms on
入れることができました。ところで、モニターの電源を切ってもVNCを介してサーバーに接続できることがわかりました。
設定には以下のバッテリー節約オプションがありますが、「黒い画面」の設定によってすべてが中断されるようです。
「ブラックスクリーン」が有効になると、sudo vbetool dpms on
画面は点灯しますが、黒くなります。 VNC経由で接続できなくなりました。
コマンドラインでDebianの「黒い画面」を無効にする方法は?揺れるマウスをシミュレートするために何かを実行できますか?または、「黒い画面」設定を無効にし、アクティビティがないときに画面をオフにするには、別の方法を使用する必要がありますか? (xスクリーンセーバー?)
xset
私はWaylandを使っているので、オンラインで見つけたコマンドやXorgの他のコマンドを実行できないようです。
「セッション」を含むすべてのプロセスは次のとおりです。
# ps ax | grep session
24510 ? Ss 0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
27420 ? Sl 0:00 gdm-session-worker [pam/gdm-password]
27451 ? Ss 0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
27475 ? S<l 0:00 /usr/bin/pipewire-media-session
27480 tty3 Ssl+ 0:00 /usr/libexec/gdm-wayland-session /usr/bin/gnome-session
27487 tty3 Sl+ 0:00 /usr/libexec/gnome-session-binary --systemd
27541 ? Ssl 0:00 /usr/libexec/gnome-session-ctl --monitor
27546 ? Ssl 0:00 /usr/libexec/gnome-session-binary --systemd-service --session=gnome
27708 ? Sl 0:00 /usr/libexec/at-spi2-registryd --use-gnome-session
28262 pts/1 S+ 0:00 grep --color=auto session
答え1
ついに信頼できる解決策を見つけました。マウスを動かしたりキーストロークを送信したりするために使用できるコマンドラインツール「ydotool」があります。
aptを使用してインストールできるバージョンは古すぎてバグが多く、GitHubで複製してソースからコンパイルする必要がありました。このために実行したすべてのコマンドは次のとおりです。
git clone https://github.com/ReimuNotMoe/ydotool
cd ydotool
mkdir build
cd build
cmake ..
make -j `nproc`
sudo make install
cp ydotool.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable ydotool.service
systemctl start ydotool.service
ydotool
これで使用できるコマンドが作成されました。
以下は、画面を目覚めさせるために書いたシンプルな「wiggle mouse」スクリプトです。
#!/bin/bash
set -eu
ydotool mousemove --absolute -- 355 0
sleep 0.1
ydotool mousemove --absolute -- 350 0
これは私にとってうまく機能し、Debianのスリープ設定に組み込まれている「黒い画面」機能を引き続き使用できます。