Ukazi za Linux

Kako samodejno zagnati ukaze in skripte Linuxa pri ponovnem zagonu sistema

Kako samodejno zagnati ukaze in skripte Linuxa pri ponovnem zagonu sistema
Samodejni zagon aplikacij in skriptov ob zagonu je lahko koristen za avtomatizacijo pogostih zagonskih opravil in dogodkov. Ta članek bo razložil nekaj metod, ki jih je mogoče uporabiti za zagon aplikacij in skriptov pri novem ponovnem zagonu ali novi prijavi.

Zagon aplikacij

Ubuntu in druge distribucije, ki temeljijo na GNOME, so opremljene z aplikacijo, ki se preprosto imenuje "Startup Applications". Uporablja se lahko za upravljanje aplikacij in skriptov, ki se izvajajo ob novem ponovnem zagonu sistema ali prijavi.

V zaganjalniku aplikacij zaženite aplikacijo »Zagon aplikacij« in kliknite gumb »Dodaj«, da dodate nov vnos.

Izpolnite polji "Ime" in "Ukaz" po svojih potrebah in nato kliknite gumb "Dodaj", da končate ustvarjanje novega vnosa. Vnos, ustvarjen na spodnjem posnetku zaslona, ​​bo kot sistemsko obvestilo ob vsakem ponovnem zagonu / prijavi poslal sistemsko opozorilo. Lahko ga nadomestite s svojim ukazom ali s celotno potjo vašega skripta bash. Uporabite lahko tudi kateri koli obstoječi sistemski ukaz ali izvedljive datoteke, ki se običajno nahajajo v različnih mapah "bin" v datotečnem sistemu.

Kot je navedeno zgoraj, se ob vsakem ponovnem zagonu prikaže opomnik za varnostno kopiranje.

Systemd

Systemd je demon in upravitelj storitev, ki vsebuje različne pripomočke za upravljanje sistemskih procesov in komponent OS. V svoji poenostavljeni obliki se običajno uporablja za zagon in konec storitev v novem zagonskem ciklu.

Systemd se lahko uporablja za samodejni zagon aplikacije ali zagon skripta ob novem zagonu. Če želite ustvariti isto zgoraj razloženo obvestilo o varnostnem opomniku, morate najprej ustvariti zahtevane mape in datoteke z zagonom spodnjih ukazov:

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

Zamenjajte »nano« z ukazom vašega najljubšega urejevalnika besedil. Zamenjajte »backup_reminder« s katerim koli drugim imenom, ki vam je ljubše.

Spodnjo kodo prilepite v backup_reminder.datoteka storitve, ustvarjena z zgornjim ukazom.

[Enota]
Opis = Pošlje varnostni opomnik ob vsakem ponovnem zagonu
PartOf = grafična seja.cilj
[Storitev]
ExecStart = bash -c 'spanje 10; notify-send "Ustvari varnostno kopijo" '
Vnesite = onehot
[Namesti]
WantedBy = grafična seja.cilj

Zgornja koda je precej preprosta. Pošlje obvestilo »Napravi varnostno kopijo« 10 sekund po nalaganju grafične seje (enkrat ob vsakem ponovnem zagonu ali prijavi).

Zaženite spodnje ukaze, da omogočite storitev, da se lahko samodejno zažene ob vsakem ponovnem zagonu.

$ chmod 644 ~ /.config / systemd / user / backup_reminder.storitev
$ systemctl --user omogoči backup_reminder.storitev
$ systemctl --user daemon-reload
$ reboot

To je le preprost primer izvajanja osnovnega ukaza ob zagonu s sistemom. Ustvarite lahko tudi napredne storitve z več pogoji in z več ukazi. Če želite več informacij, glejte sistemsko man stran z zagonom spodnjega ukaza:

$ man sistemd

Upoštevajte, da ta primer pojasnjuje ustvarjanje nove storitve, ki ne zahteva korenskega dostopa in je primerna za samodejni zagon aplikacij, ki ne zahtevajo korenskih dovoljenj. Če želite samodejno zagnati skripte, ki zahtevajo korenski dostop, morate namesto “~ / v imeniku“ / etc / systemd / system ”ustvariti novo sistemsko storitev.mapo config / systemd / user «in v zgornjih ukazih izpustite stikalo» -user «.

