Způsoby platby Abuse

Jak přidat skript do automatického spouštěče Ubuntu

24.02.2021, 20:29

V některých případech je nutné skript spustit při startu systému. Mezi takové případy patří potřeba změnit rozlišení obrazovky, spustit určité aplikace a aktualizovat určitý nástroj. Spuštění skriptu lze realizovat několika způsoby. Lze tak učinit pomocí grafického shellu nebo inicializačního systému systemd, který je dnes používán téměř ve všech distribucích.

Automatické spouštění pomocí standardního nástroje Ubuntu

Nejprve je třeba na vhodném místě vytvořit skript a spustit jej:

$ sudo gedit /script_path/script_name.sh

#!/bin/bash

echo "Hello world"

Tento skript bude uživateli zobrazovat zprávy typu "Hello world". Jakmile je program připraven, je třeba jej spustit. K tomu slouží následující příkaz:

$ sudo chmod ugo+x /script_path/script_name.sh

Dále je třeba v hlavní nabídce systému spustit nástroj "Automatické spouštění aplikací".

Автоматически запускаемые приложения

Klikněte na tlačítko "Přidat" a do pole "Příkaz" zadejte úplnou cestu k souboru skriptu. Můžete stisknout tlačítko "Procházet", vyhledat a vybrat soubor skriptu a stisknout tlačítko "Přidat".

Графическая оболочка Ubuntu

Od této chvíle se bude program spouštět při každém spuštění grafického prostředí Ubuntu.

Automatické spouštění linuxových skriptů v Systemd

K vytvoření souboru služby systemd použijte speciální příkaz

Jedná se o tento příkaz:

sudo systemctl edit --force myscript

You need to add the contents to this file:

[Unit]

Description=My Script Service

After=multi-user.target

[Service]

Type=idle

ExecStart=/full/path/to/script/script_name.sh

[Install]

WantedBy=multi-user.target

Создание файла сервиса systemd

Dále je třeba v řádku nazvaném ExecStart splnit jeden z následujících požadavků: Zapište cestu ke skriptu nebo příkazu, který se má spustit. Poté se skript přidá do automatického spouštěče:

$ sudo systemctl daemon-reload

$ sudo systemctl enable mysrcipt

Program se spustí po inicializaci systému. Pro tento účel můžete použít "starou" metodu: pomocí rc.local vytvoříte soubor /etc/rc.local a cestu k němu zapíšete do řádku ExecStart servisního souboru.