Есть ли способ доступа к переменным для редактирования через bash (или другие библиотеки с bash или python)? Аналогично тому, как вы можете использовать gconftool-2 в bash для редактирования свойств, которые будут обновлять их после редактирования.
Например, я хотел бы запустить скрипт для отключения «файлового менеджера для управления рабочим столом» терминалом (bash или python) вместо того, чтобы открывать это окно каждый раз.
Я также пытался установить «show_desktop» в false в nautilus в gconf-editor, но это ничего не делает.
Я использую Ubuntu 11.10 и compiz в качестве оконного менеджера в Gnome (2, я верю, или что-то, что идет с 11.10).
Мы собираемся использовать Gio для получения базового ключа (категория, в которой находится значение). Как только мы получим это значение, мы собираемся установить CheckBox для его изменения. Затем мы настраиваем различные сигналы для прослушивания изменений в настройках и CheckBox. Я знаю, что это не настольный компьютер, но вы можете подключить его к BASE_KEY. Кстати, вы не должны пытаться использовать GConf в GNOME 3, потому что он устарел.
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()