whdoc
Posts: 3
Joined: Tue Jun 11, 2013 5:12 am

скрипт python в автозапуск

Tue Jun 11, 2013 6:24 am

Доброго времени суток всем!
В линуксе я новичек, чайник так сказать.
Прикупил распберри и собрал в корпусе инет-радиоприемничек.
Есть скрипт на python играющий радио и показывающий инфу о проигрываемом на lcd дисплейчике.
Скрипт через консоль запускаю так
Sudo python /home/pi/myprog/radio.py
Все работает, но хотелось бы чтобы этот скрипт запускался сам при включении распберри пи.
Помогите советом как это сделать плиз

User avatar
svsdval
Posts: 133
Joined: Fri Jan 18, 2013 5:12 pm
Location: Russia->Siberia->Altayskiy Kray->Biysk
Contact: ICQ Website

Re: скрипт python в автозапуск

Tue Jun 11, 2013 12:24 pm

Все работает, но хотелось бы чтобы этот скрипт запускался сам при включении распберри пи.
Помогите советом как это сделать плиз[/quote]

Есть несколько способов поставить в автозагрузку на выбор:
1.Если у тебя стартуют иксы то тогда проще в /etc/xdg/autostart создать выражаясь терминологиями M$ ярлык на файлик

Code: Select all

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=ИМЯ
Comment=
Exec=Чего выполнить
Terminal=false
Type=Application
2.Прописать в /etc/rc.local

Code: Select all

/home/user/some-prog 1 > /dev/null 2 > /dev/null &
3.Прописать в /etc/inittab отличие от 1,2 способа тут можно указать уровень запуска для программы;

Code: Select all

my:12345:once:/home/user/some-prog
12345 - список рунлевелов, once заменить на boot будет запускаться раз
4.Как демона (написать скрипт или просто ссыль)

Code: Select all

   ln -s /home/user/some-prog /etc/init.d
   rcconf
(если нет, sudo apt-get install rcconf)
5. Прописать в ..bashrc
это часто используемые
Debian/Blender/Gimp/Inkscape/Lmms/Fpc/Gcc crazy user ;)

whdoc
Posts: 3
Joined: Tue Jun 11, 2013 5:12 am

Re: скрипт python в автозапуск

Tue Jun 11, 2013 12:52 pm

Спасибо за ответ, но я не очень понял, потому что чайник.
Можно подробно что куда и как вводить и писать?
Т.е. открой такой то файл такой то командой, напиши то то..
Дело для меня новое

User avatar
svsdval
Posts: 133
Joined: Fri Jan 18, 2013 5:12 pm
Location: Russia->Siberia->Altayskiy Kray->Biysk
Contact: ICQ Website

Re: скрипт python в автозапуск

Tue Jun 11, 2013 1:55 pm

запускай gksudo leafpad /etc/xdg/autostart/radio.desktop
в него пишешь:

Code: Select all

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Radio
Comment=
Exec=sudo python /home/pi/myprog/radio.py
Terminal=false
Type=Application
Debian/Blender/Gimp/Inkscape/Lmms/Fpc/Gcc crazy user ;)

whdoc
Posts: 3
Joined: Tue Jun 11, 2013 5:12 am

Re: скрипт python в автозапуск

Tue Jun 11, 2013 5:39 pm

Спасибо тебе добрый человек ;)
помогло, заработало )))

andreus7
Posts: 5
Joined: Mon Jun 23, 2014 5:10 am

Re: скрипт python в автозапуск

Mon Jun 23, 2014 5:16 am

Друзья, прошу помочь!

Пишу скрипт на python, использована предложенном решение, прописал его в автозапуск. Проблема в том, что я не использую GUI и стартует оболочка только после ввода startx, а мой скрипт почему-то не хочет работать до запуска GUI.

Подскажите пожалуйста, куда мне копать?

LKA
Posts: 187
Joined: Thu Jul 11, 2013 1:20 pm

Re: скрипт python в автозапуск

Wed Jun 25, 2014 3:54 pm

а че надо откопать-то?)

andreus7
Posts: 5
Joined: Mon Jun 23, 2014 5:10 am

Re: скрипт python в автозапуск

Thu Jun 26, 2014 8:06 am

Нужно, чтобы скрипт запускался при загрузке малинки, не дожидаясь запуска GUI.

Я новичек и в линуксе и в пайтоне, и не понимаю, почему моя программа работает только после ввода startx в консоли.

LKA
Posts: 187
Joined: Thu Jul 11, 2013 1:20 pm

Re: скрипт python в автозапуск

Thu Jun 26, 2014 8:45 am

Добро пожаловать в линукс)
При надобности, в линуксе можно управлять последовательностью автозагрузки.
Для этого нужно прописать свой скрипт в загрузку командой:
sudo update-rc.d имя_скрипта defaults

