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 sistemdImajte 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 -eDodajte 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 $ PRIKAZKaš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.lokalnoDodajte svoje naredbe između "#! / bin / bash "i" izlaz 0 ", kao što je prikazano dolje:
#! / bin / bashput / 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.lokalnoSamo 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