web-dev-qa-db-ja.com

GUIダイアログウィンドウにすべての `gsettings`を表示するための1行のBash

最近、問題を解決するためにgsettingsを変更する必要があるUbuntuで多くの質問に遭遇しました。たとえば、この質問: 2つのバッテリーのうちの1つが空になったときにシャットダウンを防ぐ方法 は、私にとって新しいgsettingsを参照します。

org.gnome.settings-daemon.plugins.power use-time-for-policy false

gsettingsを毎週ランダムにつまずくのではなく(またはそのように思われる)、現在のgsettingszenity(またはyad)すべてをスクロールできますか?

1

Yadは動作しますが、Zenityは動作しません(まだ)

zenityでこれを試してみましたが、理解できませんでした。私はそれをyadで動作させることができましたが、数日後、yadの専門家から助けを得るためにGoogleグループに頼らなければなりませんでした。彼らは私の1行のbashコードを12時間で修正しました!

yadがまだインストールされていない場合は、以下を使用する必要があります。

Sudo apt install yad

yadを使用すると、任意の列でリストを昇順/降順で並べ替えることができます。スクロールバーをつかんで、リストをすばやく上下に移動できます。上/下矢印、 PgUp、 PgDn、 Home そして End キーは期待どおりにナビゲートします。

ワンライナーbashコード

ターミナルウィンドウにコピーして貼り付けることができるbashワンライナーコードは次のとおりです。

gsettings list-recursively | sed 's/  */\n/;s/  */\n/;s/\&/\&/g' | yad --list --title "gsettings" --item-seperator='\n' --width=1800 --height=800 --wrap-width=600 --column=Group --column=Key --column=Setting --no-markup

これは、画面の幅が1920ピクセルの1080pディスプレイ用です。画面が小さい場合、これらの引数のサイズを小さくします。

--width=1800 --height=800 --wrap-width=600

サンプル出力

yadスクロールボックスが開いたとき、私は:

  • Group列見出しをクリックして、グループで並べ替えます。それ以外の場合、gsettings list-recursivelyはデータベースをダンプするため、順序はランダムです。
  • org.gnome.settings-daemon.plugins.powerセクションを下にスクロールしました。
  • これまで見たことのないgsettingsに気づきましたが、遭遇したサスペンド問題の解決に役立つかもしれません(下のスクリーンショットで強調表示されているように)

yad gsettings.png

ワンライナーはすぐに自己負担します

私が発見した新しいgsettingsは次のとおりです。

$ gsettings get org.gnome.settings-daemon.plugins.power lid-close-suspend-with-external-monitor
false

gsettingsは、私が持っているsystemd設定と矛盾しています:

$ cat /etc/systemd/logind.conf | grep -i lidswitchdock | grep -vF "#"
HandleLidSwitchDocked=suspend

dconf-editor完全なGUIアプリケーション

使用できる完全なGUI dconf-editorもあります: dconfとは何ですか、その機能は何ですか?

リンクを要約するには、次を使用してインストールします。

Sudo apt install dconf-tools

リンク全体を読むことを強くお勧めし、gsettingsの深さもカバーします。

1