Всем привет!
Пытаюсь добавить python приложение в автозагрузку, но оно не стартует.
"Параметры->Запускаемые приложения"
имя: infopanel
команда: python /home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py
что делаю то не так?
Помогите добавить python приложение в автозагрузку
может добавить строку в /etc/rc.local
[console]/usr/bin/python home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py[/console]
Где лежит питон
[console]whereis python[/console]
ну и дать разрешение на загрузку.
скрипт назначен исполняемым?
Покажите вывод [console]ls -la /home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py[/console]
скрипт исполняемый...
[console]
ielf@aspire ~ $ ls -la /home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py
-rwxr-xr-x 1 ielf ielf 74604 2010-04-18 12:12 /home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py
[/console]
через косоль вручную все работает...а в автозапуске нет....
так вот все добавил...
[console]
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/usr/bin/python home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py
exit 0
[/console]
но все равно не запускается....=(
/usr/bin/python home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py
1)слеш перед home забыли.
2) зачем такой длинный путь? хотите проблем?
скрипт назначен исполняемым?
это НЕ играет никакой роли. сколько повторять-то можно? если уж вы его так криво добавляете. про то как добавляете - см. репутацию.
Индустриальный Эльф, раз из сеанса пользователя запускается, значит скрипту нужны какие-то переменные среды. Например PYTHONPATH :rolleyes: .
[quote=Vadimsky]скрипт назначен исполняемым?
это НЕ играет никакой роли.[/quote]Совершенно верно. Уточню: командой "python" вы дали команду исполнить конкретный скрипт и точка, он будет побывать его исполнить. А вот если вы набираете что-то вида:
[console]./script.py[/console]Только тогда будет играть роль.
Уточню: командой "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
Всегда пожалуйста :D Как умеем, так и советуем. :P
давно хотелось узнать...а собственно вот где конфиг автозагрузки приложений пользователя?а то "Параметры->Запускаемые приложения" не совсем кошерно...
очень даже кошерно - если вы юзаете гном, то почему не использовать автозагрузку гнома?
Если вы юзаете 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, или что там у вас за браузер?
Я просто давно уже не юзал линукс с графикой вот и ляпнул не подумав :D Изучать не буду, т.к. знаю что скрипт запихнутый в rc.local естественно не отработает, да и нет под рукой браузера.. только lynx
XliN, да вы батенька прям как Столлман. smile
И, на мой взгляд, прекрасно подходит для запуска пользовательских программ, не привязанных к какому-нибудь определённому менеджеру окон или рабочему окружению.
а что будет, если юзер вообще не желает запускать X сервер? У вас какое-то странное приложение - без иксов не запускается, а к иксам не привязано. А если к иксам привязано, то запускается как-то странно - после иксов, но до DE. Что это такое? Можно пример?
кстати rc.local вообще не советуют использовать
ну скажем так - использовать-то можно, вопрос - зачем? я вот помню использовал его для монтирования каталогов, которые я не смог смонтировать в начале загрузки (когда монтирует всё mount --all)
Изучать не буду, т.к. знаю что скрипт запихнутый в rc.local естественно не отработает, да и нет под рукой браузера.. только lynx
lynx как раз можно. он может запустится, зайти на какой-нить форум, и написать какое-нить сообщение. типа "привет, я загрузилась!" :)
потому-ка все остальные скрипты будут выполняться после входа в систему.
drBatty, но там проверка какая-то есть на то чем закончилось его выполнение - а вот реакция на отличное от 0 - не помню.