У меня есть python3-сценарий, который использует Gtk
- модуль (импортированный из gi.repository
, для функциональности недавнего менеджера), требуя ссылки на текущую xserver сессию (lightdm
сервис в Ubuntu).
При выполнении его вручную через консоль (на xserver сессии) работы, но я хочу, чтобы он автоматически работал.
init.d сценарий не будет работать (установка переменной ДИСПЛЕЯ к 0,0). Используя xvfb-run
сделанный init.d сценарием запустить мой скрипт, но в виртуальной xserver среде как ожидалось (не мой). Действительно ли там не эквивалентно, который подключает init.d сценарий к текущей xserver-сессии?
До сих пор я попробовал .xinitrc
файл (в ~/
, да это - исполняемый файл), а также создание .xprofile, .xsession, .xsessionrc
который вся ссылка на первую через ln -s
. Я попытался добавить gnome-terminal &
поскольку тестирование, но терминал не обнаружилось также, было этим после любого перезапуска lightdm
или даже весь ПК и входящий в систему снова.
Я также попробовал Запущенный скрипт конфигурации в X резюме сессии, но это дает ошибку Can't open /usr/share/acpi-support/power-funcs
.
Используя upstart
, как предложено Запущенным скрипт запуска с lightdm не обеспечил бы переменную дисплея xserver (или дескриптор?) также, просто выполняет его после lightdm
запущенный, корректный?
Возможно, поместите его где-нибудь в xorg.conf
? (Как я могу сделать xrandr настройку постоянной?) Бьет меня..
(Мой сценарий делает quicklists недавних файлов и добавляет их к щелчку-правой-кнопкой-menues средства запуска единицы, подобному окнам: https://github.com/thirschbuechler/ubuntu-recentquicklists)
Как во многих случаях, синхронизация является основным вопросом здесь.
Необходимо запустить скрипт appr. Спустя 10-15 секунд после этого входят в систему, который может быть сделан путем добавления также:
/bin/bash -c "sleep 15 && python /path/to/script.py"
(если сценарий не является исполняемым файлом), или
/bin/bash -c "sleep 15 && /path/to/script.py"
(если сценарий является исполняемым файлом) к Приложениям Запуска пользователя: Тире> Приложения Запуска> Добавляет.
При необходимости в сценарии для выполнения за всеми пользователями (после того, как войдите в систему), можно добавить его для Запущения Приложений для всех пользователей сразу.
Чтобы сделать это, скопируйте код ниже в пустой файл, отредактируйте строки, начиная с Name=
и установленный корректный путь к сценарию в строке:
Exec=/bin/bash -c "sleep 15 && python /path/to/script.py"
затем сохраните файл в /etc/xdg/autostart
как launch_script.desktop
(или независимо от того, что Вам нравится, пока это заканчивается .desktop
)
[Desktop Entry]
Name=Name
Exec=/bin/bash -c "sleep 15 && python /path/to/script.py"
Type=Application