Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Прописка в автозагрузку $ cd /opt/python_prgram_folder; python script.py........  (Прочитано 1714 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Smörman

  • Автор темы
  • Азъ есмь Школяръ
  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 579
  • When In Rome, Do As The Romans Do...
    • Просмотр профиля
    • Compizomania
Доброго вечера, форумачанам!
18.04
Есть python-программа в /opt/каталог_программы
В каталоге программы есть подкаталоги:
/db/__.sqlite
/dblib/__init__.py
и ещё несколько вспомогательных каталогов, а также несколько исполняемых .py-скриптов, которые можно запускать отдельно или вместе.

В Терминале, запуск можно сделать только, если перейти в сам каталог программы:
$ cd /opt/каталлог_программы; python script.py имя_script версия_script (последние 2 аргументы, прописанные в коде, и если без них, то кидает ошибку, как и положено).
Всё запускается прекрасно.
Если запускать python script.py имя_script версия_script - нет такого каталога и т.д..., что тоже понятно.



Вопрос в том, как сделать автозагрузку при старте системы, чтобы осуществлялся переход в каталог программы и запуск скрипта:
cd /opt/каталлог_программы; python script.py имя_script версия_script
?

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

Заранее благодарен за любые ответы!
« Последнее редактирование: 28 Июня 2019, 23:03:35 от Smorman »
OS: Ubuntu 22.04 'Jammy Jellyfish' LTS, Arch Linux + Openbox, W11 Home
PC: Lenovo H530, CPU: i5-4430 3.0, Video: nVidia PCI-X
SSD: SAMSUNG EVO870 1T, SSD: 2хSAMSUNG EVO870 500G, RAM: 16G, ODD

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Вставь команды в .sh скрипт и его пропиши в автозапуск

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
Вопрос в том, как сделать автозагрузку при старте системы, чтобы осуществлялся переход в каталог программы и запуск скрипта:
cd /opt/каталлог_программы; python script.py имя_script версия_script

Создаешь скрипт, который запускает твою программу. Делаешь его исполняемым и кладёшь в каталог, например: ~/.local/bin
Проверяешь его работу из терминала, убеждаешься что он запускает приложение без ошибки.

Затем создаёшь средствами своего DE автоматический запуск файла и указываешь путь к созданому скрипту.
Дело в том, что в каждой версии DE свои способы создания автозапуска. У KDE свои, у LXDE свои.

Можно сделать автозапуск без привязки к DE, например так:

Вместо $USER пишешь имя пользователя, вместо script_name имя созданного скрипта и выполняешь команду.

echo "@reboot   $USER  /bin/sh -c 'sleep 10 && /home/$USER/.local/bin/script_name'" | sudo tee -a /etc/crontab

Оффлайн Smörman

  • Автор темы
  • Азъ есмь Школяръ
  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 579
  • When In Rome, Do As The Romans Do...
    • Просмотр профиля
    • Compizomania
Вместо $USER пишешь имя пользователя, вместо script_name имя созданного скрипта и выполняешь команду.

Код: [Выделить]

echo "@reboot   $USER  /bin/sh -c 'sleep 10 && /home/$USER/.local/bin/script_name'" | sudo tee -a /etc/crontab

Спасибо, попробую.

Пользователь добавил сообщение 29 Июня 2019, 12:35:27:
echo "@reboot   $USER  /bin/sh -c 'sleep 10 && /home/$USER/.local/bin/script_name'" | sudo tee -a /etc/crontab

Спасибо огромное, работает!

Через Cron получается запуск происходит в режиме @reboot.
А как, если возникнет необходимость, отключить автозапуск правильно?

Извиняюсь конечно за наглость, но всё же?
« Последнее редактирование: 29 Июня 2019, 12:36:23 от Smorman »
OS: Ubuntu 22.04 'Jammy Jellyfish' LTS, Arch Linux + Openbox, W11 Home
PC: Lenovo H530, CPU: i5-4430 3.0, Video: nVidia PCI-X
SSD: SAMSUNG EVO870 1T, SSD: 2хSAMSUNG EVO870 500G, RAM: 16G, ODD

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 8035
    • Просмотр профиля
Цитировать
в каждой версии DE свои способы создания автозапуска. У KDE свои, у LXDE свои.
Формально - да. Практически....
Со времен 10.04, то что нужно автоматически запустить, помещаю в десктоп-файл находящийся в /etc/xdg/autostart.
Не припомню, чтобы это не сработало в каком-либо DE.
Цитировать
если возникнет необходимость, отключить автозапуск
1. Удалить соответствующий десктоп-файл.
2. В десктоп-файле найти строку "X-CNOME-Autostart-enabled=".
   Если после знака равенства "true" - автозапуск разрешен, если "false" - запрещен.
3. Есть GUI-программа. Называется примерно "Автозапускаемые приложения."
   Поставил галочку - приложение запускается.

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
Со времен 10.04, то что нужно автоматически запустить, помещаю в десктоп-файл находящийся в /etc/xdg/autostart.
Не припомню, чтобы это не сработало в каком-либо DE.

Результат настройки прописывается в десктоп файле, согласен.

Но в каждом DE свой GUI интерфейс добавления приложения в автозагрузку.
Именно этот интерфейс и хотят видеть все те, кто не знает как добавить программу в автозапуск.
Ну то есть, что бы не выпуская мышь из рук только жать на кнопочки и ставить галочки.
А вы про какие то desktop файлы и ужасные строки "X-CNOME-Autostart-enabled=".
Прекратите издеваться над: "...мы не програмисты, а скромные пользователи..." (с)

А как, если возникнет необходимость, отключить автозапуск правильно?

Ну в моём примере это будет непросто.

Сначала:

sudo nano /etc/crontab
Ищешь внизу строку:

Код: (txt) [Выделить]
@reboot   $USER  /bin/sh -c 'sleep 10 && /home/$USER/.local/bin/script_name'
и коментируешь её.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
выдаёт ошибки нужно.
Wars ~.o

Оффлайн Smörman

  • Автор темы
  • Азъ есмь Школяръ
  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 579
  • When In Rome, Do As The Romans Do...
    • Просмотр профиля
    • Compizomania
sudo nano /etc/crontab

Блин, меня смутило, что я в Наутилусе смотрел (скрытые файлы тоже вкл) и не нашёл этого файла в /etc, а попробовать в Терминале открыть поэтому и не решился (думаю, ну раз нет, значит и нет ;)), вот и решил спросить.
Блин, век живи - век учись!

