web-dev-qa-db-ja.com

スクリーンセーバーのグローバルタイムアウトを設定するにはどうすればよいですか?

すべての新しいユーザーアカウントに影響するグローバルスクリーンセーバーとブランキングアイドルタイムアウト(画面ロック付き)を設定しようとしています。 12.04のgnome-screensaverは、ユーザーが構成すると、〜/ .dconfの一部のデータをblobに書き込むことに気付きましたが、グローバルに設定する方法がわかりません。また、グローバルタイムアウトがブランキングで10分であることも知っていますが、これがシステム全体で設定される場所がわかりません。 dconfの移行全体が少し難しいと感じました。

この方法でgnome-screensaverを構成できない場合は、xscreensaver/xlockを使用したソリューションに非常に興味があります。

これの目的は、自動ロックで空白の画面を設定することです。リソースの使用とセキュリティのためです。

これは、UnityおよびLightDMを使用したデフォルトのUbuntu 12.04デスクトップインストールであることを忘れていました。ただし、gnome-Shellとgnome-session-fallbackをインストールして、ユーザーが選択できるようにします。ソリューションが異なるセッション間で機能する場合、それは素晴らしいことです。

7
martin

使用されるdconfキー

Dconfで変更されたキーを知るには、設定を変更するときにdconf watch /を使用できます。この場合、次のようなものが表示されます。

/org/gnome/settings-daemon/plugins/power/sleep-display-ac
  1800

/org/gnome/settings-daemon/plugins/power/sleep-display-battery
  1800

/org/gnome/desktop/session/idle-delay
  uint32 1800

次に、これらのキーを/etc/dconfのファイルに配置します。

/etc/dconfを作成してアクティブにします

このディレクトリが存在しない場合は、次のコマンドを使用して作成し、使用を有効化する必要があります。

mkdir -p /etc/dconf/profile /etc/dconf/db/local.d
cat <<EOF >/etc/dconf/profile/user
user-db:user
system-db:local
EOF

cf: https://live.gnome.org/dconf/SystemAdministrators

グローバル設定をする

/etc/dconf/db/local.dという名前のファイルを使用します(例:screensaver-delay):

[org/gnome/settings-daemon/plugins/power]
sleep-display-ac=1800
sleep-display-battery=1800

[org/gnome/desktop/session]
idle-delay=1800

コマンドdconf updateを実行して適用します。キーがユーザー定義値と競合しない場合に使用されるファイル/etc/dconf/db/localを(再)生成します。

グローバル値を強制する

ユーザーが選択した値にこれらのグローバル値を強制する場合は、/etc/dconf/db/local.d/locksなどの名前のscreensaver-delay内のファイルを使用して実行できます。

# Force screensaver delay
/org/gnome/settings-daemon/plugins/power/sleep-display-ac
/org/gnome/settings-daemon/plugins/power/sleep-display-battery
/org/gnome/desktop/session/idle-delay

xscreensaverオプション(Xubuntu 12.04でテスト済み):/etc/X11/app-defaults/XScreenSaver(rootとして)を編集して、lockTrueに設定し、lockTimeoutを任意の時間に設定します。これにより、すべてのユーザーのデフォルトが変更されますが、ユーザーは通常の設定メカニズムを使用してデフォルトを変更できます。

2
weronika