Я в настоящее время пишу фоновый преобразователь для Ubuntu, которая работает после входа в систему. После большого количества головы-desking я наконец решил, что приложение автоматического запуска было способом сделать это.
Однако автоматически запустите заявки, которые я не подаю в Приложениях Запуска, GUI не будет работать, даже если они будут вставляться копией. (Они не будут работать при создании или программно или ручном полицейском я означаю говорить.) я попытался очень трудно копировать вывод файла GUI, но независимо от того, что я пробую, он просто не будет работать. Они не будут работать при сохранении как python.desktop. Они не будут работать при сохранении в desktop_changer.desktop
. Однако вручную и программно вставленные файлы появится в GUI, и если я внесу небольшую корректировку в GUI (таком как то, чтобы менять имя или добавление пространства), то они будут внезапно работать! Действительно ли там что-то очевидно, что я отсутствую?
Python:
with open(os.path.expanduser("~/.config/autostart/python.desktop"), "w") as file:
command = "[Desktop Entry] \nType=Application \nExec=python {}/main.py {} {}\nName=Desktop Changer\n".format(path, arg, minutes)
file.write(command)
Основной метод:
if __name__ == "__main__":
time.sleep(10)
os.chdir(os.path.dirname(os.path.realpath(__file__)))
while True:
#Set pic, set timer, run continously
for img in os.listdir('pics/'):
print(os.path.abspath('pics/' + img))
set_gnome_wallpaper(os.path.abspath('pics/' + img))
time.sleep(10)
И set_gnome_wallpaper()
:
def set_gnome_wallpaper(file_path):
command = "gsettings set org.gnome.desktop.background picture-options 'zoom' && gsettings set org.gnome.desktop.background picture-uri file://'%s'" % file_path
subprocess.call(command, shell=True)
Вывод файла (~/.config/autostart/python.desktop
):
[Desktop Entry]
Type=Application
Exec=python /home/chessie/program/python/desktop_changer/main.py SPE 60.0
Name=Desktop Changer
Когда я делаю это через GUI и удаляю посторонние части (~/.config/autostart/python.desktop):
[Desktop Entry]
Type=Application
Exec=python /home/chessie/program/python/desktop_changer/main.py SPE 60.0
Name=Desktop Changer
Я не могу вообразить то, что могло вызывать несоизмеримость. У кого-либо есть какая-либо идея?