Tôi muốn thay đổi hình nền của mình trong Ubuntu 11.10 (với Unity) trong một tập lệnh Python nhỏ. Tôi thấy khả năng để thay đổi nó thông qua gconf-editor
trong /desktop/gnome/background/picture_filename
. Với python-gconf
, tôi có thể thay đổi các giá trị cần thiết.
Rõ ràng, chuỗi gconf không được đọc ra. Nếu tôi thay đổi nó (thông qua một tập lệnh hoặc thông qua gconf-editor
), hình nền vẫn còn và trong menu "Thay đổi hình nền", hình nền cũ sẽ được hiển thị.
Làm cách nào tôi có thể thay đổi hình nền cho Unity thông qua tập lệnh Python?
Các mã sau đây không hoạt động.
#!/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")