Спасибо огромное!
Я просто с Cron почти не сталкивался, а зря видимо, вот теперь что-то проясняется для меня!
Ещё раз премного благодарствую!!!

Пользователь добавил сообщение 29 Июня 2019, 19:43:55:
Есть GUI-программа. Называется примерно "Автозапускаемые приложения."

Пробовал я в Unity через него...
Не прокатило от слова - совсем!

Пользователь добавил сообщение 29 Июня 2019, 19:50:20:
Ну в моём примере это будет непросто.

 :2funny: :2funny: :2funny:

Шедеврально!!!
Особый респект за чувство юмора!!!
« Последнее редактирование: 29 Июня 2019, 19:50:20 от Smorman »
OS: Ubuntu 22.04 'Jammy Jellyfish' LTS, Arch Linux + Openbox, W11 Home
PC: Lenovo H530, CPU: i5-4430 3.0, Video: nVidia PCI-X
SSD: SAMSUNG EVO870 1T, SSD: 2хSAMSUNG EVO870 500G, RAM: 16G, ODD

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
Пробовал я в Unity через него...
Не прокатило от слова - совсем!

Подскажи, как в данном контексте интерпретировать твою модную жаргонную фразу "Не прокатило"?

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

В общем твой ответ не понятен.


Оффлайн Smörman

  • Автор темы
  • Азъ есмь Школяръ
  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 579
  • When In Rome, Do As The Romans Do...
    • Просмотр профиля
    • Compizomania
