Linux parancsok

A Linux parancsok és parancsfájlok automatikus futtatása a rendszer újraindításakor

A Linux parancsok és parancsfájlok automatikus futtatása a rendszer újraindításakor
Az alkalmazások és parancsfájlok indításkor történő automatikus futtatása hasznos lehet a szokásos rendszerindítási feladatok és események automatizálásához. Ez a cikk megmagyaráz néhány módszert, amelyek felhasználhatók alkalmazások és szkriptek indításakor egy új indításkor vagy új bejelentkezéskor.

Indítási alkalmazások

Az Ubuntu és más GNOME alapú disztribúciók egyszerűen „Startup Applications” nevű alkalmazással érkeznek. Használható olyan alkalmazások és szkriptek kezelésére, amelyek egy új rendszer újraindításakor vagy bejelentkezéskor futnak.

Indítsa el a „Startup Applications” alkalmazást az alkalmazásindítóból, és kattintson az „Add” gombra az új bejegyzés hozzáadásához.

Töltse ki a „Név” és a „Parancs” mezőket az igényeinek megfelelően, majd kattintson az „Hozzáadás” gombra az új bejegyzés létrehozásának befejezéséhez. Az alábbi képernyőképen létrehozott bejegyzés a „Készítsen biztonsági másolatot” emlékeztetőt küld rendszer-értesítésként minden újraindításkor / bejelentkezéskor. Helyettesítheti saját parancsával vagy a bash szkript teljes elérési útjával. Használhat bármilyen létező rendszerparancsot vagy futtatható fájlt is, amelyek általában a fájlrendszer különböző „bin” mappáiban találhatók.

Mint fentebb említettük, minden újraindításkor megjelenik egy biztonsági emlékeztető.

Systemd

A Systemd egy démon- és szolgáltatáskezelő, amely különféle segédprogramokat tartalmaz a rendszerfolyamatok és az operációs rendszer összetevőinek kezelésére. Leegyszerűsített formájában általában új indítási ciklusban indítják és fejezik be a szolgáltatásokat.

A Systemd segítségével automatikusan elindíthat egy alkalmazást, vagy futtathat egy szkriptet egy új rendszerindítón. A fent ismertetett biztonsági mentési emlékeztető létrehozásához először létre kell hoznia a szükséges mappákat és fájlokat az alábbi parancsok futtatásával:

$ mkdir -p ~ /.config / systemd / user
$ nano ~ /.config / systemd / user / backup_reminder.szolgáltatás

Cserélje a „nano” szót a kedvenc szövegszerkesztő parancsára. Cserélje ki a „backup_reminder” szót bármilyen más névre, amelyet preferál.

Illessze be az alábbi kódot a backup_reminder-be.a fenti parancs segítségével létrehozott szolgáltatásfájl.

[Mértékegység]
Description = Biztonsági emlékeztetőt küld minden újraindításkor
PartOf = grafikus munkamenet.cél
[Szolgáltatás]
ExecStart = bash -c 'alvás 10; értesít-küld "Készítsen biztonsági másolatot"
Típus = onehot
[Telepítés]
WantedBy = grafikus munkamenet.cél

A fenti kód elég egyszerű. 10 másodperccel a grafikus munkamenet betöltése után (minden újraindításkor vagy bejelentkezéskor) „Biztonsági másolat készítése” értesítést küld.

Futtassa az alábbi parancsokat a szolgáltatás engedélyezéséhez, hogy minden újraindításkor automatikusan fusson.

$ chmod 644 ~ /.config / systemd / user / backup_reminder.szolgáltatás
$ systemctl --user enable backup_reminder.szolgáltatás
$ systemctl --user daemon-reload
$ reboot

Ez csak egy egyszerű példa egy alapparancs futtatására indításkor a systemd használatával. Fejlett szolgáltatásokat is létrehozhat több feltétellel és több paranccsal. További információkért tekintse meg a systemd man oldalt az alábbi parancs futtatásával:

$ man systemd

Ne feledje, hogy ez a példa egy új szolgáltatás létrehozását magyarázza, amely nem igényel root hozzáférést, és alkalmas olyan alkalmazások automatikus indításához, amelyekhez nincs szükség root engedélyekre. Ha automatikusan akarja elindítani a root hozzáférést igénylő szkripteket, akkor az „/ etc / systemd / system” könyvtárban létre kell hoznia egy új systemd szolgáltatást a „~ / helyett.config / systemd / user ”mappát, és hagyja ki a“ -user ”kapcsolót a fent említett parancsokban.

