Polecenia Linuksa

Jak automatycznie uruchamiać polecenia i skrypty systemu Linux przy ponownym uruchomieniu systemu?

Jak automatycznie uruchamiać polecenia i skrypty systemu Linux przy ponownym uruchomieniu systemu?
Automatyczne uruchamianie aplikacji i skryptów podczas uruchamiania może być przydatne do automatyzacji typowych zadań i zdarzeń związanych z uruchamianiem. W tym artykule wyjaśnimy kilka metod, których można użyć do uruchamiania aplikacji i skryptów po ponownym uruchomieniu lub nowym logowaniu.

Aplikacje startowe

Ubuntu i inne dystrybucje oparte na GNOME są dostarczane z aplikacją o nazwie „Aplikacje startowe”. Może być używany do zarządzania aplikacjami i skryptami uruchamianymi po ponownym uruchomieniu systemu lub logowaniu.

Uruchom aplikację „Aplikacje startowe” z programu uruchamiającego i kliknij przycisk „Dodaj”, aby dodać nowy wpis.

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

Jak wspomniano powyżej, przy każdym ponownym uruchomieniu wyświetlane jest przypomnienie o 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ńczenia usług w nowym cyklu rozruchowym.

Systemd może być używany do automatycznego uruchamiania aplikacji lub uruchamiania skryptu przy nowym rozruchu. Aby utworzyć to samo powiadomienie przypominające o kopii zapasowej, jak opisano powyżej, najpierw musisz utworzyć wymagane foldery i plik, uruchamiając poniższe polecenia:

$ mkdir -p ~/.konfiguracja/systemd/użytkownik
$ nano ~/.config/systemd/user/backup_reminder.usługa

Zastąp „nano” poleceniem swojego ulubionego edytora tekstu. Zastąp „backup_reminder” dowolną inną nazwą, którą wolisz.

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

[Jednostka]
Description=Wysyła przypomnienie o kopii zapasowej przy każdym ponownym uruchomieniu
PartOf=sesja-graficzna.cel
[Usługa]
ExecStart=bash -c 'snu 10; notify-send "Utwórz kopię zapasową"'
Typ = jeden strzał
[Zainstalować]
WantedBy=sesja-graficzna.cel

Powyższy kod jest dość prosty. Wysyła powiadomienie „Utwórz kopię zapasową” 10 sekund po załadowaniu sesji graficznej (raz przy każdym ponownym uruchomieniu lub logowaniu).

Uruchom poniższe polecenia, aby włączyć usługę, aby mogła automatycznie uruchamiać się przy każdym ponownym uruchomieniu.

$chmod 644 ~/.config/systemd/user/backup_reminder.usługa
$ systemctl --user włącz backup_reminder.usługa
$ systemctl --user demon-reload
$ restart

To tylko prosty przykład uruchamiania podstawowego polecenia podczas rozruchu za pomocą systemd. Możesz także tworzyć zaawansowane usługi z wieloma warunkami i wieloma poleceniami. Aby uzyskać więcej informacji, zapoznaj się ze stroną podręcznika systemd, uruchamiając poniższe polecenie:

$ man systemd

Zauważ, że ten przykład wyjaśnia tworzenie nowej usługi, która nie wymaga uprawnień administratora i jest odpowiednia do automatycznego uruchamiania aplikacji, które nie wymagają uprawnień administratora. Jeśli chcesz automatycznie uruchamiać skrypty wymagające uprawnień administratora, musisz utworzyć nową usługę systemd w katalogu „/etc/systemd/system” zamiast „~/.config/systemd/user” i pomiń przełącznik „-user” we wspomnianych powyżej poleceniach.

Praca Crona

Cron to narzędzie, które może okresowo uruchamiać zaplanowane zadania zgodnie z warunkami określonymi przez użytkownika. Te zaplanowane zadania są tworzone w Crontab w predefiniowanym formacie. Mówiąc prościej, Crontab mówi Cronowi, które zadania należy uruchomić w jakim 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 przy każdym ponownym uruchomieniu):

POWŁOKA=/kosz/bash
@reboot sleep 30 && DISPLAY=:0 gnome-terminal

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

Zauważ, że w przeciwieństwie do systemd, cron nie może wykryć, czy sesja graficzna została załadowana, czy nie or. Musisz określić szacowany czas oczekiwania na załadowanie serwera X i identyfikator wyświetlania. Możesz dowiedzieć się 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. Zwróć uwagę, że podczas moich testów nie byłem w stanie odroczyć wykonania skryptu do czasu uruchomienia sesji graficznej. Dodanie jakiegokolwiek opóźnienia uśpienia prowadzi do opóźnienia w wyświetlaniu samego ekranu logowania. Z tego powodu nie odniosłem sukcesu w uruchamianiu aplikacji graficznych przy starcie 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 „exit 0”, jak pokazano poniżej:

#! /bin/bash
ścieżka/do/moj_skrypt.cii
wyjście 0

Zrób rc.lokalny plik wykonywalny, uruchamiając poniższe polecenie:

$ sudo chmod +x /etc/rc.lokalny

Po prostu uruchom ponownie, aby skrypt startowy zaczął działać.

Wniosek

Oto kilka metod, których można użyć do automatycznego uruchamiania skryptów i aplikacji podczas uruchamiania. Jeśli chcesz uruchamiać skrypty, które nie wymagają uprawnień administratora, polecam użycie aplikacji GUI „Aplikacje startowe”. Jeśli chcesz uruchamiać aplikacje i skrypty z uprawnieniami administratora, sugerowałbym utworzenie usługi systemowej na poziomie systemu.

O autorze

Nitesh Kumar

Jestem niezależnym programistą i autorem treści, który kocha Linuksa, oprogramowanie open source i społeczność wolnego oprogramowania.

Zobacz wszystkie posty
Gry Zainstaluj najnowszy emulator Dolphin dla Gamecube i Wii w systemie Linux
Zainstaluj najnowszy emulator Dolphin dla Gamecube i Wii w systemie Linux
Emulator Dolphin pozwala grać w wybrane gry Gamecube i Wii na komputerach osobistych z systemem Linux (PC). Będąc ogólnodostępnym emulatorem gier o o...
Gry Jak korzystać z GameConqueror Cheat Engine w systemie Linux
Jak korzystać z GameConqueror Cheat Engine w systemie Linux
Artykuł zawiera przewodnik dotyczący korzystania z silnika oszukującego GameConqueror w systemie Linux. Wielu użytkowników, którzy grają w gry w syste...
Gry Najlepsze emulatory konsoli do gier dla systemu Linux
Najlepsze emulatory konsoli do gier dla systemu Linux
W tym artykule wymienimy popularne oprogramowanie do emulacji konsoli do gier dostępne dla systemu Linux. Emulacja to warstwa kompatybilności oprogram...