LinuxForum.Fans
Тема

Помогите добавить python приложение в автозагрузку

Автор: u___________________ 22 сообщений 5559 просмотров
#140402

Всем привет!
Пытаюсь добавить python приложение в автозагрузку, но оно не стартует.
"Параметры->Запускаемые приложения"
имя: infopanel
команда: python /home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py

что делаю то не так?

#140409

может добавить строку в /etc/rc.local
[console]/usr/bin/python home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py[/console]
Где лежит питон
[console]whereis python[/console]
ну и дать разрешение на загрузку.

#140410

скрипт назначен исполняемым?
Покажите вывод [console]ls -la /home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py[/console]

#140445

скрипт исполняемый...
[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]
но все равно не запускается....=(

#140449
Индустриальный Эльф написал:
/usr/bin/python home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py

1)слеш перед home забыли.
2) зачем такой длинный путь? хотите проблем?

#140451
Vadimsky написал:
скрипт назначен исполняемым?

это НЕ играет никакой роли. сколько повторять-то можно? если уж вы его так криво добавляете. про то как добавляете - см. репутацию.

#140459

Индустриальный Эльф, раз из сеанса пользователя запускается, значит скрипту нужны какие-то переменные среды. Например PYTHONPATH :rolleyes: .

#140483
drBatty написал:
[quote=Vadimsky]скрипт назначен исполняемым?

это НЕ играет никакой роли.[/quote]Совершенно верно. Уточню: командой "python" вы дали команду исполнить конкретный скрипт и точка, он будет побывать его исполнить. А вот если вы набираете что-то вида:
[console]./script.py[/console]Только тогда будет играть роль.

#140584
moscwich написал:
Уточню: командой "python" вы дали команду исполнить конкретный скрипт и точка, он будет побывать его исполнить.

чуть ещё уточню: что-бы запустилось, необходимо и достаточно двух прав:

1) право исполнения файла /usr/bin/python
2) право чтения файла /home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py

ну и естественно, оба эти файла должны существовать. Второй файл может не существовать по двум причинам:

криворукость №1: из-за длинного и кривого пути автор написал его неправильно
криворукость №2: в пути есть русские буквы, обеспечил-ли автор побайтное совпадение этих букв в момент сохранения файла, и в момент исполнения? лично я - не знаю. Думаю автор - тоже :(

Ну и конечно засовывать в системную автозагрузку скрипт из userspace - криворукость №3. Спасибо XliN, за идиотский совет :[

#140992

давно хотелось узнать...а собственно вот где конфиг автозагрузки приложений пользователя?а то "Параметры->Запускаемые приложения" не совсем кошерно...

#140997
Индустриальный Эльф написал:
давно хотелось узнать...а собственно вот где конфиг автозагрузки приложений пользователя?а то "Параметры->Запускаемые приложения" не совсем кошерно...

Зависит от используемого рабочего окружения и менеджера окон, для KDE, к примеру, это — ~/.kde4/Autostart. Из «универсальных» решений — ~/.config/autostart, ну и различные ~/.bashrc, ~/.zshrc, ~/.xinitrc и им подобные

#141075
drBatty написал:
Ну и конечно засовывать в системную автозагрузку скрипт из userspace - криворукость №3. Спасибо XliN, за идиотский совет mad

Всегда пожалуйста :D Как умеем, так и советуем. :P

#141116
Индустриальный Эльф написал:
давно хотелось узнать...а собственно вот где конфиг автозагрузки приложений пользователя?а то "Параметры->Запускаемые приложения" не совсем кошерно...

очень даже кошерно - если вы юзаете гном, то почему не использовать автозагрузку гнома?

Если вы юзаете bash shell, то самое кошерное:

man bash написал:
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.
Lupo Alberto написал:
~/.xinitrc

ИМХО это не кошерно - этот скрипт нужен для запуска WM/DE, а не для старта каких-то программ.

Проблема этих скриптов (и уж тем более rc.local) в том, что во первых многие из них выполняются от другого пользователя (а все тут наверное уже знают - под рутом работают только маздайные ламеры), а во вторых, среда исполнения на данный момент ещё не полностью готова. От чего и происходить множество проблем.

скрипт rc.local выполняется в самом конце загрузки ОС, и нужен, если администратор решил нанести последний штрих.

После него стартует X-сервер, затем менеджер выбора DE, а после него само DE. Вот когда это DE УЖЕ работает, и нужно запускать приложения пользователя. А если их запускать в rc.local, то кошерные приложения просто откажутся работать, отправив горе-одмина читать маны :(

#141119
XliN написал:
Как умеем, так и советуем.

что мешает изучить вопрос получше? например попробуйте засунуть туда firefox, или что там у вас за браузер?

#141121
drBatty написал:
ИМХО это не кошерно - этот скрипт нужен для запуска WM/DE, а не для старта каких-то программ.

Я бы выразился иначе — команды, указанные в этом файле, обрабатываются при запуске «иксов», в том числе это может быть (но совсем не обязательно) и запуск какого-либо WM/DE. И, на мой взгляд, прекрасно подходит для запуска пользовательских программ, не привязанных к какому-нибудь определённому менеджеру окон или рабочему окружению.

#141127

Мне кажется название InfoPanelScreenlet.py само за себя говорит, что запускаться должно после старта иксов, и уж никак не из rc.local, кстати rc.local вообще не советуют использовать, и выход из него должен быт =0, не зря там exit 0 стоит.

#141203
drBatty написал:
что мешает изучить вопрос получше? например попробуйте засунуть туда firefox, или что там у вас за браузер?

Я просто давно уже не юзал линукс с графикой вот и ляпнул не подумав :D Изучать не буду, т.к. знаю что скрипт запихнутый в rc.local естественно не отработает, да и нет под рукой браузера.. только lynx

#141206

XliN, да вы батенька прям как Столлман. smile

#141290
Lupo Alberto написал:
И, на мой взгляд, прекрасно подходит для запуска пользовательских программ, не привязанных к какому-нибудь определённому менеджеру окон или рабочему окружению.

а что будет, если юзер вообще не желает запускать X сервер? У вас какое-то странное приложение - без иксов не запускается, а к иксам не привязано. А если к иксам привязано, то запускается как-то странно - после иксов, но до DE. Что это такое? Можно пример?

newzenon написал:
кстати rc.local вообще не советуют использовать

ну скажем так - использовать-то можно, вопрос - зачем? я вот помню использовал его для монтирования каталогов, которые я не смог смонтировать в начале загрузки (когда монтирует всё mount --all)

XliN написал:
Изучать не буду, т.к. знаю что скрипт запихнутый в rc.local естественно не отработает, да и нет под рукой браузера.. только lynx

lynx как раз можно. он может запустится, зайти на какой-нить форум, и написать какое-нить сообщение. типа "привет, я загрузилась!" :)

потому-ка все остальные скрипты будут выполняться после входа в систему.

#141300

drBatty, но там проверка какая-то есть на то чем закончилось его выполнение - а вот реакция на отличное от 0 - не помню.

Войдите или зарегистрируйтесь, чтобы ответить.