вот подробности:
http://manpages.ylsoftware.com/ru/update-rc.d.8.html

А можно тупо по старинке прописать свой скрипт в /etc/rc.local перед "exit 0"
Если пусть нестандартный, то прописывать полностью.

А файлы "имя.desktop" с прописанным в нутри "Exec=/путь/мой_скрипт" в ~/.config/autostart
запускаются десктопным менеджером, в данном случае LXDE, у openbox-a другая система автостарта.

andreus7
Posts: 5
Joined: Mon Jun 23, 2014 5:10 am

Re: скрипт python в автозапуск

Tue Jul 01, 2014 4:26 am

Спасибо за информацию!!!
Опробовать смогу завтра вечером.

andreus7
Posts: 5
Joined: Mon Jun 23, 2014 5:10 am

Re: скрипт python в автозапуск

Thu Jul 03, 2014 6:06 pm

К сожалению, пока не решил свою проблему. Вернее, обнаружил ее причину, но как решать - не знаю:(

Я прописал программу в автозагрузку, но она не стала запускаться, ругаясь на невозможность загрузки некоторых модулей (см. скрин: https://yadi.sk/i/fZkOreh3Vsmfn )

Подскажите пожалуйста, что я делаю не так?

LKA
Posts: 187
Joined: Thu Jul 11, 2013 1:20 pm

Re: скрипт python в автозапуск

Fri Jul 04, 2014 9:56 am

какие-то ошибки внутри самого clientupdate.py
я в питоне ноль, по опыту могу сказать, что если копипастили откуда-то, то вытрите лишние табы, нечитаемые символы и виндовые переносы строки.

andreus7
Posts: 5
Joined: Mon Jun 23, 2014 5:10 am

Re: скрипт python в автозапуск

Fri Jul 04, 2014 4:28 pm

Спасибо всем за Ваши советы!

Проблема крылась где-то в недрах моей программы - так я и не понял где. Скорее всего это действительно какие-то артефакты в коде.

Запустить программу без компилятора так и не получилось, а вот новый скрипт с одной строкой вызова моей основной программы система приняла. Т. ч. все заработало!

Помимо этого, Вы помогли мне немного разобраться в линухе, дав направление, где мне копать. Еще раз спасибо Вам всем за Вашу помощь!

Sandalex001
Posts: 2
Joined: Thu Dec 27, 2018 8:10 am

Re: скрипт python в автозапуск

Thu Dec 27, 2018 8:57 am

Всем доброго времени суток!
Пишу небольшой скрипт на python, с котором хотелось бы общаться через терминал. Затем добавил его в автозагрузку.
При запуске Raspbian после запуска рабочего стола мой скрипт выполняется 2 раза подряд (есть запись в log файле). Причем при первом запуске он не открывает терминал, а при втором запуске- открывает терминал.
Здесь привел условный пример скрипта, загружающий одно ядро на 100%
С raspberry работаю через VNC терминал. Если послать команду CTRL+ALT+DEL, то в списке процессов есть 2 Команды: python, каждый с загрузкой системы по 25%, что логично с учётом скрипта

Собственно вопрос: почему так происходит и как сделать что-бы скрипт запускался один раз?

Как сделал автозапуск:

Code: Select all

cd /home/pi/.config
mkdir autostart
cd autostart
sudo nano myscript2.desktop
[Desktop Entry]
Type=Application
Name=MyScript2
Exec=lxterminal -e python /home/pi/myscript2.py
StartupNotify=false
myscript2.py

Code: Select all

#!/usr/bin/env python
import sys
import time
tek_time=str( time.time() )
print (sys.version)
print ('My Script #2')
print ('Tek_time='+tek_time)
f=open('1.log','a')
f.write('2-')
f.write(sys.version)
f.write('time='+tek_time);
f.close()
i=0;
while 1:
       print (i);
       i=i+1;
       for j in range(0,1000000)
          a=0
1.log

Code: Select all

02-2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516]time=1542136670.61
 2-2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516]time=1542136670.84

Sandalex001
Posts: 2
Joined: Thu Dec 27, 2018 8:10 am

Re: скрипт python в автозапуск

Fri Jan 11, 2019 11:32 am

Всем доброго времени суток!
Пишу для поднятия поста.

peppy.player
Posts: 143
Joined: Mon Mar 07, 2016 6:10 am

Re: скрипт python в автозапуск

Fri Jan 11, 2019 9:43 pm

Существует несколько способов запустить программу/скрипт при старте.
Если вам всё равно какой способ использовать лишь бы запустить ваш скрипт,
то самый наверно простой способ это запустить его из /еtc/rc.local:
.....
cd моя_рабочая_директория
запуск_моего_зашибенного_скрипта
exit 0

Я всегда использую этот способ и он всегда работает. Разбираться почему не
работает ваш способ лень :)

Удачи.

Return to “Русский”