У меня есть сценарий оболочки. Я хочу настроить мой скрипт на автоматический запуск при запуске. Я знаю, как это сделать из графического интерфейса. Но я хотел сделать это с терминала. Как я могу это сделать?
В ходе первичного исследования я обнаружил, что файл необходимо переместить в каталог /etc/int.d/
. Но для этой операции требуется разрешение sudo. Я хотел сделать это без прав суперпользователя.
Я также обнаружил, что есть файлы в папке ~ / .config / autostart /
, в которых есть некоторые настройки, касающиеся запускаемых приложений. Но я не знаю, как их отредактировать, чтобы добиться этого.
Кто-нибудь может сказать мне точную процедуру для достижения этой цели?
Как вы упомянули в своем вопросе, команды можно запускать при входе в систему, поместив средство запуска в ~ / .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:
#!/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>'
~ / .config / autostart
, принимая имя и команду в качестве аргументов. Если программа запуска с имя уже существует в ~ / .config / autostart
, выводится сообщение:
файл существует, выберите другое имя
Я нашел ответ
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
Готово!