Linux naredbe

Kako se automatski pokreću Linux naredbe i skripte pri ponovnom pokretanju sustava

Kako se automatski pokreću Linux naredbe i skripte pri ponovnom pokretanju sustava
Automatsko pokretanje aplikacija i skripti prilikom pokretanja može biti korisno za automatizaciju uobičajenih zadataka i događaja pokretanja. Ovaj će članak objasniti nekoliko metoda koje se mogu koristiti za pokretanje aplikacija i skripti pri novom ponovnom pokretanju ili novoj prijavi.

Aplikacije za pokretanje

Ubuntu i druge distribucije temeljene na GNOME-u dolaze s aplikacijom koja se jednostavno naziva "Startup Applications". Može se koristiti za upravljanje aplikacijama i skriptama koje se izvode pri novom ponovnom pokretanju sustava ili prijavi.

Pokrenite aplikaciju "Startup Applications" iz pokretača aplikacija i kliknite gumb "Dodaj" da biste dodali novi unos.

Ispunite polja "Ime" i "Naredba" prema vašim potrebama, a zatim kliknite gumb "Dodaj" da biste dovršili stvaranje novog unosa. Unos stvoren na donjoj snimci zaslona poslat će podsjetnik "Napravi sigurnosnu kopiju" kao sistemsku obavijest o svakom ponovnom pokretanju / prijavi. Možete ga zamijeniti vlastitom naredbom ili punim putem vaše bash skripte. Također možete koristiti bilo koju postojeću sistemsku naredbu ili izvršne datoteke koje se obično nalaze u raznim mapama "bin" u čitavom datotečnom sustavu.

Kao što je gore rečeno, podsjetnik za sigurnosnu kopiju prikazuje se pri svakom ponovnom pokretanju.

Systemd

Systemd je upravitelj demona i usluga koji sadrži razne uslužne programe za upravljanje sistemskim procesima i komponentama OS-a. U svom pojednostavljenom obliku, obično se koristi za pokretanje i završavanje usluga u novom ciklusu pokretanja.

Systemd se može koristiti za automatsko pokretanje aplikacije ili pokretanje skripte na novom pokretanju. Da biste stvorili istu prethodno objašnjenu obavijest o podsjetniku, prvo morate stvoriti potrebne mape i datoteku pokretanjem naredbi u nastavku:

$ mkdir -p ~ /.config / systemd / user
$ nano ~ /.config / systemd / user / backup_reminder.servis

Zamijenite "nano" naredbom vašeg omiljenog uređivača teksta. Zamijenite “backup_reminder” bilo kojim drugim imenom koje želite.

Zalijepite donji kod u backup_reminder.datoteka usluge stvorena pomoću gornje naredbe.

[Jedinica]
Opis = Šalje podsjetnik za sigurnosnu kopiju pri svakom ponovnom pokretanju
Dio = grafička sesija.cilj
[Servis]
ExecStart = bash -c 'spavanje 10; notify-send "Napravi sigurnosnu kopiju" '
Upišite = onehot
[Instalirati]
WantedBy = grafička sesija.cilj

Gore navedeni kod prilično je jednostavan. Šalje obavijest "Napravite sigurnosnu kopiju" 10 sekundi nakon učitavanja grafičke sesije (jednom prilikom svakog ponovnog pokretanja ili prijave).

Pokrenite naredbe u nastavku da biste omogućili uslugu kako bi se mogla automatski pokretati pri svakom ponovnom pokretanju.

$ chmod 644 ~ /.config / systemd / user / backup_reminder.servis
$ systemctl --user omogući backup_reminder.servis
$ systemctl --user ponovno pokrenite demon
$ ponovno pokretanje

Ovo je samo jednostavan primjer izvođenja osnovne naredbe pri pokretanju pomoću systemd-a. Također možete stvoriti napredne usluge s više uvjeta i više naredbi. Za više informacija, pogledajte systemd man stranicu izvođenjem naredbe u nastavku:

$ man sistemd

Imajte na umu da ovaj primjer objašnjava stvaranje nove usluge koja ne zahtijeva root pristup i prikladna je za automatsko pokretanje aplikacija koje ne zahtijevaju root dopuštenja. Ako želite automatski pokrenuti skripte koje zahtijevaju root pristup, morate stvoriti novu systemd uslugu u direktoriju “/ etc / systemd / system” umjesto “~ /.mapu config / systemd / user “i izostavite prekidač„ -user “u gore spomenutim naredbama.