Kron Job

Cron je orodje, ki lahko občasno izvaja načrtovane naloge v skladu s pogoji, ki jih določi uporabnik. Ta razporejena opravila so ustvarjena v Crontabu v vnaprej določeni obliki. Preprosto Crontab Cronu pove, katera opravila naj se izvedejo v določenem trenutku.

Tako kot systemd lahko tudi z opravili crontab zaženete aplikacije in samodejno zaženete skripte ob zagonu. Če želite dodati novo opravilo cron, zaženite spodnji ukaz:

$ crontab -e

Na koncu besedilne datoteke dodajte naslednje vrstice (samodejno zažene terminal GNOME ob vsakem ponovnem zagonu):

LUŠČINA = / bin / bash
@reboot sleep 30 && DISPLAY =: 0 gnome-terminal

Uporabite lahko svoj ukaz ali vnesete celotno pot do skripta lupine.

Upoštevajte, da za razliko od systemd cron ne more zaznati, ali je bila grafična seja naložena ali ne. Določiti morate nekaj predvidenega čakalnega obdobja do nalaganja strežnika X in identifikator zaslona. Z vašim prikaznim ID-jem lahko ugotovite tako, da zaženete spodnji ukaz:

$ echo $ PRIKAZ

Zamuda pred izvajanjem ukaza ali skripta je odvisna od konfiguracije sistema in časa zagona.

Rc.lokalno

Druga metoda za zagon skriptov in ukazov ob zagonu je uporaba “rc.lokalna ”datoteka. Upoštevajte, da med preizkušanjem nisem mogel odložiti izvajanja skripta, dokler ni zaživela grafična seja. Če dodate morebitno zakasnitev spanja, pride do zamude pri prikazu samega prijavnega zaslona. Zaradi tega nisem imel uspeha pri zagonu grafičnih aplikacij ob zagonu z rc.lokalna datoteka. Urejanje rc.local zahteva tudi korenski dostop, za razliko od vseh drugih primerov, pojasnjenih zgoraj.

Če želite rc dodati ukaze / skripte.lokalno datoteko, zaženite spodnji ukaz (ustvari nov rc.lokalna datoteka, če ne obstaja):

$ sudo nano / etc / rc.lokalno

Dodajte svoje ukaze med “#! / bin / bash "in" exit 0 ", kot je prikazano spodaj:

#! / bin / bash
pot / do / mojega_skripta.sh
izhod 0

Naredite rc.lokalno datoteko, ki jo je mogoče izvršiti z zagonom spodnjega ukaza:

$ sudo chmod + x / etc / rc.lokalno

Samo znova zaženite, da bo zagonski skript začel veljati.

Zaključek

To je nekaj metod, s katerimi lahko samodejno zaženete skripte in aplikacije ob zagonu. Če želite zagnati skripte, ki ne zahtevajo korenskega dostopa, priporočam uporabo GUI aplikacije »Startup Applications«. Če želite zagnati aplikacije in skripte s korenskim dostopom, predlagam, da ustvarite sistemsko storitev na sistemski ravni.

O avtorju

Nitesh Kumar

Sem svobodni razvijalec programske opreme in avtor vsebin, ki obožujem Linux, odprtokodno programsko opremo in skupnost brezplačne programske opreme.

Ogled vseh objav
10 najboljših iger za igranje v Ubuntuju
Platforma Windows je bila ena izmed prevladujočih platform za igre na srečo zaradi velikega odstotka iger, ki se danes razvijajo za naravno podporo si...
5 najboljših arkadnih iger za Linux
Dandanes so računalniki resni stroji, ki se uporabljajo za igre na srečo. Če ne boste mogli dobiti novega visokega rezultata, boste vedeli, kaj mislim...
Bitka za Wesnoth 1.13.6 Razvoj izdan
Bitka za Wesnoth 1.13.6, ki je izšel prejšnji mesec, je šesta razvojna izdaja v 1.13.x series in prinaša številne izboljšave, predvsem uporabniški vme...