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

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

iMac (mid 2011)
openSUSE 13.1 (Bottle) (x86_64)

Быть свободным — быть Гиком

2

может добавить строку в /etc/rc.local

 Консоль:
/usr/bin/python home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py

Где лежит питон
 Консоль:
whereis python

ну и дать разрешение на загрузку.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

3

скрипт назначен исполняемым?
Покажите вывод

 Консоль:
ls -la /home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null

скрипт исполняемый...

 Консоль:

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

через косоль вручную все работает...а в автозапуске нет....

так вот все добавил...

 Консоль:

#!/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

но все равно не запускается....=(

iMac (mid 2011)
openSUSE 13.1 (Bottle) (x86_64)

Быть свободным — быть Гиком

5

Индустриальный Эльф пишет:

/usr/bin/python home/ielf/Загрузки/TorrentsРаздачи/Software/InfoPanel/InfoPanelScreenlet.py

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

6

Vadimsky пишет:

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

7

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

8

drBatty пишет:
Vadimsky пишет:

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

это НЕ играет никакой роли.

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

 Консоль:
./script.py
Только тогда будет играть роль.

Мой блог: http://moscwich.blogspot.com/

А давай "на ты"? Ну, если "вы", то не с пропиской буквы, ok?

9

moscwich пишет:

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

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

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

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

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

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

iMac (mid 2011)
openSUSE 13.1 (Bottle) (x86_64)

Быть свободным — быть Гиком

11

Индустриальный Эльф пишет:

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

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

Был, был и весь вышел...

12

drBatty пишет:

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

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

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

13

Индустриальный Эльф пишет:

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

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

Если вы юзаете 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, то кошерные приложения просто откажутся работать, отправив горе-одмина читать маны ac

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

14

XliN пишет:

Как умеем, так и советуем.

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

15

drBatty пишет:

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

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

Был, был и весь вышел...

16 (17.03.2011 15:13:19 отредактировано zenon)

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

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

17

drBatty пишет:

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

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

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

18

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

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

19

Lupo Alberto пишет:

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

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

newzenon пишет:

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

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

XliN пишет:

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

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

20

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

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

21

drBatty пишет:

а что будет, если юзер вообще не желает запускать 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
Был, был и весь вышел...

22

newzenon пишет:

но там проверка какая-то есть на то чем закончилось его выполнение - а вот реакция на отличное от 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 ЗАМЕЩАЕТ процесс, а не запускает новый. Это может привести к появлению зомби и других неприятных сущностей. впрочем - дело ваше...

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)