Cron Job

Cron je alat koji može povremeno izvoditi planirane zadatke u skladu s uvjetima koje je odredio korisnik. Ovi planirani poslovi kreiraju se u Crontabu u unaprijed definiranom formatu. Jednostavno rečeno, Crontab govori Cronu koje poslove treba pokrenuti u kojem trenutku.

Poput systemd, poslovi crontab mogu se koristiti za pokretanje aplikacija i automatsko pokretanje skripti prilikom pokretanja. Da biste dodali novi cron posao, pokrenite naredbu u nastavku:

$ crontab -e

Dodajte sljedeće retke na kraj tekstualne datoteke (automatski pokreće GNOME terminal pri svakom ponovnom pokretanju):

LJUŠKA = / bin / bash
@reboot sleep 30 && DISPLAY =: 0 gnome-terminal

Možete koristiti vlastitu naredbu ili unijeti puni put do skripte ljuske.

Imajte na umu da za razliku od systemd, cron ne može otkriti je li grafička sesija učitana ili nije. Morate odrediti neko procijenjeno razdoblje čekanja dok se X poslužitelj ne učita i identifikator zaslona. Možete znati o svom ID-u zaslona pokretanjem naredbe u nastavku:

$ echo $ PRIKAZ

Kašnjenje prije izvršavanja naredbe ili skripte ovisi o konfiguraciji vašeg sustava i vremenu pokretanja.

Rc.lokalno

Druga metoda za pokretanje skripti i naredbi pri pokretanju je upotreba "rc.lokalna ”datoteka. Imajte na umu da tijekom testiranja nisam uspio odgoditi izvršavanje skripte dok grafička sesija nije bila aktivna. Dodavanje odgode spavanja dovodi do kašnjenja u prikazivanju samog zaslona za prijavu. Zbog toga nisam imao uspjeha u pokretanju grafičkih aplikacija prilikom pokretanja pomoću rc-a.lokalna datoteka. Uređivanje rc.local također zahtijeva root pristup, za razliku od svih ostalih gore objasnjenih primjera.

Za dodavanje naredbi / skripti u rc.lokalnu datoteku, pokrenite naredbu ispod (stvara novi rc.lokalna datoteka ako ne postoji):

$ sudo nano / etc / rc.lokalno

Dodajte svoje naredbe između "#! / bin / bash "i" izlaz 0 ", kao što je prikazano dolje:

#! / bin / bash
put / do / mog_skripta.sh
izlaz 0

Napravite rc.lokalnu datoteku koja se može izvršiti izvođenjem naredbe u nastavku:

$ sudo chmod + x / etc / rc.lokalno

Samo ponovno pokrenite kako bi skripta za pokretanje stupila na snagu.

Zaključak

Ovo je nekoliko metoda koje se mogu koristiti za automatsko pokretanje skripti i aplikacija prilikom pokretanja. Ako želite pokrenuti skripte koje ne zahtijevaju root pristup, preporučio bih upotrebu GUI aplikacije "Startup Applications". Ako želite pokretati aplikacije i skripte s root pristupom, predlažem vam da stvorite sistemsku uslugu na razini sustava.

O autoru

Nitesh Kumar

Slobodni sam programer i pisac sadržaja koji volim Linux, softver otvorenog koda i zajednicu slobodnog softvera.

Pogledajte sve postove
Vodič za OpenTTD
OpenTTD je jedna od najpopularnijih igara za poslovnu simulaciju. U ovoj igri morate stvoriti prekrasan prijevoznički posao. Međutim, počet ćete u poč...
SuperTuxKart za Linux
SuperTuxKart sjajan je naslov osmišljen kako bi vam besplatno pružio iskustvo Mario Kart na vašem Linux sustavu. Prilično je izazovno i zabavno igrati...
Vodič za bitku za Wesnoth
Bitka za Wesnoth jedna je od najpopularnijih strateških igara otvorenog koda koje trenutno možete igrati. Ne samo da se ova igra razvija već jako dugo...