Käynnistyssovellukset
Ubuntu ja muut GNOME -pohjaiset jakelut sisältävät sovelluksen, jota kutsutaan yksinkertaisesti käynnistyssovelluksiksi. Sitä voidaan käyttää sovellusten ja komentosarjojen hallintaan, jotka toimivat uudella järjestelmän uudelleenkäynnistyksellä tai kirjautumisella.
Käynnistä käynnistyssovellukset sovellusten käynnistysohjelmasta ja lisää uusi merkintä napsauttamalla Lisää -painiketta.
Täytä Nimi- ja Komento -kentät tarpeidesi mukaan ja lopeta uuden merkinnän luominen napsauttamalla Lisää -painiketta. Alla olevaan kuvakaappaukseen luotu merkintä lähettää Tee varmuuskopio -muistutuksen järjestelmäilmoituksena jokaisesta uudelleenkäynnistyksestä / kirjautumisesta. Voit korvata sen omalla komennollasi tai bash -komentosarjasi täydellä polulla. Voit myös käyttää mitä tahansa olemassa olevaa järjestelmäkomentoa tai suoritettavia tiedostoja, jotka yleensä sijaitsevat tiedostojärjestelmän eri lokeroissa.
Kuten edellä todettiin, varmuuskopiointimuistutus näkyy jokaisen uudelleenkäynnistyksen yhteydessä.
Systemd
Systemd on demoni ja palvelunhallinta, joka sisältää erilaisia apuohjelmia järjestelmän prosessien ja käyttöjärjestelmän osien hallintaan. Yksinkertaistetussa muodossaan sitä käytetään tyypillisesti palveluiden käynnistämiseen ja lopettamiseen uudella käynnistysjaksolla.
Systemdillä voidaan käynnistää sovellus automaattisesti tai suorittaa komentosarja uudessa käynnistyksessä. Jos haluat luoda saman varmuuskopiointimuistutusilmoituksen yllä, sinun on ensin luotava tarvittavat kansiot ja tiedosto suorittamalla alla olevat komennot:
$mkdir -p~/.config/järjestelmä/käyttäjä$nano~/.config/järjestelmä/käyttäjä/backup_reminder.service
Korvaa nano suosikkitekstieditorisi komennolla. Korvaa backup_reminder millä tahansa muulla haluamallasi nimellä.
Liitä alla oleva koodi yllä olevalla komennolla luotuun backup_reminder.service -tiedostoon.
[Yksikkö]Kuvaus = Lähetä muistutus varmuuskopiosta jokaisen uudelleenkäynnistyksen yhteydessä
PartOf = graphical-session.target
[Palvelu]
ExecStart = bash -c 'uni 10; ilmoita-lähetä 'Tee varmuuskopio'
Kirjoita = yksi laukaus
[Asentaa]
WantedBy = graphical-session.target
Yllä oleva koodi on melko yksinkertainen. Se lähettää Tee varmuuskopio -ilmoituksen 10 sekunnin kuluttua graafisen istunnon lataamisesta (kerran jokaisen uudelleenkäynnistyksen tai kirjautumisen yhteydessä).
Ota palvelu käyttöön suorittamalla alla olevat komennot, jotta se voidaan suorittaa automaattisesti jokaisen uudelleenkäynnistyksen yhteydessä.
$chmod 644~/.config/järjestelmä/käyttäjä/backup_reminder.service$ systemctl--käyttäjä ota käyttöönbackup_reminder.service
$ systemctl--käyttäjädaemon-lataa
$ uudelleenkäynnistys
Tämä on vain yksinkertainen esimerkki peruskomennon suorittamisesta käynnistyksen yhteydessä systemd -järjestelmällä. Voit myös luoda lisäpalveluja, joissa on useita ehtoja ja useita komentoja. Lisätietoja on systemd -man -sivulla suorittamalla alla oleva komento:
$miesjärjestelmäHuomaa, että tämä esimerkki selittää uuden palvelun luomisen, joka ei vaadi pääkäyttäjän oikeuksia ja sopii automaattisesti käynnistyville sovelluksille, jotka eivät vaadi pääkäyttäjän oikeuksia. Jos haluat käynnistää pääkäyttäjän oikeudet vaativat komentosarjat automaattisesti, sinun on luotava uusi systemd-palvelu hakemistossa/etc/systemd/system hakemiston ~/.config/systemd/user sijaan ja jätettävä käyttäjäkytkin pois edellä mainituista komennoista.
Cron Job
Cron on työkalu, joka voi ajoittain suorittaa ajoitettuja tehtäviä käyttäjän määrittämien ehtojen mukaisesti. Nämä ajoitetut työt luodaan Crontabissa ennalta määritetyssä muodossa. Yksinkertaisesti sanottuna Crontab kertoo Cronille, mitkä työt suoritetaan milloin tahansa.
Kuten systemd, crontab -töitä voidaan käyttää sovellusten käynnistämiseen ja komentosarjojen suorittamiseen automaattisesti käynnistyksen yhteydessä. Jos haluat lisätä uuden cron -työn, suorita alla oleva komento:
$crontab-JaLisää seuraavat rivit tekstitiedoston loppuun (käynnistää GNOME -päätelaitteen automaattisesti jokaisen uudelleenkäynnistyksen yhteydessä):
SHELL =/bin/bash@reboot sleep 30 && DISPLAY =: 0 gnome-pääte
Voit käyttää omaa komentoasi tai toimittaa kuoren komentosarjan koko polun.
Huomaa, että toisin kuin systemd, cron ei voi havaita, onko graafinen istunto ladattu vai ei. Sinun on määritettävä arvioitu odotusaika X -palvelimen lataamiseen ja näyttötunniste. Näyttötunnuksesi saat selville suorittamalla alla olevan komennon:
$heitti pois $ DISPLAYViive ennen komennon tai komentosarjan suorittamista riippuu järjestelmän kokoonpanosta ja käynnistymisajasta.
Rc. Paikallinen
Toinen tapa suorittaa komentosarjoja ja komentoja käynnistettäessä on käyttää rc.local -tiedostoa. Huomaa, että testauksessani en voinut lykätä komentosarjan suorittamista ennen kuin graafinen istunto oli käynnissä. Unen viiveen lisääminen viivästyttää itse kirjautumisnäytön näyttämistä. Tämän vuoksi minulla ei onnistunut suorittamaan graafisia sovelluksia käynnistettäessä rc.local -tiedoston avulla. Rc.localin muokkaaminen vaatii myös pääkäyttäjän oikeudet, toisin kuin kaikki muut edellä selitetyt esimerkit.
Jos haluat lisätä komentoja / komentosarjoja rc.local -tiedostoon, suorita alla oleva komento (luo uuden rc.local -tiedoston, jos sitä ei ole):
$sudo nano /jne/rc.localLisää komennot välille #! /bin/bash ja exit 0 riviä, kuten alla on esitetty:
#! /bin/bashpolku/kohteeseen/my_script.sh
poistua 0
Tee rc.local -tiedosto suoritettavaksi suorittamalla alla oleva komento:
$sudo chmod+ x/jne/rc.localKäynnistä vain uudelleen, jotta käynnistysskripti tulee voimaan.
Johtopäätös
Nämä ovat muutamia menetelmiä, joita voidaan käyttää skriptien ja sovellusten automaattiseen suorittamiseen käynnistyksen yhteydessä. Jos haluat suorittaa komentosarjoja, jotka eivät vaadi pääkäyttäjän oikeutta, suosittelen käyttämään Startup Applications GUI -sovellusta. Jos haluat käyttää sovelluksia ja komentosarjoja pääkäyttäjän oikeuksilla, suosittelen luomaan järjestelmätason järjestelmäpalvelun.
Kirjailijasta
Nitesh Kumar
Olen freelancer -ohjelmistokehittäjä ja sisällön kirjoittaja, joka rakastaa Linuxia, avoimen lähdekoodin ohjelmistoja ja ilmaisia ohjelmistoyhteisöjä.
Näytä kaikki viestit