.profile в Ubuntu работает желаемый сценарий Python, но сценарий не работает как обычно?
Я создаю средство смены фона для Ubuntu, используя Python, в основном для развлечения. Когда я запускаю скрипт из оболочки, он работает и чередует фон между изображениями в определенной папке. Сейчас я пытаюсь запустить скрипт через.profile, чтобы он запускался при входе в систему. Сценарий определенно запущен - я помещаю печать в соответствующую функцию, и когда я нажимаю 'alt, ctrl, f3', я вижу вывод оператора print- но по какой-то причине фон не изменится, когда функция называется так. Я не думаю, что это вопрос запуска его из нелокального каталога, как я уже сказал, если я запускаю 'python program/python/desktop_changer/main.py', программа смены рабочего стола работает очень хорошо.
Вот соответствующие части функции:
if __name__ == "__main__":
time.sleep(15)
os.chdir(os.path.dirname(os.path.realpath(__file__)))
while True:
#Set pic, set timer, run continously
for img in os.listdir('pics/'):
#This next line is functional when I hit 'alt, ctrl, f3', outputting the paths for new images every ten seconds
print(os.path.abspath('pics/' + img))
set_gnome_wallpaper(os.path.abspath('pics/' + img))
time.sleep(float(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)
И в ~/.profile: (SPE и 20 не имеют значения аргументы, и их использование закомментировано, пока я не смогу правильно запустить это)
python /home/chessie/program/python/desktop_changer/main.py SPE 20 &