Автоматически запускать графический скрипт Python при запуске в Ubuntu

У меня есть скрипт Python, который запускает полноэкранную анимацию при запуске — как настроить запуск при запуске в Ubuntu 16.04? Другие ответы на проблему «скрипт при запуске» не работают, потому что я предполагаю, что они выполняются до того, как среда рабочего стола сможет запуститься...

У меня есть скрипт под названием «startup.sh», который читается как:

xrandr --output HDMI-0 -s 1280x1024

source activate demo

cd ~/demo/

python run.py

Где первая строка устанавливает правильное разрешение - вторая строка активирует среду anaconda, третья строка меняет каталог (части скрипта должны быть в этом каталоге, а 4-я строка, наконец, запускает скрипт, который запускает полноэкранную графику (используя pygame, если это имеет значение.)

Как я могу настроить это на автоматический запуск после завершения настройки Unity? Большое спасибо ... любая помощь или комментарии действительно ценятся ...

EDIT: похоже, у кого-то здесь была похожая проблема: https://www.raspberrypi.org/forums/viewtopic.php?t=128602

Они хотели запустить скрипт pygame при запуске - и смогли сделать это после загрузки среды рабочего стола, поместив вызов своей программы в ~/.config/lxsession/LXDE-pi/autostart - я не использую LXDE - я на единстве, так есть эквивалент?


person Robbie Barrat    schedule 01.02.2019    source источник
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что это может быть хорошим вопросом для Ask Ubuntu. Здесь вопросы должны быть больше связаны с программированием.   -  person Klaus D.    schedule 01.02.2019
comment
Сервер X11 не работает при загрузке системы. Сценарий, который правильно запускается при запуске, не имеет доступа к вашему домашнему каталогу. Вы имеете в виду, что хотите запускать это при входе на рабочий стол?   -  person tripleee    schedule 01.02.2019


Ответы (1)


Самый простой способ запустить вещи при запуске — добавить их в файл /etc/rc.local.

Но чтобы сделать это правильно, вы должны использовать команду update-rc.d. Вы можете попробовать это так:

update-rc.d /path_to_script/script_name.sh start 2

Или используйте update-rc.d /path_to_script/script_name.sh defaults для одновременного создания сценариев запуска и уничтожения.

Для более точных действий вы можете посетить здесь для получения подробной информации: http://manpages.ubuntu.com/manpages/xenial/man8/update-rc.d.8.html.

person Samnan Rahee    schedule 01.02.2019
comment
это не работает для моего случая, что требует от меня ожидания, пока графический сервер не заработает, прежде чем запускать скрипт. - person Robbie Barrat; 01.02.2019