Oppstartsapplikasjoner
Ubuntu og andre GNOME-baserte distribusjoner kommer med et program som bare heter "Startup Applications". Den kan brukes til å administrere apper og skript som kjører på en ny omstart eller pålogging av systemet.
Start "Startup Applications" -appen fra applikasjonsstarteren, og klikk på "Legg til" -knappen for å legge til en ny oppføring.
Fyll ut feltene "Navn" og "Kommando" etter dine behov, og klikk deretter på "Legg til" -knappen for å fullføre opprettelsen av en ny oppføring. Oppføringen opprettet i skjermbildet nedenfor vil sende en "Lag en sikkerhetskopi" -påminnelse som et systemvarsel på hver omstart / pålogging. Du kan erstatte den med din egen kommando eller med hele banen til ditt bash-skript. Du kan også bruke hvilken som helst eksisterende systemkommando eller kjørbare filer som vanligvis er plassert i forskjellige "søppel" -mapper på tvers av filsystemet.
Som nevnt ovenfor vises en sikkerhetskopi påminnelse ved hver omstart.
Systemd
Systemd er en demon- og servicemanager som inneholder forskjellige verktøy for å administrere systemprosesser og OS-komponenter. I sin forenklede form brukes den vanligvis til å starte og avslutte tjenester i en ny oppstartssyklus.
Systemd kan brukes til å starte en app automatisk eller kjøre et skript på en ny oppstart. For å opprette det samme varselet om påminnelse om sikkerhetskopi som forklart ovenfor, må du først opprette de nødvendige mappene og filen ved å kjøre kommandoene nedenfor:
$ mkdir -p ~ /.config / systemd / bruker$ nano ~ /.config / systemd / user / backup_reminder.service
Erstatt “nano” med kommandoen til favoritt teksteditoren din. Erstatt “backup_reminder” med et hvilket som helst annet navn du foretrekker.
Lim inn koden nedenfor i backup_reminder.tjenestefilen opprettet ved hjelp av kommandoen ovenfor.
[Enhet]Beskrivelse = Sender en påminnelse om sikkerhetskopi ved hver omstart
PartOf = grafisk økt.mål
[Service]
ExecStart = bash -c 'sove 10; varsle-send "Lag en sikkerhetskopi" '
Type = oneshot
[Installere]
WantedBy = grafisk økt.mål
Koden ovenfor er ganske grei. Det sender et "Make a Backup" -varsel 10 sekunder etter at den grafiske økten er lastet inn (en gang hver omstart eller innlogging).
Kjør kommandoene nedenfor for å aktivere tjenesten slik at den automatisk kan kjøres ved hver omstart.
$ chmod 644 ~ /.config / systemd / user / backup_reminder.service$ systemctl - bruker aktiverer backup_reminder.service
$ systemctl - bruker daemon-reload
$ omstart
Dette er bare et enkelt eksempel på å kjøre en grunnleggende kommando ved oppstart ved hjelp av systemd. Du kan også opprette avanserte tjenester med flere betingelser og flere kommandoer. For mer informasjon, se systemd man-siden ved å kjøre kommandoen nedenfor:
$ mann systemdMerk at dette eksemplet forklarer hvordan du oppretter en ny tjeneste som ikke krever root-tilgang, og som er egnet for automatisk start av apper som ikke krever root-tillatelser. Hvis du vil starte skript som krever root-tilgang automatisk, må du opprette en ny systemtjeneste i katalogen “/ etc / systemd / system” i stedet for “~ /.config / systemd / user ”-mappen og utelat“ -user ”-bryteren i kommandoene nevnt ovenfor.
Cron Job
Cron er et verktøy som med jevne mellomrom kan kjøre planlagte oppgaver i henhold til vilkårene som er angitt av en bruker. Disse planlagte jobbene opprettes i Crontab i et forhåndsdefinert format. Enkelt sagt forteller Crontab Cron hvilke jobber som skal kjøres på hvilket tidspunkt.
Som systemd kan crontab-jobber brukes til å starte apper og kjøre skript automatisk ved oppstart. For å legge til en ny cron-jobb, kjør kommandoen nedenfor:
$ crontab -eLegg til følgende linjer på slutten av tekstfilen (starter automatisk GNOME-terminalen ved hver omstart):
SKJELL = / bin / bash@reboot sleep 30 && DISPLAY =: 0 kabelterminal
Du kan bruke din egen kommando eller oppgi full sti til et skallskript.
Merk at i motsetning til systemd kan cron ikke oppdage om grafisk økt er lastet inn eller ikke. Du må spesifisere en estimert ventetid til X-serveren lastes inn og en skjermidentifikator. Du kan vite om skjerm-ID-en din ved å kjøre kommandoen nedenfor:
$ echo $ DISPLAYForsinkelsen før utførelse av kommando eller skript avhenger av systemkonfigurasjonen og oppstartstiden.
Rc.lokal
En annen metode for å kjøre skript og kommandoer ved oppstart er å bruke “rc.lokal ”fil. Vær oppmerksom på at i testingen min klarte jeg ikke å utsette skriptutførelsen før den grafiske økten var live. Legge til søvnforsinkelse føre til forsinkelse i visningen av selve innloggingsskjermen. På grunn av dette hadde jeg ingen suksess med å kjøre grafiske apper ved oppstart med rc.lokal fil. Redigering av rc.local krever også root-tilgang, i motsetning til alle andre eksempler som er forklart ovenfor.
For å legge til kommandoer / skript til rc.lokal fil, kjør kommandoen nedenfor (oppretter en ny rc.lokal fil hvis den ikke eksisterer):
$ sudo nano / etc / rc.lokalLegg til kommandoene dine mellom “#! / bin / bash ”og“ exit 0 ”linjene, som vist nedenfor:
#! / bin / bashsti / til / my_script.sh
avkjørsel 0
Lag rc.lokal fil kjørbar ved å kjøre kommandoen nedenfor:
$ sudo chmod + x / etc / rc.lokalBare start på nytt for at oppstartsskriptet skal tre i kraft.
Konklusjon
Dette er noen få metoder som kan brukes til å kjøre skript og apper automatisk ved oppstart. Hvis du ønsker å kjøre skript som ikke krever root-tilgang, vil jeg anbefale å bruke GUI-appen "Startup Applications". Hvis du vil kjøre apper og skript med root-tilgang, vil jeg foreslå at du oppretter en systemd-tjeneste på systemnivå.
Om forfatteren
Nitesh Kumar
Jeg er en frilanser programvareutvikler og innholdsforfatter som elsker Linux, programvare med åpen kildekode og gratis programvaresamfunn.
Vis alle innlegg