Vždy mě fascinují věci, které se dějí v zákulisí, když spouštím systém Linux a přihlásím se. Stisknutím tlačítka napájení na holém kovu nebo spuštěním virtuálního počítače uvedete do pohybu řadu událostí, které vedou k plně funkčnímu systému – někdy za méně než minutu. Totéž platí, když se odhlásíte a/nebo vypnete systém.
Co to dělá zajímavějším a zábavnějším, je skutečnost, že můžete nechat operační systém provádět určité akce při spouštění a při přihlášení nebo odhlášení.
V tomto distro-agnostickém článku probereme tradiční metody pro dosažení těchto cílů v Linuxu.
Poznámka :Budeme předpokládat použití Bash jako hlavní shell pro události přihlášení a odhlášení. Pokud náhodou používáte jinou, některé z těchto metod mohou, ale nemusí fungovat. Pokud máte pochybnosti, podívejte se do dokumentace vašeho shellu.
Spouštění skriptů Linuxu během restartování nebo spouštění
Existují dva tradiční způsoby provádění příkazu nebo spouštění skriptů během spouštění:
Metoda č. 1 – Použijte úlohu cron
Kromě obvyklého formátu (minuta / hodina / den měsíce / měsíc / den v týdnu), který se široce používá k označení plánu, umožňuje plánovač cron také použití @reboot
. Tato direktiva, za kterou následuje absolutní cesta ke skriptu, způsobí, že se spustí, když se počítač zavede.
Tento přístup má však dvě výhrady:
- a) musí být spuštěn démon cron (což je případ za normálních okolností) a
- b) skript nebo soubor crontab musí obsahovat proměnné prostředí (pokud existují), které budou potřeba (další podrobnosti naleznete v tomto vláknu StackOverflow).
Metoda č. 2 – použijte /etc/rc.d/rc.local
Tato metoda je platná i pro distribuce založené na systemd. Aby tato metoda fungovala, musíte udělit oprávnění ke spuštění /etc/rc.d/rc.local
takto:
# chmod +x /etc/rc.d/rc.local
a přidejte svůj skript na konec souboru.
Následující obrázek ukazuje, jak spustit dva ukázkové skripty (/home/gacanepa/script1.sh
a /home/gacanepa/script2.sh
) pomocí cronu job a rc.local a jejich příslušné výsledky.
#!/bin/bash DATE=$(date +'%F %H:%M:%S') DIR=/home/gacanepa echo "Current date and time: $DATE" > $DIR/file1.txtscript2.sh:
#!/bin/bash SITE="Tecmint.com" DIR=/home/gacanepa echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt


Mějte na paměti, že oběma skriptům musí být předem udělena oprávnění ke spuštění:
$ chmod +x /home/gacanepa/script1.sh $ chmod +x /home/gacanepa/script2.sh
Spouštění skriptů pro Linux při přihlášení a odhlášení
Chcete-li spustit skript při přihlášení nebo odhlášení, použijte ~.bash_profile
a ~.bash_logout
, resp. S největší pravděpodobností budete muset druhý soubor vytvořit ručně. Jednoduše umístěte řádek s vyvoláním vašeho skriptu na konec každého souboru stejným způsobem jako předtím a jste připraveni jít.
Shrnutí
V tomto článku jsme vysvětlili, jak spustit skript při restartu, přihlášení a odhlášení. Pokud vás napadají další metody, které bychom sem mohli zahrnout, můžete je poukázat pomocí níže uvedeného formuláře pro komentáře. Těšíme se na vaši zprávu!