Jak automatycznie uruchamiać polecenia i skrypty Linux w systemie

Jak automatycznie uruchamiać polecenia i skrypty Linux w systemie
Uruchamianie aplikacji i skryptów automatycznie podczas uruchamiania może być przydatne do automatyzacji wspólnych zadań i zdarzeń. W tym artykule wyjaśniono kilka metod, które można wykorzystać do uruchamiania aplikacji i skryptów na świeżym ponownym uruchomieniu lub nowym logowaniu.

Aplikacje uruchamiające

Ubuntu i inne dystrybucje oparte na GNOME są wyposażone w aplikację o nazwie „Aplikacje uruchamiające”. Może być używany do zarządzania aplikacjami i skryptami, które działają na nowym systemie ponownym uruchomieniu lub zalogowaniu się.

Uruchom aplikację „Aplikacje uruchamiające” z uruchamiania aplikacji i kliknij przycisk „Dodaj”, aby dodać nowy wpis.

Wypełnij pola „Nazwa” i „polecenie” zgodnie z potrzebami, a następnie kliknij przycisk „Dodaj”, aby zakończyć tworzenie nowego wpisu. Wpis utworzony na zrzucie ekranu poniżej wyśle ​​przypomnienie „Zrób kopię zapasową” jako powiadomienie systemowe przy każdym ponownym uruchomieniu / logowaniu. Możesz zastąpić go własnym poleceniem lub pełną ścieżką skryptu Bash. Możesz także użyć dowolnego istniejącego polecenia systemowego lub wykonywalnych zwykle znajdujących się w różnych folderach „bin” w całym systemie plików.

Jak wspomniano powyżej, na każdym ponownym uruchomieniu pokazano przypomnienie kopii zapasowej.

Systemd

SystemD to demon i menedżer usług, który zawiera różne narzędzia do zarządzania procesami systemowymi i komponentami systemu operacyjnego. W swojej uproszczonej formie jest zwykle używany do uruchamiania i końcowych usług w świeżym cyklu rozruchowym.

SystemD może być używany do automatycznego uruchomienia aplikacji lub uruchomienia skryptu na nowym rozruchu. Aby utworzyć to samo powiadomienie o przypomnieniu kopii zapasowej wyjaśnione powyżej, najpierw musisz utworzyć wymagane foldery i plik, uruchamiając poniższe polecenia:

$ mkdir -p ~//.config/systemd/użytkownik
$ nano ~/.config/systemd/user/backup_reminder.praca

Wymień „Nano” na polecenie swojego ulubionego edytora tekstu. Wymień „Backup_reminder” na dowolną inną nazwę, którą preferujesz.

Wklej poniższy kod w Backup_Reminder.plik usługi utworzony za pomocą powyższego polecenia.

[Jednostka]
Opis = wysyła przypomnienie kopii zapasowej w każdym ponownym uruchomieniu
PARTOF = sesja graficzna.cel
[Praca]
ExecStart = bash -c 'sleep 10; Powiadomienie „Zrób kopię zapasową” ''
Typ = OneShot
[Zainstalować]
Wantby = sesja graficzna.cel

Kod powyżej jest dość prosty. Wysyła powiadomienie „Zrób kopię zapasową” 10 sekund po załadowaniu sesji graficznej (po ponownym uruchomieniu lub logowaniu).

Uruchom poniższe polecenia, aby włączyć usługę, aby mogła ona automatycznie uruchomić na każdym ponownym uruchomieniu.

$ chmod 644 ~/.config/systemd/user/backup_reminder.praca
$ Systemctl -User Enable Backup_Reminder.praca
$ SystemCtl-Demon-powód demon
$ reboot

To jest tylko prosty przykład uruchamiania podstawowego polecenia w rozruchu za pomocą SystemD. Możesz także tworzyć zaawansowane usługi z wieloma warunkami i wieloma poleceniami. Aby uzyskać więcej informacji, patrz strona SystemD Man, uruchamiając poniższe polecenie:

$ man Systemd

Zauważ, że ten przykład wyjaśnia utworzenie nowej usługi, która nie wymaga dostępu do korzeni i jest odpowiednia do aplikacji automatycznego uruchamiania, które nie wymagają uprawnień root. Jeśli chcesz automatycznie startować skrypty wymagające dostępu do root, musisz utworzyć nową usługę systemD w katalogu „/etc/systemd/system” zamiast „~/.folder Config/SystemD/User ”i pomiń przełącznik„ -User ”w poleceniach wymienionych powyżej.

Praca Cron

Cron to narzędzie, które może okresowo wykonywać zaplanowane zadania zgodnie z warunkami określonymi przez użytkownika. Te zaplanowane zadania są tworzone w crontab w predefiniowanym formacie. Mówiąc prosto, Crontab mówi Cron, które zadania należy uruchomić, w którym momencie.

Podobnie jak SystemD, zadania crontab mogą być używane do uruchamiania aplikacji i automatycznego uruchamiania skryptów podczas rozruchu. Aby dodać nowe zadanie CRON, uruchom poniższe polecenie:

$ crontab -e

Dodaj następujące wiersze na końcu pliku tekstowego (automatycznie uruchamia terminal GNOME na każdym ponownym uruchomieniu):

Shell =/Bin/Bash
@reboot sleep 30 && Display =: 0 Gnome-terminal

Możesz użyć własnego polecenia lub dostarczyć pełną ścieżkę do skryptu powłoki.

Zauważ, że w przeciwieństwie do systemu, Cron nie może wykryć, czy sesja graficzna została załadowana, czy nie. Musisz określić szacowany okres oczekiwania, aż serwer X i identyfikator wyświetlacza. Możesz wiedzieć o swoim identyfikatorze wyświetlania, uruchamiając poniższe polecenie:

$ echo $ wyświetlacz

Opóźnienie przed wykonaniem polecenia lub skryptu zależy od konfiguracji systemu i czasu rozruchu.

RC.lokalny

Inną metodą uruchamiania skryptów i poleceń podczas uruchamiania jest użycie „RC.lokalny ”plik. Zauważ, że w moich testach nie byłem w stanie odłożyć wykonywania skryptu, dopóki sesja graficzna nie była na żywo. Dodanie wszelkich opóźnień snu prowadzi do opóźnienia w pokazaniu samego ekranu logowania. Z tego powodu nie odniosłem sukcesu w uruchamianiu aplikacji graficznych przy uruchomieniu za pomocą RC.Plik lokalny. Edycja RC.Lokalny wymaga również dostępu root, w przeciwieństwie do wszystkich innych przykładów wyjaśnionych powyżej.

Aby dodać polecenia / skrypty do RC.Plik lokalny, uruchom poniższe polecenie (tworzy nowy RC.Plik lokalny, jeśli nie istnieje):

$ sudo nano /etc /rc.lokalny

Dodaj swoje polecenia między „#! /bin/bash ”i„ wyjście 0 ”, jak pokazano poniżej:

#! /bin/bash
ścieżka/do/my_script.cii
Wyjście 0

Zrób RC.Plik lokalny wykonywa się, uruchamiając poniższe polecenie:

$ sudo chmod +x /etc /rc.lokalny

Po prostu uruchom ponownie, aby skrypt uruchamiania mógł się obowiązywać.

Wniosek

Są to kilka metod, które można użyć do automatycznego uruchamiania skryptów i aplikacji podczas uruchamiania. Jeśli chcesz uruchomić skrypty, które nie wymagają dostępu do korzenia, zalecam użycie aplikacji GUI „Startup Applications”. Jeśli chcesz uruchomić aplikacje i skrypty z dostępem do root, sugeruję utworzenie usługi systemu systemu systemu.