Linux-kommandoer

Slik kjører du Linux-kommandoer og skript automatisk når du starter systemet på nytt

Slik kjører du Linux-kommandoer og skript automatisk når du starter systemet på nytt
Å kjøre apper og skript automatisk ved oppstart kan være nyttig for automatisering av vanlige oppstartsoppgaver og hendelser. Denne artikkelen vil forklare noen få metoder som kan brukes til å starte apper og skript på en ny omstart eller en ny pålogging.

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 systemd

Merk 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 -e

Legg 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 $ DISPLAY

Forsinkelsen 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.lokal

Legg til kommandoene dine mellom “#! / bin / bash ”og“ exit 0 ”linjene, som vist nedenfor:

#! / bin / bash
sti / til / my_script.sh
avkjørsel 0

Lag rc.lokal fil kjørbar ved å kjøre kommandoen nedenfor:

$ sudo chmod + x / etc / rc.lokal

Bare 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
Installer det siste OpenRA-strategispillet på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spillmotor som gjenskaper de tidlige Westwood-spillene som den klassiske Command & Conquer: Red Alert. Di...
Installer nyeste Dolphin Emulator for Gamecube & Wii på Linux
Dolphin Emulator lar deg spille de valgte Gamecube- og Wii-spillene dine på Linux Personal Computers (PC). Som en fritt tilgjengelig og åpen kildekod...
Hvordan bruke GameConqueror Cheat Engine i Linux
Artikkelen dekker en guide om bruk av GameConqueror-juksemotoren i Linux. Mange brukere som spiller spill på Windows bruker ofte "Cheat Engine" -appli...