Как добавить сценарий в Автозагрузку приложений из командной строки? [дубликат]

У меня есть сценарий оболочки. Я хочу настроить мой скрипт на автоматический запуск при запуске. Я знаю, как это сделать из графического интерфейса. Но я хотел сделать это с терминала. Как я могу это сделать?

В ходе первичного исследования я обнаружил, что файл необходимо переместить в каталог /etc/int.d/ . Но для этой операции требуется разрешение sudo. Я хотел сделать это без прав суперпользователя.

Я также обнаружил, что есть файлы в папке ~ / .config / autostart / , в которых есть некоторые настройки, касающиеся запускаемых приложений. Но я не знаю, как их отредактировать, чтобы добиться этого.

Кто-нибудь может сказать мне точную процедуру для достижения этой цели?

28
задан 19 March 2015 в 09:45

2 ответа

Как настроить средство запуска при запуске из командной строки

Как вы упомянули в своем вопросе, команды можно запускать при входе в систему, поместив средство запуска в ~ / .config / autostart Поскольку средство запуска используется только для запуска сценария, вам потребуются только "базовые" ключевые слова записи рабочего стола в созданных файлах .desktop : ключевые слова / строки, которые вам понадобятся в минимум:

[Desktop Entry]
Name=name
Exec=command
Type=Application

(необязательная) строка X-GNOME-Autostart-enabled = true будет добавлена ​​автоматически, если вы включите / отключите функцию автозапуска средства запуска (она установлена ​​на X- GNOME-Autostart-enabled = true по умолчанию)

Подробнее об обязательных полях вы можете найти здесь .

Пример сценария

Чтобы создать такую ​​пусковую установку из команды В строке, вам понадобится небольшой сценарий, который будет принимать имя стартера и команду для запуска в качестве аргумента. Пример такого скрипта ниже.

Если я запускаю его с помощью команды:

python3 '/path/to/script' 'Test' 'gedit'

, он создает средство запуска, запускающее gedit , когда я вхожу в систему.
Панель запуска также видна в Dash> Startup Applications:

enter image description here

Скрипт

#!/usr/bin/env python3
import os
import sys
home = os.environ["HOME"]

name = sys.argv[1]; command = sys.argv[2]

launcher = ["[Desktop Entry]", "Name=", "Exec=", "Type=Application", "X-GNOME-Autostart-enabled=true"]
dr = home+"/.config/autostart/"
if not os.path.exists(dr):
    os.makedirs(dr)
file = dr+name.lower()+".desktop"

if not os.path.exists(file):
    with open(file, "wt") as out:     
        for l in launcher:
            l = l+name if l == "Name=" else l
            l = l+command if l == "Exec=" else l
            out.write(l+"\n")
else:
    print("file exists, choose another name")

Вставьте его в пустой файл, сохраните его как set_startupscript.py , запустите его командой:

python3 /path/to/set_startupscript.py '<name>' '<command>'

What it делает

  • Он создает базовую программу запуска (вам не нужно больше, запускает сценарий) в ~ / .config / autostart , принимая имя и команду в качестве аргументов.
  • Если программа запуска с имя уже существует в ~ / .config / autostart , выводится сообщение:

     файл существует, выберите другое имя
     
22
ответ дан 19 March 2015 в 09:45

Я нашел ответ

cd в ~ / .config / autostart / . Если у вас нет папки с именем autostart , создайте папку с этим именем с помощью mkdir autostart.

Теперь добавьте следующий файл с именем yourScript.sh.desktop

[Desktop Entry]
Type=Application
Exec="/Your/location/to/theScript/yourScript.sh"
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_IN]=AnyNameYouWish
Name=AnyNameYouWish
Comment[en_IN]=AnyComment
Comment=AnyComment

Готово!

6
ответ дан 19 March 2015 в 09:45

Другие вопросы по тегам:

Похожие вопросы: