en av Linux-systemens fantastiska funktioner är möjligheten att tweak och konfigurera det efter eget tycke. Kommandoradsverktyget, som vanligtvis kallas terminalen, gör det möjligt för användare att skicka kommandon till kärnan och utföra viktiga uppgifter. Det är en av de många funktionerna som tar fram skillnaden mellan Linux och andra operativsystem.
i det här inlägget kommer vi att utnyttja en av Linuxs kraftfulla funktioner: möjligheten att köra skript/kommandon och applikationer automatiskt vid start. Denna process görs för att uppnå flera saker. Det kan sträcka sig från rolig och enkel uppgift som att ändra bakgrundsbild till komplicerade saker som att säkerhetskopiera data eller kryptera filer.
kör Linux-skript vid start
Låt oss komma igång och titta på de olika metoderna vi kan använda för att automatisera Linux-startskript och kommandon.
Metod 1: Använd ’Startup Applications’ GUI App
de flesta av de metoder som vi kommer att titta på kräver kommandoraden. GNOME – baserade distributioner har dock ett enkelt grafiskt verktyg du kan använda. Den ’ Startup Applications. Den är förinstallerad och är ett pålitligt verktyg för användare som inte gillar att smutsa händerna på terminalen.
1. Starta ’Startup Applications’ från programmenyn.
2. I huvudfönstret’ Startup Applications ’ ser du tre alternativ till höger; lägg till, ta bort och redigera. För att skapa vårt första automatiserade skript, klicka på knappen ’Lägg till’.
3. Ett pop-fönster öppnas. Ange namnet på ditt startskript eller program. I kommandosektionen anger du kommandot som du vill köra – säg ’sudo mkdir /home/tuts/Desktop/My-Test-Script.’Alternativt kan du ange hela sökvägen till ditt bash-skript eller körbara systemkommando i de olika ’bin’ – katalogerna.
ovanstående kommando kommer alltid att ge mig ett meddelande på min skärm för att uppdatera mitt system efter varje start. Det är bara ett enkelt exempel. Du kan skriva avancerade bash-skript för att utföra olika uppgifter. Om du precis har börjat med bash-scripting, titta på några av Bash för Loop exempel här.
Metod 2: Använd Cron Job
Cron är en Linux-demon som utför användarredigerade uppgifter som anges av användaren. Dessa schemalagda aktiviteter skrivs i crontab-filen. Det berättar Cron vilka jobb att köra vid vilken tidpunkt och under vilka händelser.
grundformatet för en crontab-fil är:
.
för att köra skript vid start använder vi dock parametern @reboot. Om alla dessa låter nya för dig, läs vår artikel om Crontab i Linux förklaras med exempel.
för att komma igång, lägg till ett nytt cron-jobb, kör kommandot nedan på terminalen.
$ crontab -e
Om du aldrig har gjort det tidigare ser du ett alternativ att välja din standardredigerare, som visas nedan. Jag skulle rekommendera nano eftersom det är mycket enkelt och enkelt. I mitt fall här kommer jag in ’ 1.’
vi skriver ett enkelt skript som skapar en ny katalog på skrivbordet vid start.
SHELL=/bin/bash@reboot sleep 30 && DISPLAY=:0 My-Test-Directory
Metod 3: Använd /RC.lokal
en annan metod för att köra skript och kommandon vid start är att använda /rc.lokal fil. För att komma igång, kör kommandot nedan på terminalen.
sudo nano /etc/rc.local
detta kommando öppnar rc.lokal fil på nano editor. Om det inte var närvarande skulle det skapa en. Ange dina kommandon mellan #! / bin / bash och avsluta 0 linjer. Du kan också ge hela sökvägen till ditt bash-skript här.
#! /bin/bash//path-to-your-bash-scriptexit 0
Nu måste vi göra /rc.lokal fil körbar. Kör kommandot nedan:
sudo chmod +x /etc/rc.local
När du är klar startar du om datorn och ser ändringarna träda i kraft.
Metod 4: Systemd
Systemd är en programsvit som innehåller olika verktyg för att hantera systemtjänster och OS-processer. Systemd startar tjänster och processer vid start.
Vi kan använda Systemd för att automatisera våra skript och kommandon vid start. Låt oss skapa och automatisera ett program för att meddela oss att uppdatera systemet med Systemd.
för att komma igång, låt oss den önskade mappen och filen där vi skriver våra kommandon. Kör kommandona nedan:
$ mkdir -p ~/.config/systemd/user$ nano ~/.config/systemd/user/update-notifier.service
Efter det andra kommandot, nano-redigeraren öppnas, klistra in kommandona nedan här.
Description=Reminder to Update SystemPartOf=graphical-session-targetExecStart=bash -c 'sleep 10; notify-send "Please, Update your System Now"Type=oneshotWantedBy=graphical-session.target
dessa kommandon är ganska enkla. Systemet skickar ”Update-Reminder” 10 sekunder efter att den grafiska sessionen har laddats efter start.
nu för att säkerställa att skriptet laddas efter varje start måste vi göra det körbart. Kör kommandona nedan.
$ chmod 644 ~/.config/systemd/user/update-notifier.service$ systemctl --user enable update-notifier.service$ systemctl --user daemon-reload$ reboot
det är ett enkelt sätt på hur vi kan automatisera skript med systemd vid start. Ovanstående metod Kör skript som inte kräver root-åtkomst. Om du vill skapa ett skript som behöver root-åtkomst, skapa en systemd-tjänst i mappen”/etc/systemd /system” istället för”~/.config / systemd/ användare ” katalog. Du måste också utelämna ordet ’användare’ som ingår i kommandot ovan.
slutsats
det här är fyra metoder som du kan använda för att automatiskt utföra Linux-startskript och kommandon vid start. Om du skapar enkla skript som inte kräver förhöjda behörigheter att utföra, rekommenderar jag att du använder GUI-appen ’Startup Application’ eller ett enkelt cron-jobb. Om dina skript behöver root-åtkomst, överväg att skapa en Systemd-tjänst.