Подскажи, как в данном контексте интерпретировать твою модную жаргонную фразу "Не прокатило"?

 :)
- приложение не запускается

(размещал через cp скрипт в /usr/local/bin (в самом скрипте, как положено в шапке #!/usr/bin/python), чтобы можно было без абсолютного пути обойтись, делал его исполняемым через chmod +x и через Автоматически запускаемые приложения добавлял скрипт в автозагрузку...)
OS: Ubuntu 22.04 'Jammy Jellyfish' LTS, Arch Linux + Openbox, W11 Home
PC: Lenovo H530, CPU: i5-4430 3.0, Video: nVidia PCI-X
SSD: SAMSUNG EVO870 1T, SSD: 2хSAMSUNG EVO870 500G, RAM: 16G, ODD

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
(размещал через cp скрипт в /usr/local/bin (в самом скрипте, как положено в шапке #!/usr/bin/python), чтобы можно было без абсолютного пути обойтись, делал его исполняемым через chmod +x и через Автоматически запускаемые приложения добавлял скрипт в автозагрузку...)


Странно. А что среди стандартных приложений, входящих в дистрибутив, нет возможности добавлять программу в автозапуск? У меня LXDE (Lubuntu), там есть. У жены Mate, там тоже есть.
Можно конечно руками в текстовом файле прописывать, но есть же фирменная утилита

Оффлайн Smörman

  • Автор темы
  • Азъ есмь Школяръ
  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 579
  • When In Rome, Do As The Romans Do...
    • Просмотр профиля
    • Compizomania
А что среди стандартных приложений, входящих в дистрибутив, нет возможности добавлять программу в автозапуск?

Так в Unity как раз и есть гуишник: Автоматически запускаемые приложения...

Только, вот, почему-то не всё переваривает.

По Unity я читал, люди пишут, что не всё съедает эта гуёвина...

Но, увы, я болен Unity :) и обожаю его, вот и мучаюсь... ;)
OS: Ubuntu 22.04 'Jammy Jellyfish' LTS, Arch Linux + Openbox, W11 Home
PC: Lenovo H530, CPU: i5-4430 3.0, Video: nVidia PCI-X
SSD: SAMSUNG EVO870 1T, SSD: 2хSAMSUNG EVO870 500G, RAM: 16G, ODD

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
По Unity я читал, люди пишут, что не всё съедает эти гуёвина..

Ну вот опять не понятно. То есть приложение не запускается или не выполняет свою функцию?
То есть ты с её помощью вставляешь приложение в автозагрузку, а оно там не появляется?

Оффлайн Smörman

  • Автор темы
  • Азъ есмь Школяръ
  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 579
  • When In Rome, Do As The Romans Do...
    • Просмотр профиля
    • Compizomania
а оно там не появляется?

Да, нет, появляется!
Но не запускается...

Пользователь добавил сообщение 29 Июня 2019, 20:36:47:
а оно там не появляется?

Но, вот сейчас дошло до меня, надо было его не в виде .py, а в .sh в /usr/local/bin отправить и в шапке конечно #!/bin/sh
Скорее всего, запустился бы.
« Последнее редактирование: 29 Июня 2019, 20:36:47 от Smorman »
OS: Ubuntu 22.04 'Jammy Jellyfish' LTS, Arch Linux + Openbox, W11 Home
PC: Lenovo H530, CPU: i5-4430 3.0, Video: nVidia PCI-X
SSD: SAMSUNG EVO870 1T, SSD: 2хSAMSUNG EVO870 500G, RAM: 16G, ODD

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
Но, вот сейчас дошло до меня, надо было его не в виде .py, а в .sh в /usr/local/bin отправить и в шапке конечно #!/bin/sh
Скорее всего, запустился бы.

Ну разумеется.

 

Страница сгенерирована за 0.021 секунд. Запросов: 19.