インストール/初期設定中にスクリーンセーバーを無効にする

インストール/初期設定中にスクリーンセーバーを無効にする

OS(rhel7.3)のインストール中は、すべての画面ブランキング/ロックを無効にする必要があります。検索して発見した

gsettings set org.gnome.desktop.session idle-delay 0

インストール後にグラフィック端末でテストするときに機能します。ただし、初期設定で実行されるスクリプトでこれを実行すると失敗します。

インストールの終わりに、ランレベル3で実行されるスクリプトの一部として実行しようとしましたが、失敗しました。

dconf-WARNING **: failed to commit changes to dconf: Error spawning command line 'dbus-launch --autolaunch=(long hex id here) --binary-syntax --close-stderr': Child process exited with code 1

そして、ワンタイムシステムサービスを作成してくださいssoff.service

[Unit]
Description=Disable screen blanking
[Service]
Type=oneshot
ExecStart=/usr/bin/gsettings set org.gnome.desktop.session idle-delay 0
[Install]
WantedBy=graphical.target

ただし、表示されたログに同じエラーメッセージが表示されますsystemctl status ssoff。 (これはすべてのブートで実行されることを知っていますが、これは正しい方法ではありませんが、うまくいけば十分だと思います。)

このような場合、システムはこのコマンドを実行する準備ができていないようです。最後に手動で実行しなくても、どのようにこれを達成できますか?

ベストアンサー1

gsettingsとdconfの両方でDBusを有効にする必要があります。

私はこれが次のように動作すると想像しています(テストされていませんが):

[Unit]
Description=Disable screen blanking
[Service]
Type=dbus
Busname=org.example.ssoff
ExecStart=/usr/bin/gsettings set org.gnome.desktop.session idle-delay 0
[Install]
WantedBy=graphical.target

またできることはdconf write /org/gnome/desktop/session/idle-delay 'uint32 0'

おすすめ記事