Всем привет!
Пытаюсь добавить python приложение в автозагрузку, но оно не стартует.
"Параметры->Запускаемые приложения"
имя: infopanel
команда: python /home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py
что делаю то не так?
Настоятельно просим вас при общении соблюдать Правила форума и законы РФ. Наша тематика вне политики, поэтому воздержитесь от обсуждения ситуации на Украине и связанных с ней событий, независимо от того, какую сторону вы поддерживаете.
Также напоминаем, что наш форум находится в доменной зоне .ru, физически расположен на российских серверах и мы соблюдаем действующее законодательство России. Любые сообщения о политике будут удаляться.
Linux Forum → Общие вопросы → Помогите добавить python приложение в автозагрузку
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Всем привет!
Пытаюсь добавить python приложение в автозагрузку, но оно не стартует.
"Параметры->Запускаемые приложения"
имя: infopanel
команда: python /home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py
что делаю то не так?
может добавить строку в /etc/rc.local
скрипт назначен исполняемым?
Покажите вывод
скрипт исполняемый...
через косоль вручную все работает...а в автозапуске нет....
так вот все добавил...
/usr/bin/python home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py
1)слеш перед home забыли.
2) зачем такой длинный путь? хотите проблем?
скрипт назначен исполняемым?
это НЕ играет никакой роли. сколько повторять-то можно? если уж вы его так криво добавляете. про то как добавляете - см. репутацию.
Индустриальный Эльф, раз из сеанса пользователя запускается, значит скрипту нужны какие-то переменные среды. Например PYTHONPATH :rolleyes: .
Vadimsky пишет:скрипт назначен исполняемым?
это НЕ играет никакой роли.
Совершенно верно. Уточню: командой "python" вы дали команду исполнить конкретный скрипт и точка, он будет побывать его исполнить. А вот если вы набираете что-то вида:
Уточню: командой "python" вы дали команду исполнить конкретный скрипт и точка, он будет побывать его исполнить.
чуть ещё уточню: что-бы запустилось, необходимо и достаточно двух прав:
1) право исполнения файла /usr/bin/python
2) право чтения файла /home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py
ну и естественно, оба эти файла должны существовать. Второй файл может не существовать по двум причинам:
криворукость №1: из-за длинного и кривого пути автор написал его неправильно
криворукость №2: в пути есть русские буквы, обеспечил-ли автор побайтное совпадение этих букв в момент сохранения файла, и в момент исполнения? лично я - не знаю. Думаю автор - тоже 
Ну и конечно засовывать в системную автозагрузку скрипт из userspace - криворукость №3. Спасибо XliN, за идиотский совет 
давно хотелось узнать...а собственно вот где конфиг автозагрузки приложений пользователя?а то "Параметры->Запускаемые приложения" не совсем кошерно...
давно хотелось узнать...а собственно вот где конфиг автозагрузки приложений пользователя?а то "Параметры->Запускаемые приложения" не совсем кошерно...
Зависит от используемого рабочего окружения и менеджера окон, для KDE, к примеру, это — ~/.kde4/Autostart. Из «универсальных» решений — ~/.config/autostart, ну и различные ~/.bashrc, ~/.zshrc, ~/.xinitrc и им подобные
Ну и конечно засовывать в системную автозагрузку скрипт из userspace - криворукость №3. Спасибо XliN, за идиотский совет mad
Всегда пожалуйста
Как умеем, так и советуем. 
давно хотелось узнать...а собственно вот где конфиг автозагрузки приложений пользователя?а то "Параметры->Запускаемые приложения" не совсем кошерно...
очень даже кошерно - если вы юзаете гном, то почему не использовать автозагрузку гнома?
Если вы юзаете bash shell, то самое кошерное:
When an interactive shell that is not a login shell is started, bash reads and executes commands from
~/.bashrc, if that file exists. This may be inhibited by using the --norc option. The --rcfile file
option will force bash to read and execute commands from file instead of ~/.bashrc.
~/.xinitrc
ИМХО это не кошерно - этот скрипт нужен для запуска WM/DE, а не для старта каких-то программ.
Проблема этих скриптов (и уж тем более rc.local) в том, что во первых многие из них выполняются от другого пользователя (а все тут наверное уже знают - под рутом работают только маздайные ламеры), а во вторых, среда исполнения на данный момент ещё не полностью готова. От чего и происходить множество проблем.
скрипт rc.local выполняется в самом конце загрузки ОС, и нужен, если администратор решил нанести последний штрих.
После него стартует X-сервер, затем менеджер выбора DE, а после него само DE. Вот когда это DE УЖЕ работает, и нужно запускать приложения пользователя. А если их запускать в rc.local, то кошерные приложения просто откажутся работать, отправив горе-одмина читать маны 
Как умеем, так и советуем.
что мешает изучить вопрос получше? например попробуйте засунуть туда firefox, или что там у вас за браузер?
ИМХО это не кошерно - этот скрипт нужен для запуска WM/DE, а не для старта каких-то программ.
Я бы выразился иначе — команды, указанные в этом файле, обрабатываются при запуске «иксов», в том числе это может быть (но совсем не обязательно) и запуск какого-либо WM/DE. И, на мой взгляд, прекрасно подходит для запуска пользовательских программ, не привязанных к какому-нибудь определённому менеджеру окон или рабочему окружению.
Мне кажется название InfoPanelScreenlet.py само за себя говорит, что запускаться должно после старта иксов, и уж никак не из rc.local, кстати rc.local вообще не советуют использовать, и выход из него должен быт =0, не зря там exit 0 стоит.
что мешает изучить вопрос получше? например попробуйте засунуть туда firefox, или что там у вас за браузер?
Я просто давно уже не юзал линукс с графикой вот и ляпнул не подумав
Изучать не буду, т.к. знаю что скрипт запихнутый в rc.local естественно не отработает, да и нет под рукой браузера.. только lynx
XliN, да вы батенька прям как Столлман. smile
И, на мой взгляд, прекрасно подходит для запуска пользовательских программ, не привязанных к какому-нибудь определённому менеджеру окон или рабочему окружению.
а что будет, если юзер вообще не желает запускать X сервер? У вас какое-то странное приложение - без иксов не запускается, а к иксам не привязано. А если к иксам привязано, то запускается как-то странно - после иксов, но до DE. Что это такое? Можно пример?
кстати rc.local вообще не советуют использовать
ну скажем так - использовать-то можно, вопрос - зачем? я вот помню использовал его для монтирования каталогов, которые я не смог смонтировать в начале загрузки (когда монтирует всё mount --all)
Изучать не буду, т.к. знаю что скрипт запихнутый в rc.local естественно не отработает, да и нет под рукой браузера.. только lynx
lynx как раз можно. он может запустится, зайти на какой-нить форум, и написать какое-нить сообщение. типа "привет, я загрузилась!" 
потому-ка все остальные скрипты будут выполняться после входа в систему.
drBatty, но там проверка какая-то есть на то чем закончилось его выполнение - а вот реакция на отличное от 0 - не помню.
а что будет, если юзер вообще не желает запускать X сервер? У вас какое-то странное приложение - без иксов не запускается, а к иксам не привязано. А если к иксам привязано, то запускается как-то странно - после иксов, но до DE. Что это такое? Можно пример?
Я и не говорил, что этот файл — единственно возможное место для запуска программ.
А пример можно:
lupo@gentoo-laptop ~ % cat ~/.xinitrc [gentoo-laptop][19:11]
#!/bin/sh
# Run conky
conky -c ~/.conky/conkyrc_head &
conky -c ~/.conky/conkyrc_info &
# Run XScreensaver
xscreensaver -nosplash &
# Run Wicd client for managing wifi and wired sets.
wicd-gtk &
# Run Keepassx password manager.
keepassx &
# Run Klipper
klipper &
# Run XXkb
#xxkb &
# Run kbdd
kbdd &
# Run @
exec awesomeно там проверка какая-то есть на то чем закончилось его выполнение - а вот реакция на отличное от 0 - не помню.
в слаке нет. но в слаке заканчивать этот скрипт на exit НЕЛЬЗЯ!
ибо:
# Start the local setup procedure.
if [ -x /etc/rc.d/rc.local ]; then
. /etc/rc.d/rc.local
fi
# All done.т.е, если rc.local существует, и у рута есть право исполнения его, то этот скрипт ВКЛЮЧАЕТСЯ в скрипт rc.M. Если в нём стоит команда exit, то прервётся не только rc.local, но и rc.M. К счастью, в данном конкретном случае это неважно (просто не выполнится fi, больше и команд-то нет), но вообще, этой вашей exit можно огрести проблем вплоть до полной неработоспособности системы.
Это в слаке, в других дистрибутивах всё сложнее, в каждом конкретном случае надо разбираться. Но лучше ничего не трогать.
Lupo Alberto, ну я про это и говорил - упомянутые вами приложения потеряют родителя, ибо exec ЗАМЕЩАЕТ процесс, а не запускает новый. Это может привести к появлению зомби и других неприятных сущностей. впрочем - дело ваше...
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Linux Forum → Общие вопросы → Помогите добавить python приложение в автозагрузку
Форум работает на PunBB, при поддержке Informer Technologies, Inc