Automatické spuštění i se SUDO
Napsal: 11 led 2018, 19:13
Do vhodného umístění přidat vhodně pojmenovaný skript, např. /bin/skript.sh se zápisem bez použití sudo
Tento skript je zkušební a pouze v textovém editoru otevře soubor text.txt a zobrazí jeho obsah. V praktickém využití bude příkaz obsahovat spíše start nějakého servisu, monitorovací utility apod.
V tomto případě se jedná o umístění ve složce, kde je třeba oprávnění pro přístup a je třeba použít sudo. Takže tvorba skriptu:
otevře se prázdný soubor do kterého se zkopíruje výše uvedený zápis a uloží. V jiném prostředí či jiné distribuci může být textový editor ne mousepad, ale třeba gedit nebo nějaký jiný.
Nastaví se spustitelnost
a nakonec se přidá /bin/skript.sh coby příkaz do aplikací po spuštění (autostart). V xfce Nastavení - Relace a spouštění - Automatický start - přidat. Zvolí se jméno, libovolně komentář a vyplní příkaz.
Je-li třeba příkaz nebo příkazy (skript může být i jako dávkový soubor) spustit jako sudo, tak je třeba přidat výjimku do/etc/sudoers:
na konec zápisu připsat
a sudo dopsat před příkaz přiřazený v autostartu
Druhá varianta přidání výjimky je skrze terminálový editor Nano:
Doplnit na konec zápisu, uložit (ctrl+o), potvrdit (enter) a ukončit (ctrl+x)
Ve složce /home/uživatel/.config/autostart/ se tak automaticky vytvoří spouštěč Skript.desktop, který má takový nebo podobný zápis:
který pak zajišťuje spuštění po startu.
Kód: Vybrat vše
#!/bin/bash
#vykonávaný modelový příkaz#
mousepad /home/uživatel/Plocha/text.txt
V tomto případě se jedná o umístění ve složce, kde je třeba oprávnění pro přístup a je třeba použít sudo. Takže tvorba skriptu:
Kód: Vybrat vše
sudo mousepad /bin/skript.sh
Nastaví se spustitelnost
Kód: Vybrat vše
sudo chmod a+x /bin/skript.sh
Je-li třeba příkaz nebo příkazy (skript může být i jako dávkový soubor) spustit jako sudo, tak je třeba přidat výjimku do/etc/sudoers:
Kód: Vybrat vše
sudo mousepad /etc/sudoers
Kód: Vybrat vše
uživatel ALL=NOPASSWD: /bin/skript.sh
Kód: Vybrat vše
sudo /bin/skript.sh
Kód: Vybrat vše
sudo visudo
Ve složce /home/uživatel/.config/autostart/ se tak automaticky vytvoří spouštěč Skript.desktop, který má takový nebo podobný zápis:
Kód: Vybrat vše
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=Skript
Comment=
Exec=sudo /bin/skript.sh
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false