Küçük bir Python betiğinde Ubuntu 11.10'da (Unity ile) duvar kağıdımı değiştirmek istiyorum. Ben yoluyla değiştirebilme imkanı bulduk gconf-editor
in /desktop/gnome/background/picture_filename
. İle python-gconf
, gerekli değerleri değiştirebiliyorum.
Görünüşe göre, gconf dizesi okunmuyor. Değiştirirsem (bir komut dosyası aracılığıyla veya aracılığıyla gconf-editor
), duvar kağıdı kalır ve "Duvar kağıdını değiştir" menüsünde eski duvar kağıdı gösterilir.
Bir Python betiği ile Unity için duvar kağıdını nasıl değiştirebilirim?
Aşağıdaki kod çalışır.
#!/usr/bin/python
# -*- coding: utf-8 -*-
from gi.repository import Gio
class BackgroundChanger():
SCHEMA = 'org.gnome.desktop.background'
KEY = 'picture-uri'
def change_background(self, filename):
gsettings = Gio.Settings.new(self.SCHEMA)
print(gsettings.get_string(self.KEY))
print(gsettings.set_string(self.KEY, "file://" + filename))
gsettings.apply()
print(gsettings.get_string(self.KEY))
if __name__ == "__main__":
BackgroundChanger().change_background("/home/user/existing.jpg")