een van de fantastische features van Linux systemen is de mogelijkheid om het naar wens aan te passen en te configureren. Het command-line utility, meestal aangeduid als de Terminal, stelt gebruikers in staat om opdrachten door te geven aan de kernel en cruciale taken uit te voeren. Het is een van de vele functies die het verschil tussen Linux en andere besturingssystemen naar voren brengen.
in dit bericht zullen we een van Linux ‘ s krachtige functies benutten: de mogelijkheid om scripts/opdrachten en toepassingen automatisch uit te voeren bij het opstarten. Dit proces wordt gedaan om verschillende dingen te bereiken. Het kan variëren van leuke en eenvoudige taak, zoals het veranderen van het behang om ingewikkelde dingen zoals back-up van gegevens of het versleutelen van bestanden.
Linux-Scripts uitvoeren bij opstarten
laten we beginnen en kijken naar de verschillende methoden die we kunnen gebruiken om Linux-opstartscripts en-commando ‘ s te automatiseren.
Methode 1: Gebruik’ opstarttoepassingen ‘ GUI App
De meeste methoden die we zullen bekijken vereisen de opdrachtregel. GNOME-gebaseerde distributies hebben echter een eenvoudig grafisch hulpprogramma dat u kunt gebruiken. De ‘Opstartprogramma’ S.’Het wordt voorgeïnstalleerd geleverd en is een betrouwbare tool voor gebruikers die niet graag hun handen vuil maken aan de Terminal.
1. Start ‘opstarttoepassingen’ vanuit het menu Toepassingen.
2. Op de’ Startup Applications ‘ hoofdvenster, ziet u drie opties aan de rechterkant; toevoegen, verwijderen, en bewerken. Om ons eerste geautomatiseerde script te maken, klikt u op de knop’ Toevoegen’.
3. Er gaat een pop-venster open. Voer de naam in van uw opstartscript of programma. In de opdracht sectie, voer de opdracht die u wilt uitvoeren-zeg ‘ sudo mkdir/home/tuts/Desktop / My-Test-Script.’Als alternatief, kunt u het volledige pad naar uw bash script of uitvoerbare systeem commando in de verschillende ‘bin’ directory ‘ s.
het bovenstaande commando geeft me altijd een melding op mijn scherm om mijn systeem bij te werken na elke opstart. Dat is slechts een eenvoudig voorbeeld. U kunt geavanceerde bash scripts schrijven om verschillende taken uit te voeren. Als je net begonnen bent met bash-scripting, kijk dan naar enkele voorbeelden van Bash voor Loop hier.
Methode 2: Gebruik cron-taak
Cron is een Linux-daemon die door de gebruiker bewerkte taken uitvoert zoals opgegeven door de gebruiker. Deze geplande taken worden geschreven in het crontab bestand. Het vertelt de Cron welke banen te draaien op welk tijdstip en onder welke gebeurtenissen.
het basisformaat van een crontab-bestand is:
.
echter, voor het uitvoeren van scripts bij het opstarten, zullen we de @reboot parameter gebruiken. Als dit allemaal nieuw voor je klinkt, lees dan ons artikel over crontab in Linux uitgelegd met voorbeelden.
om te beginnen, voeg een nieuwe cron-taak toe, voer het onderstaande commando uit op de Terminal.
$ crontab -e
Als u dit nog nooit hebt gedaan, ziet u een optie om uw standaard editor te kiezen, zoals hieronder getoond. Ik zou Nano aanraden omdat het veel eenvoudig en eenvoudig is. In mijn geval hier, zal ik ” 1.’
We zullen een eenvoudig script schrijven dat een nieuwe map op het bureaublad zal aanmaken bij het opstarten.
SHELL=/bin/bash@reboot sleep 30 && DISPLAY=:0 My-Test-Directory
Methode 3: Gebruik de /rc.local
een andere methode om scripts en commando ‘ s uit te voeren bij het opstarten is het gebruik van /rc.lokaal dossier. Om te beginnen, voer je het onderstaande commando uit op de Terminal.
sudo nano /etc/rc.local
Dit commando zal de rc openen.lokaal bestand over de nano-editor. Als het niet aanwezig was, zou het er een creëren. Voer je commando ‘ s in tussen de #! / bin / bash en exit 0 lijnen. Je kunt hier ook het volledige pad naar je bash script geven.
#! /bin/bash//path-to-your-bash-scriptexit 0
nu moeten we de /rc maken.lokaal bestand uitvoerbaar. Voer het onderstaande commando uit:
sudo chmod +x /etc/rc.local
zodra u klaar bent, start u uw PC opnieuw op en zie de wijzigingen van kracht worden.
Methode 4: Systemd
Systemd is een softwarepakket dat verschillende hulpprogramma ‘ s bevat om systeemservices en OS-processen te beheren. De systemd start services en processen tijdens het opstarten.
We kunnen de Systemd gebruiken om onze scripts en commando ‘ s te automatiseren bij het opstarten. Laten we een programma maken en automatiseren om ons op de hoogte te stellen om het systeem te updaten met Systemd.
om te beginnen, laten we de benodigde map en het bestand waar we onze commando ‘ s zullen schrijven. Voer onderstaande opdrachten uit:
$ mkdir -p ~/.config/systemd/user$ nano ~/.config/systemd/user/update-notifier.service
na het tweede commando zal de nano-editor openen, plakken de commando ‘ s hieronder.
Description=Reminder to Update SystemPartOf=graphical-session-targetExecStart=bash -c 'sleep 10; notify-send "Please, Update your System Now"Type=oneshotWantedBy=graphical-session.target
deze commando ‘ s zijn vrij eenvoudig. Het systeem stuurt de “update-Reminder” 10 seconden nadat de grafische sessie is geladen na het opstarten.
om er zeker van te zijn dat het script na elke opstart wordt geladen, moeten we het uitvoerbaar maken. Voer de onderstaande commando ‘ s uit.
$ chmod 644 ~/.config/systemd/user/update-notifier.service$ systemctl --user enable update-notifier.service$ systemctl --user daemon-reload$ reboot
dat is een eenvoudige manier om scripts met Systemd te automatiseren bij opstarten. De bovenstaande methode voert scripts uit die geen root-toegang vereisen. Als je een script wilt maken dat root toegang nodig heeft, maak dan een systemd service aan in de map “/etc/systemd/system” in plaats van “~/.config/systemd / user” map. Ook, moet u het woord ‘gebruiker’ opgenomen in de bovenstaande opdracht weg te laten.
conclusie
Dit zijn vier methoden die u kunt gebruiken om Linux opstartscripts en commando ‘ s automatisch uit te voeren bij het opstarten. Als u eenvoudige scripts maakt die geen verhoogde machtigingen vereisen om uit te voeren, raad ik u aan de GUI-app ‘Opstarttoepassing’ of een eenvoudige cron-taak te gebruiken. Als je scripts root toegang nodig hebben, overweeg dan om een Systemd service aan te maken.