Cron Job

A Cron egy olyan eszköz, amely időnként futtathat ütemezett feladatokat a felhasználó által meghatározott feltételeknek megfelelően. Ezek az ütemezett munkák a Crontab-ban jönnek létre előre meghatározott formátumban. Egyszerű fogalommal a Crontab megmondja Cronnak, hogy mely munkákat mely időpontban kell futtatni.

A systemd-hez hasonlóan a crontab-feladatok is használhatók alkalmazások elindítására és a parancsfájlok automatikus futtatására indításkor. Új cron-feladat hozzáadásához futtassa az alábbi parancsot:

$ crontab -e

Adja hozzá a következő sorokat a szöveges fájl végéhez (minden újraindításkor automatikusan elindítja a GNOME terminált):

Kagyló = / bin / bash
@reboot sleep 30 && DISPLAY =: 0 gnome-terminál

Használhatja saját parancsát, vagy megadhatja a shell parancsfájl teljes elérési útját.

Ne feledje, hogy a systemd-vel ellentétben a cron nem tudja észlelni, hogy a grafikus munkamenet betöltődött-e vagy sem. Meg kell adnia néhány becsült várakozási időt, amíg az X szerver betöltődik, és egy megjelenítési azonosítót. A megjelenített azonosítóról az alábbi parancs futtatásával tudhat meg:

$ echo $ DISPLAY

A parancs vagy a parancsfájl végrehajtása előtti késés a rendszer konfigurációjától és a rendszerindítási időtől függ.

Rc.helyi

A parancsfájlok és parancsok futtatásának indításakor egy másik módszer az „rc.helyi ”fájl. Vegye figyelembe, hogy a tesztelés során nem tudtam elhalasztani a szkriptek végrehajtását, amíg a grafikus munkamenet él. Az esetleges alvási késleltetés hozzáadása késlelteti a bejelentkezési képernyő megjelenítését. Emiatt nem sikerült grafikus alkalmazásokat futtatni indításkor az rc használatával.helyi fájl. Az rc szerkesztése.a local szintén root hozzáférést igényel, a fentiekben ismertetett összes többi példával ellentétben.

Parancsok / szkriptek hozzáadása az rc-hez.helyi fájlt, futtassa az alábbi parancsot (új rc-t hoz létre.helyi fájl, ha nem létezik):

$ sudo nano / etc / rc.helyi

Adja hozzá a parancsokat a „# közé! / bin / bash ”és a„ exit 0 ”sorok az alábbiak szerint:

#! / bin / bash
elérési út / a / saját_laphoz.SH
kilépés 0

Készítsen rc.az alábbi parancs futtatásával futtatható helyi fájl:

$ sudo chmod + x / etc / rc.helyi

Csak indítsa újra az indító szkriptet, hogy életbe lépjen.

Következtetés

Ez néhány olyan módszer, amellyel indításkor automatikusan futtathatók szkriptek és alkalmazások. Ha olyan parancsfájlokat szeretne futtatni, amelyek nem igényelnek root hozzáférést, javasoljuk a „Startup Applications” GUI alkalmazás használatát. Ha root-hozzáféréssel rendelkező alkalmazásokat és parancsfájlokat akar futtatni, azt javasoljuk, hogy hozzon létre egy rendszerszintű systemd szolgáltatást.

A szerzőről

Nitesh Kumar

Szabadúszó szoftverfejlesztő és tartalomíró vagyok, aki szereti a Linuxot, a nyílt forráskódú szoftvereket és a szabad szoftvereket.

Az összes bejegyzés megtekintése
A legjobb játékkonzol emulátorok Linuxhoz
Ez a cikk felsorolja a Linux számára elérhető népszerű játékkonzol-emulációs szoftvereket. Az emuláció egy szoftver-kompatibilitási réteg, amely játék...
A legjobb Linux-disztribútorok játékhoz 2021-ben
A Linux operációs rendszer hosszú utat tett meg eredeti, egyszerű, szerver alapú kinézetétől. Ez az operációs rendszer rendkívül javult az elmúlt évek...
Hogyan lehet rögzíteni és streamelni a játékmenetét Linuxon
Korábban a játékokat csak hobbinak tekintették, de az idő múlásával a játékipar hatalmas növekedést ért el a technológia és a játékosok száma szempont...