
私は最近Gnome 2からGnome 3に切り替えました(以前はLinuxに切り替えました)、Gnome 3は特にデフォルト設定を変更せずにGUIを介して設定を変更するための多くのオプションを提供していません。
特に、カバーを閉じるときに一時停止したくないので、ラップトップのカバーを閉じる動作を変更しようとしています。 (私はgnome-tweak-toolを通して私のユーザーのためにこの設定を変更しました。)
私は何度も失敗しようとしました。私はこれがsudo
一部のユーザーに関連していると思いますsudo
。根または汎用データ管理。
私はこれを試しました(GnomeセッションのコンソールウィンドウとリモートシステムのSSHセッションで):
> sudo gsettings get org.gnome.settings-daemon.plugins.power lid-close-ac-action
'suspend'
> sudo gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action "blank"
これを行うには、X11を初期化できないというエラーが発生します。
私も次のことを試しました。
> sudo -u gdm gsettings get org.gnome.settings-daemon.plugins.power lid-close-ac-action
しかしこれには汎用データ管理一度も設定したことのないパスワードです。続行しますpasswd
が、次のメッセージが表示されます。Cannot unlock the password for `gdm'!
また、ユーザーを強制的にロック解除しようとしますが、これらの抵抗はこのパスを放棄する必要があることを示唆しています。
これらのうちの1つが自分で質問する価値があるかどうかはわかりませんが、最終的にはラップトップカバーの閉じる設定(すべてのユーザーのデフォルト)を設定したいと思います。しかし、設定方法についてもっと広く理解したいと思います。 Gnomeの基本設定です。
答え1
sudo su gdm -c 'gsettings …'
(または)を実行しますsudo sudo -u gdm gsettings …
。 sudoを介してコマンドを実行するための特定の権限がsudo -u gdm
ないため、このコマンドはパスワードの入力を求めます。gdm
しかし、rootはすべてのユーザーを奪うことができ、rootになる可能性があるため、最初にrootになりますgdm
。
gsettings
ユーザーとして実行すると、gdm
ログイン画面の電源管理設定が設定されているかどうかはわかりません。もう一度試すことができるもう1つの方法は、スクリプト/etc/gdm/Init/
(またはディストリビューションがGdm構成ファイルを保存する場所)でコマンドを実行することです。
答え2
ユーレカ!
ここに答えを組み合わせていただきありがとうございます。ログイン画面の壁紙設定に関する議論と他のコンソールでXプログラムを実行することに関する一般的な議論、ついに問題を正常に解決しました。
ユーザーとして設定する必要がありますgdm
。ただし、単に実行するとX11エラーが発生gsettings set ...
し、失敗します。gdm
したがって、Xセッションにもコマンドを添付する必要があります。
しかしsudo su gdm
、私が望むように端末が提供されていないgdm
ので、必要なコマンドを実行するための簡単なシェルスクリプトを書くようになりました。
setblank.sh:
#!/bin/sh
export DISPLAY=":0"
export XAUTHORITY="$1"
export XAUTHLOCALHOSTNAME="localhost"
gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action "blank"
またはより一般的に(gset.sh
):
#!/bin/sh
export DISPLAY=":0"
export XAUTHORITY="$1"
export XAUTHLOCALHOSTNAME="localhost"
gsettings set $2 $3 $4
これがあれば、次のように呼び出すことができます。
sudo sudo -u gdm gset.sh Xauthority-file org.gnome.settings-daemon.plugins.power lid-close-ac-action "blank"
これは成功です!
Xauthorityファイルに関する追加の注意:gdmが読み取る権限を持つファイルにユーザーのXauthorityファイルをコピーする必要があります。 (速くて汚い例:cp $XAUTHORITY /tmp/.Xauthority
とchown gdm:root /tmp/.Xauthority
)
答え3
dbus-launch
私は接続するXセッションを見つけるのではなく、このコマンドを使用してこれを行うことができることを見つけました。
root
//次のパターンを使用して、他の人のGNOME設定を更新できます。gdm
sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action "blank"
答え4
gdmユーザーとしてログインしないでください。これは、オペレーティングシステムがファイルセットの所有権と関連する読み取り、書き込み、および実行権限を割り当てる便利な方法にすぎません。
試したときにコンソールまたはxsessionにログインしましたか?
gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'blank'
私はjoeuserとしてログインし、sudo su -
次のことをしました。
gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'blank'
エラーは発生しませんでした。
あるいは、rootとして、すべてのユーザーのデフォルトのXMLスキーマファイルを編集することもできます。
sudo vi /usr/share/glib-2.0/schemas/org.gnome.settings-daemon.plugins.power.gschema.xml
「lid-close-ac-action」キーを検索して<default>
値を変更します。