web-dev-qa-db-ja.com

Gnome Tweak Toolはbash / pythonで編集できますか?

Bash(またはbashまたはpythonを使用する他のライブラリ)を介して編集する変数にアクセスする方法はありますか? bashで「gconftool-2」を使用してプロパティを編集し、編集後にプロパティを更新する方法と同様です。

たとえば、毎回このウィンドウを開くのではなく、ターミナル(bashまたはpython)で「デスクトップを処理するファイルマネージャー」を無効にするスクリプトを実行したいと思います。

また、gconf-editorのnautilusで「show_desktop」をfalseにしようとしましたが、何もしません。

私はUbuntu11.10とcompizをGnomeのウィンドウマネージャーとして使用しています(2、または11.10に付属しているものは何でも)。

2
user654628

Gioを使用してベースキー(値が存在するカテゴリ)を取得します。その値を取得したら、その値にチェックボックスを設定して値を変更します。次に、設定とチェックボックスの変更をリッスンするためにさまざまな信号を設定します。デスクトップではないことはわかっていますが、BASE_KEYに接続できます。ちなみに、GNOME 3ではGConfが非推奨になっているため、GConfを試して使用しないでください。

from gi.repository import Gio, Gtk

class GSettingsTest(object):
    BASE_KEY = "org.gnome.nautilus.preferences"
    def __init__(self):
        # Make a check button to change the value.
        settings = Gio.Settings(self.BASE_KEY)
        change_check = Gtk.CheckButton("Always Use Browser")
        change_check.set_active (settings.get_boolean("always-use-browser"))
        settings.connect("changed::always-use-browser", self.on_changed, change_check)
        change_check.connect('toggled', self.on_check_clicked, settings)

        window = Gtk.Window(type = Gtk.WindowType.TOPLEVEL)
        window.set_title("Change Nautilus")
        window.set_border_width(24)
        window.connect("delete-event", Gtk.main_quit)
        window.add(change_check)
        window.show_all()
        Gtk.main()

    def on_changed(self, settings, key, change_check):
        change_check.set_active(settings.get_boolean("always-use-browser"))

    def on_check_clicked(self, button, settings):
        settings.set_boolean("always-use-browser", button.get_active())


if __name__ == '__main__':
    app = GSettingsTest()

What the program looks like, with the settings synced.

1
Nicholos Tyler