Startēšanas lietojumprogrammas
Ubuntu un citiem GNOME izplatījumiem ir lietojumprogramma, ko vienkārši sauc par starta lietojumprogrammām. To var izmantot, lai pārvaldītu lietotnes un skriptus, kas darbojas, atsāknējot sistēmu vai piesakoties.
Palaidiet lietojumprogrammu Startēšanas lietojumprogrammas no lietojumprogrammu palaidēja un noklikšķiniet uz pogas Pievienot, lai pievienotu jaunu ierakstu.
Aizpildiet nosaukuma un komandu laukus atbilstoši savām vajadzībām un pēc tam noklikšķiniet uz pogas Pievienot, lai pabeigtu jauna ieraksta izveidi. Ieraksts, kas izveidots zemāk esošajā ekrānuzņēmumā, nosūtīs atgādinājumu Izveidot dublējumu kā sistēmas paziņojumu par katru atsāknēšanu / pieteikšanos. Jūs varat to aizstāt ar savu komandu vai ar pilnu sava bash skripta ceļu. Varat arī izmantot jebkuru esošo sistēmas komandu vai izpildāmos failus, kas parasti atrodas dažādās failu sistēmas mapēs.
Kā minēts iepriekš, katras pārstartēšanas laikā tiek parādīts atgādinājums par rezerves kopiju.
Sist
Systemd ir dēmons un pakalpojumu pārvaldnieks, kurā ir dažādas utilītas sistēmas procesu un OS komponentu pārvaldībai. Vienkāršotā formā to parasti izmanto, lai sāktu un pabeigtu pakalpojumus jaunā sāknēšanas ciklā.
Sistēmu Systemd var izmantot, lai automātiski palaistu lietotni vai palaistu skriptu jaunā sāknēšanas reizē. Lai izveidotu to pašu paziņojumu par rezerves atgādinājumu, kas iepriekš izskaidrots, vispirms jāizveido nepieciešamās mapes un fails, izpildot tālāk norādītās komandas.
$mkdir -lpp~/.config/sistēma/lietotājs$nano~/.config/sistēma/lietotājs/backup_reminder.service
Nomainiet nano ar iecienītākā teksta redaktora komandu. Aizstājiet backup_reminder ar jebkuru citu vēlamo nosaukumu.
Ielīmējiet zemāk esošo kodu failā backup_reminder.service, kas izveidots, izmantojot iepriekš minēto komandu.
[Vienība]Apraksts = nosūta rezerves atgādinājumu par katru atsāknēšanu
PartOf = graphical-session.target
[Apkalpošana]
ExecStart = bash -c 'miega 10; paziņot-sūtīt 'Izveidot dublējumu'
Ierakstiet = viens šāviens
[Uzstādīt]
WantedBy = graphical-session.target
Iepriekš minētais kods ir diezgan vienkāršs. Tas nosūta paziņojumu par dublējuma izveidi 10 sekundes pēc grafiskās sesijas ielādes (vienu reizi pēc atsāknēšanas vai pieteikšanās).
Palaidiet tālāk norādītās komandas, lai iespējotu pakalpojumu, lai tas varētu automātiski palaist katru restartēšanas reizi.
$chmod 644~/.config/sistēma/lietotājs/backup_reminder.service$ systemctl-lietotājs iespējotbackup_reminder.service
$ systemctl-lietotājsdēmonu pārlādēšana
$ atsāknēšana
Šis ir vienkāršs piemērs pamata komandas palaišanai sāknēšanā, izmantojot systemd. Varat arī izveidot papildu pakalpojumus ar vairākiem nosacījumiem un vairākām komandām. Lai iegūtu papildinformāciju, skatiet sistēmas manuālo lapu, izpildot zemāk esošo komandu:
$cilvēkssistēmaŅemiet vērā, ka šajā piemērā ir paskaidrots, kā izveidot jaunu pakalpojumu, kuram nav nepieciešama saknes piekļuve un kas ir piemērots automātiski startējošām lietotnēm, kurām nav nepieciešamas saknes atļaujas. Ja vēlaties automātiski palaist skriptus, kuriem nepieciešama root piekļuve, mapē ~/.config/systemd/user ir jāizveido jauns systemd pakalpojums direktorijā/etc/systemd/system un jāizlaiž lietotāja slēdzis iepriekšminētajās komandās.
Cron Job
Cron ir rīks, kas var periodiski izpildīt plānotos uzdevumus saskaņā ar lietotāja norādītajiem nosacījumiem. Šie plānotie darbi tiek izveidoti programmā Crontab iepriekš noteiktā formātā. Vienkārši izsakoties, Crontab norāda Cron, kuri darbi kādā brīdī jāpilda.
Tāpat kā systemd, crontab darbus var izmantot, lai palaistu lietotnes un automātiski palaistu skriptus sāknēšanas laikā. Lai pievienotu jaunu cron darbu, palaidiet tālāk norādīto komandu.
$crontab-UnTeksta faila beigās pievienojiet šādas rindiņas (automātiski palaiž GNOME termināli katrā pārstartēšanas reizē):
SHELL =/bin/bash@pārstartēt miegu 30 && DISPLAY =: 0 gnome-terminal
Jūs varat izmantot savu komandu vai nodrošināt pilnu ceļu uz čaulas skriptu.
Ņemiet vērā, ka atšķirībā no systemd, cron nevar noteikt, vai grafiskā sesija ir ielādēta. Jums ir jānorāda paredzamais gaidīšanas periods, līdz X serveris tiek ielādēts, un displeja identifikators. Par savu redzamo ID varat uzzināt, izpildot tālāk norādīto komandu.
$izmest ārā $ DISPLAYKavēšanās pirms komandas vai skripta izpildes ir atkarīga no jūsu sistēmas konfigurācijas un sāknēšanas laika.
Rc.local
Vēl viena metode skriptu un komandu palaišanai startēšanas laikā ir rc.local faila izmantošana. Ņemiet vērā, ka manā testēšanā es nevarēju atlikt skripta izpildi, līdz grafiskā sesija bija tiešraidē. Jebkura miega aizkaves pievienošana noved pie paša pieteikšanās ekrāna parādīšanas aizkavēšanās. Šī iemesla dēļ man neizdevās palaist grafiskās lietotnes startēšanas laikā, izmantojot rc.local failu. Lai rediģētu rc.local, ir nepieciešama arī root piekļuve, atšķirībā no visiem citiem iepriekš aprakstītajiem piemēriem.
Lai rc.local failam pievienotu komandas / skriptus, palaidiet tālāk norādīto komandu (izveido jaunu rc.local failu, ja tāda nav):
$sudo nano /utt/rc.localPievienojiet savas komandas starp #! /bin/bash un izejiet no 0 rindām, kā parādīts zemāk:
#! /bin/bashceļš/uz/my_script.sh
izeja 0
Padariet rc.local failu izpildāmu, palaižot zemāk esošo komandu:
$sudo chmod+ x/utt/rc.localVienkārši restartējiet, lai starta skripts stātos spēkā.
Secinājums
Šīs ir dažas metodes, kuras var izmantot, lai startēšanas laikā automātiski palaistu skriptus un lietotnes. Ja vēlaties palaist skriptus, kuriem nav nepieciešama root piekļuve, es ieteiktu izmantot lietotni Startup Applications GUI. Ja vēlaties palaist lietotnes un skriptus ar saknes piekļuvi, es ieteiktu jums izveidot sistēmas līmeņa sistematizētu pakalpojumu.
Par autoru
Nitesh Kumar
Esmu ārštata programmatūras izstrādātājs un satura rakstnieks, kuram patīk Linux, atvērtā pirmkoda programmatūra un bezmaksas programmatūras kopiena.
Skatīt visas ziņas