Oppstartsprogrammer
Ubuntu og andre GNOME -baserte distribusjoner kommer med et program som bare kalles Oppstartsprogrammer. Den kan brukes til å administrere apper og skript som kjøres på en ny systemstart eller pålogging.
Start Startup Applications -appen fra programstarteren, og klikk på Legg til -knappen for å legge til en ny oppføring.
Fyll ut navn- og kommandofeltene i henhold til dine behov, og klikk deretter på Legg til -knappen for å fullføre opprettelsen av en ny oppføring. Oppføringen som er opprettet på skjermbildet nedenfor, sender en påminnelse om å lage en sikkerhetskopi som et systemvarsel ved hver omstart / pålogging. Du kan erstatte den med din egen kommando eller med hele banen til bash -skriptet. Du kan også bruke eksisterende systemkommandoer eller kjørbare filer som vanligvis finnes i forskjellige bin -mapper på tvers av filsystemet.
Som nevnt ovenfor, vises en påminnelse om sikkerhetskopiering ved hver omstart.
Systemd
Systemd er en demon og service manager 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 å lage det samme varselet om påminnelse om sikkerhetskopiering forklart ovenfor, må du først opprette de nødvendige mappene og filen ved å kjøre kommandoene nedenfor:
$mkdir -s~/.konfig/system/bruker$nano~/.konfig/system/bruker/backup_reminder.service
Erstatt nano med kommandoen til ditt favoritt tekstredigeringsprogram. Erstatt backup_reminder med et annet navn du foretrekker.
Lim inn koden nedenfor i backup_reminder.service -filen som er opprettet ved hjelp av kommandoen ovenfor.
[Enhet]Beskrivelse = Sender en påminnelse om sikkerhetskopiering ved hver omstart
PartOf = graphical-session.target
[Service]
ExecStart = bash -c 'søvn 10; varsle-send 'Lag en sikkerhetskopi' '
Type = oneshot
[Installere]
WantedBy = graphical-session.target
Koden ovenfor er ganske grei. Den sender et varsel om å lage en sikkerhetskopi 10 sekunder etter at den grafiske økten er lastet (én gang hver omstart eller pålogging).
Kjør kommandoene nedenfor for å aktivere tjenesten slik at den automatisk kan kjøres ved hver omstart.
$chmod 644~/.konfig/system/bruker/backup_reminder.service$ systemctl--bruker muliggjørebackup_reminder.service
$ systemctl--brukerdemon-reload
$ reboot
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 side ved å kjøre kommandoen nedenfor:
$MannsystemVær oppmerksom på at dette eksemplet forklarer hvordan du oppretter en ny tjeneste som ikke krever root-tilgang og er egnet for apper som starter automatisk som ikke krever root-tillatelser. Hvis du vil starte skript som krever root-tilgang automatisk, må du opprette en ny systemd-tjeneste i/etc/systemd/systemkatalogen i stedet for ~/.config/systemd/brukermappe og utelate –brukerbryter i kommandoene nevnt ovenfor.
Cron Job
Cron er et verktøy som med jevne mellomrom kan kjøre planlagte oppgaver i henhold til betingelsene spesifisert 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.
I likhet med 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-OgLegg til følgende linjer på slutten av tekstfilen (starter GNOME -terminalen automatisk ved hver omstart):
SHELL =/bin/bash@reboot sleep 30 && DISPLAY =: 0 gnome-terminal
Du kan bruke din egen kommando eller levere full vei til et skallskript.
Vær oppmerksom på at i motsetning til systemd, kan cron ikke oppdage om grafisk økt har blitt lastet inn eller ikke. Du må angi en estimert ventetid til X -serveren lastes inn og en visningsidentifikator. Du kan vite om visnings -ID -en din ved å kjøre kommandoen nedenfor:
$kastet ut $ DISPLAYForsinkelsen før kjøring av kommando eller skript avhenger av systemkonfigurasjonen og oppstartstiden.
Rc.local
En annen metode for å kjøre skript og kommandoer ved oppstart er å bruke rc.local -fil. Vær oppmerksom på at jeg under testen ikke kunne utsette kjøring av skript før grafisk økt var live. Hvis du legger til søvnforsinkelse, kan det føre til forsinkelse i visningen av selve påloggingsskjermen. På grunn av dette hadde jeg ingen suksess med å kjøre grafiske apper ved oppstart ved hjelp av rc.local -fil. Redigering av rc.local krever også root -tilgang, i motsetning til alle andre eksempler forklart ovenfor.
For å legge til kommandoer / skript i rc.local -filen, kjør kommandoen nedenfor (oppretter en ny rc.local -fil hvis den ikke finnes):
$sudo nano /etc/rc.localLegg til kommandoene mellom #! /bin/bash og avslutt 0 linjer, som vist nedenfor:
#! /bin/bashsti/til/my_script.sh
avslutte 0
Gjør rc.local -filen kjørbar ved å kjøre kommandoen nedenfor:
$sudo chmod+ x/etc/rc.localBare start på nytt for at oppstartsskriptet skal tre i kraft.
Konklusjon
Dette er noen få metoder som kan brukes til automatisk å kjøre skript og apper 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å deg å lage en systemd -tjeneste på systemnivå.
Om forfatteren
Nitesh Kumar
Jeg er en frilanser programvareutvikler og innholdsforfatter som elsker Linux, åpen kildekode -programvare og gratis programvaresamfunn.
Se alle innlegg