Dostrajanie automatycznego ładowania w Ubuntu Server. Jak dodać program do uruchamiania w systemie Linux? Programy startowe Ubuntu

Istnieją 2 główne poziomy autorun w Ubuntu - w systemie init systemd iw środowisku produkcyjnym. W przypadku oprogramowania niestandardowego automatyczne ładowanie w systemie Ubuntu można skonfigurować w wygodnym narzędziu graficznym. Możesz dodać program lub własny skrypt do automatycznego uruchamiania.

Uruchomienie w Ubuntu

Bieżący Ubuntu 18.04 używa GnomeShell jako domyślnego środowiska graficznego. Aby skonfigurować automatyczne uruchamianie w tej wersji systemu operacyjnego, potrzebujesz:

Rada! Aby nie pomylić się z poprawnością polecenia, musisz zainstalować narzędzie Menu główne z UbuntuSoftwareCenter.

W nim wybierz interesujący Cię przedmiot i otwórz jego właściwości. Poprawne polecenie jest kopiowane z wiersza o tej samej nazwie.

Uruchomienie aplikacji w Ubuntu, które znajdują się na liście i są oznaczone znacznikiem wyboru, nastąpi przy każdym uruchomieniu systemu operacyjnego. Wszystko to są aplikacje tego użytkownika, programy systemowe i usług, narzędzie nie wyświetla się. W poprzednich wersjach systemu operacyjnego z powłoką graficzną Unity narzędzie do konfiguracji uruchamiania jest również wyszukiwane poprzez przeszukiwanie menu Dash lub otwierane za pomocą polecenia w terminalu:

właściwości sesji gnome.

Jak dodać skrypt do uruchamiania Ubuntu

Oprócz konkretnego oprogramowania, łatwo jest dodać samodzielnie napisany skrypt do uruchamiania Linuksa, aby zoptymalizować pracę komputera. Do tego potrzebujesz:

  1. Spraw, aby skrypt był wykonywalny za pomocą polecenia:

    sudochmodugo+x /home/user/script.sh

    (gdzie user to nazwa użytkownika, a script to nazwa skryptu, ale ścieżka do pliku .sh może być inna: musi być napisana w całości, w przeciwnym razie skrypt nie zostanie uruchomiony).

  2. Otwórz „Aplikacje startowe” i kliknij „Dodaj”.
  3. Wprowadź nazwę skryptu, a jako polecenie - pełną nazwę ze ścieżką do pliku, na przykład /home/user/script.sh .
  4. Kliknij „Dodaj”.

Istnieje inny, klasyczny, ale przestarzały sposób na skonfigurowanie automatycznego uruchamiania skryptu w Ubuntu. Do jego realizacji potrzebujesz:


Ta metoda jest również odpowiednia do automatycznego ładowania na UbuntuServer, gdzie nie ma grafiki.

Odraczanie programów autostartu w systemie Ubuntu

Jeśli podczas uruchamiania Ubuntu jest dużo programów, należy je załadować w określonej kolejności lub uruchomić jakiś czas po uruchomieniu systemu - pomoże funkcja opóźnienia. Aby go aktywować, używane jest narzędzie sleep unix. Możesz skorzystać z możliwości tego narzędzia w znanym już programie „Aplikacje startowe”. Do tego potrzebujesz:

  1. Otwórz okno ustawień dla aplikacji startowych.
  2. Zaznacz kursorem program, którego autorun ma zostać opóźniony i użyj przycisku „Zmień”.
  3. W wierszu „Polecenie” przed istniejącym wpisem wpisz:

gdzie liczba po słowie „uśpienie” jest równa liczbie sekund, przez które aplikacja jest bezczynna bezpośrednio po uruchomieniu systemu, przed uruchomieniem. Pomiędzy tą formułą, na końcu której wymagany jest średnik, a poleceniem uruchomienia aplikacji musi być spacja.

W powyższym przykładzie opóźnionego uruchamiania programu w systemie Ubuntu aplikacja pozostaje w stanie uśpienia przez 2 minuty przed otwarciem. Na przykład rozpoczęcie pół godziny po uruchomieniu systemu operacyjnego będzie wyglądać jak uśpienie 3h „nazwa programu”. Przykład, w którym Transmisja rozpoczyna się po 1 godzinie:

spać 1h; transmisja-gtk %U

Podobnie możesz dodać opóźnione wykonanie skryptu użytkownika lub uruchomienie pliku multimedialnego do automatycznego ładowania w systemie Linux.

Usuwanie z Autostartu Ubuntu

Aby usunąć oprogramowanie ze startu Ubuntu, możesz użyć jednej z 2 metod: poprzez „Aplikacje uruchamiane automatycznie” lub ręcznie. W pierwszym przypadku wystarczy uruchomić narzędzie, wybrać żądany program i kliknąć „Usuń”. Samo odznaczenie tego pola powoduje wyłączenie programu i nie uruchamia się on przy starcie systemu.

Ręczny sposób polega na użyciu folderu autostart w Ubuntu. Znajduje się w /home/username/.config/autostart/ (aby zobaczyć ten ukryty folder, otwórz katalog domowy w menedżer plików i jednocześnie naciśnij Ctrl+H). Zawiera pliki z rozszerzeniem .desktop dla każdego programu z autorun, które są generowane automatycznie po dodaniu za pomocą narzędzia graficznego. Wystarczy usunąć plik, aby program nie otwierał się już po włączeniu komputera.

Wniosek

Uruchamianie w Ubuntu ma wiele sposobów na dostrojenie. Jego możliwości są trudne do uchwycenia. Właściwe korzystanie z tego narzędzia sprawia, że ​​system operacyjny Linux jest bardziej praktyczny w codziennych zadaniach.

Cały czas korzystamy z wielu programów i uruchamiamy je przy każdym uruchomieniu systemu, a niektóre, takie jak komunikatory internetowe czy różne narzędzia, muszą stale działać w tle, aby prawidłowo wykonywać swoje zadanie. Aby to zrobić, systemy operacyjne mają automatyczne ładowanie. Programy uruchamiają się automatycznie po uruchomieniu systemu operacyjnego lub powłoki graficznej.

W tym artykule porozmawiamy o tym, jak działa automatyczne ładowanie w Ubuntu, jakie metody automatycznego ładowania istnieją w tym systemie i jak dodawać tam programy.

AUTOMATYCZNE ŁADOWANIE W UBUNTU

Pierwszą rzeczą do powiedzenia jest to, że Ubuntu ma kilka poziomów uruchamiania. Nie będę mówić o systemd i tutaj, ponieważ omówiłem to już w jednym z pierwszych artykułów. Program lub skrypt można dodać do uruchamiania w następujący sposób:

  • Narzędzie „Aplikacje uruchamiane automatycznie”;
  • Folder „Autostart”;
  • plik rc.lokalny;
  • plik xinitrc;

Przyjrzymy się dwóm pierwszym metodom, ponieważ ostatnie dwie są bardziej przeznaczone dla skryptów, a nie programów. Najpierw załaduj automatycznie w Ubuntu za pomocą standardowego narzędzia.

Otwórz menu systemowe i wpisz "Automatyczny" i otwórz program, który będzie pierwszy na liście, Aplikacje startowe:

Spowoduje to wyświetlenie listy wszystkich aplikacji, które są obecnie uruchamiane automatycznie. Aby dodać kolejną aplikację do uruchamiania ubuntu, kliknij przycisk "Dodać":

Tutaj musisz wprowadzić nazwę nowego elementu, a także polecenie uruchomienia aplikacji. Możesz wybrać aplikację w system plików jeśli nie pamiętasz ścieżki, klikając przycisk "Recenzja":

W razie potrzeby możesz określić parametry w poleceniu. Możesz również wypełnić pole "Opis", ale nie jest to już wymagane. Jeśli potrzebujesz jakiegoś programu z menu głównego, ale nie wiesz, gdzie go znaleźć i jak napisać jego polecenie, możesz go wyszukać w tym samym menu. Ale w tym celu musimy najpierw zainstalować narzędzie "Menu główne" z centrum aplikacji:

Tutaj musisz zwrócić uwagę na linię "Zespół", skopiuj go i możesz go użyć do automatycznego ładowania.

Następnym sposobem jest folder startowy. Znajduje się w ~/.config/autostart. W rzeczywistości jest to ten sam sposób, tylko że można to wykonać bez interfejsu graficznego. Podczas konfigurowania automatycznego ładowania za pośrednictwem aplikacji pliki ustawień o nazwie desktop. Na przykład:

Przypominam, że aby wyświetlić ukryte pliki, należy nacisnąć kombinację klawiszy Ctrl + H. Spróbujmy teraz utworzyć nowy plik konfiguracyjny dla jeszcze jednego programu. Oto jego składnia:


Typ = aplikacja
imię= nowa_nazwa_przedmiotu
wykonaj = polecenie
ikona= pełna_ścieżka_do_ikon
Komentarz = komentarz
X-GNOME-Autostart-enabled= PRAWDA

Na przykład utwórzmy plik do uruchamiania odtwarzacza VLC, będzie on wyglądał tak:

vi ~/.config/autostart/vlc.desktop


Typ=Aplikacja
Nazwa=VLC
Wykonaw=vlc
Icon=/usr/share/icons/hicolor/16x16/apps/vlc.png
Komentarz=Odtwarzacz multimediów VLC
X-GNOME-Autostart-enabled=true

Gotowe, a najciekawsze jest to, że jeśli otworzysz aplikację startową. Wtedy ten przedmiot również się tam pojawi. Jest to taki sposób konfiguracji bez interfejsu graficznego.

WNIOSKI

W tym krótkim artykule przyjrzeliśmy się, jak skonfigurowane jest automatyczne ładowanie programów ubuntu. różne sposoby- poprzez interfejs graficzny i terminal. Możesz wykorzystać tę wiedzę, aby poprawić działanie systemu. Mimo że Ubuntu przeszło na Gnome, automatyczne ładowanie w Ubuntu 16.04 nadal wygląda prawie tak samo. Jeśli masz jakieś pytania, zadaj je w komentarzach!

Powiązane posty:


Tworzymy pusty plik.

W pierwszym wierszu piszemy:

#!/bin/sh

Ta linia określa, której powłoki poleceń użyć. Następne są twoje polecenia.

Zapiszmy go pod oryginalną nazwą (aby nie pokrywała się z istniejącymi) w katalogu /usr/sbin/.

Aby skrypt działał podczas startu, musisz zapisać go w pliku /etc/rc.local przed linią wyjścia 0. Jeśli nie masz dany plik, utwórz go i wklej do niego następującą zawartość:

#!/bin/sh -e #Wstaw tu linię ze swoim skryptem. /usr/sbin/messcripts wyjście 0

Nieco bardziej skomplikowany sposób

Umożliwia ustawienie sekwencji ładowania i zachowania skryptu na różnych poziomach działania.

Studiujemy /etc/init.d/skeleton , na jego podstawie tworzymy skrypt /etc/init.d/my_script , który uruchomi/zatrzyma naszą aplikację.

Te katalogi zawierają skrypty do zatrzymywania usług:

/etc/rc0.d/ /etc/rc1.d/ /etc/rc6.d/

w tym - skrypty do uruchamiania usług:

/etc/rc2.d/ /etc/rc3.d/ /etc/rc4.d/ /etc/rc5.d/

Badamy je pod kątem kolejności (im mniejsza pierwsza cyfra na początku skryptu, tym wcześniej aplikacja uruchamia się/zatrzymuje). Może to mieć krytyczne znaczenie, jeśli aplikacja zależy od niektórych usług.

Po podjęciu decyzji o skrypcie uruchamiania i kolejności, wykonujemy następujące czynności:

Sudo update-rc.d my_script start 70 2 3 4 5 . przystanek 20 0 1 6 .

Tutaj zdefiniowałem, że mój skrypt powinien zaczynać się później niż inne (70) i ​​kończyć wcześniej (20). Liczby 2 3 4 5 0 1 6 oznaczają poziomy obciążenia.

Jeśli coś Ci się nie podoba, możesz usunąć wszystko

sudo update-rc.d -f my_script usuń

Zobacz man update-rc.d po szczegóły.

Wykonywanie skryptu przy włączaniu/wyłączaniu sieci

Istnieje katalog /etc/network/ z podkatalogami if-down.d , if-pre-up.d , if-post-down.d , if-up.d . Jeśli umieścisz skrypt w jednym z tych podkatalogów, zostanie on wykonany odpowiednio przy zamykaniu, przed włączeniem, po wyłączeniu lub po włączeniu sieci.

Innym sposobem jest określenie jednej z następujących dyrektyw w pliku /etc/network/interfaces: up , pre-up , post-up , down , pre-down , post-down . Na przykład linia

Post-up /ścieżka/do/script.sh

po włączeniu sieci wykona skrypt skrypt.sh. Możesz przeczytać więcej w man interfaces .

W każdym przypadku skrypt musi mieć ustawione uprawnienia zezwalające na wykonanie, w przeciwnym razie nie będzie mógł się uruchomić.

A co najważniejsze, całkowicie za darmo. system operacyjny, zbudowany na jądrze Linuksa. Dlatego coraz więcej posiadaczy komputerów staje się jego użytkownikami. Jeśli jesteś wśród nich, to powinieneś, nie, nie uczyć się - tam nie ma się czego uczyć - wystarczy zrozumieć i opanować podstawy zarządzania. Na przykład, jak skonfigurować automatyczne uruchamianie aplikacji i usług w Ubuntu.

Automatyczne ładowanie w Ubuntu to ten sam proces, co w innych systemach operacyjnych. Musisz pamiętać i wyobrazić sobie, jak w systemie Windows, po włączeniu komputera, natychmiast uruchamia się Skype, uTorrent i wiele innych programów. Ubuntu ma kilka programów, które są dołączone do komputera w ten sam sposób. Ich listę można dowolnie zmieniać: usuwać niepotrzebne lub dodawać jeszcze kilka.

Dodawanie procesów

Dodanie nowej usługi, narzędzia lub polecenia do uruchamiania Ubuntu wcale nie jest trudne. Odbywa się to za pomocą menu.


Możesz dodać w ten sposób nie tylko narzędzia, ale po prostu usługi. Tylko w górnym wierszu musisz wybrać odpowiedni typ, jeśli taki istnieje, a także wprowadzić żądane polecenie. Najważniejsze to wiedzieć.

Odroczenie

Ubuntu ma też świetną możliwość opóźnienia włączenia – podobnie jak w przypadku nowoczesnych piekarników czy multicookerów. Odbywa się to poprzez wprowadzenie małego dodatku do tekstu polecenia. Który wygląda tak: „sen 20”; (bez cytatów). Zamiast 20 możesz wpisać dowolną liczbę, która będzie oznaczać liczbę sekund, przez które proces „przesypia” przed uruchomieniem. W ten sposób możesz dać systemowi czas na pełne uruchomienie, po którym niektóre usługi lub programy zaczną się już włączać.

Usuwanie

Jeśli już próbowałeś dodawać programy do automatycznego uruchamiania, rozumiesz, że bardzo łatwo będzie je stamtąd usunąć.

  1. Ponownie przejdź do narzędzia do zarządzania automatycznym ładowaniem.
  2. Znajdujemy te procesy, których nie potrzebujemy.
  3. Wybierz je, kliknij „Usuń”.

Teraz niepotrzebne procesy zostaną usunięte z automatycznego uruchamiania Ubuntu. Lepiej mieć tam tylko najpotrzebniejsze rzeczy.

Należy rozumieć, że jeśli dodasz wiele aplikacji do uruchamiania Ubuntu, system operacyjny będzie uruchamiał się znacznie wolniej. Dlatego lepiej nie przesadzać i odpowiednio dostosować ustawienia automatycznego startu. Funkcja jest naprawdę bardzo wygodna i wraz z opóźnieniem startu daje dobre narzędzie do automatycznej kontroli działań systemu.

Po uruchomieniu komputera z reguły musimy uruchomić jakieś programy. z których korzystamy najczęściej. Również po uruchomieniu systemu może zaistnieć potrzeba wykonania określonych czynności, na przykład utworzenia niezbędnych plików lub ustawienia niektórych parametrów. Robienie tego ręcznie jest bardzo niewygodne. Aby rozwiązać takie problemy, istnieje automatyczne ładowanie.

W tym artykule przyjrzymy się, jak działa automatyczne ładowanie Linuksa, jak dodawać programy startowe, gdzie byłoby bardziej poprawne ich dodanie i jakie rodzaje automatycznego ładowania istnieją w tym systemie operacyjnym.

Aby zrozumieć, jak działa automatyczne ładowanie, musisz najpierw pamiętać, co dzieje się podczas . Gdy jądro zakończy inicjalizację i będzie gotowe do dalszej pracy, przekaże kontrolę systemowi inicjalizacji. Procesem głównym jest system inicjalizacji, to on uruchamia wszystkie inne procesy w systemie.

Istnieją procesy, które domyślnie uruchamia system inicjujący, taki jak systemd, ale można go również skonfigurować tak, aby uruchamiał żądane procesy. Ponadto wiele procesów potomnych wykonuje pliki skryptów lub ma pewne możliwości uruchamiania potrzebnych programów. Większość środowisk graficznych ma również tę funkcję.

Rozważ główne poziomy automatycznego ładowania, których możesz użyć:

- możesz określić dowolny program, który zostanie uruchomiony po uruchomieniu jądra zamiast systemu inicjalizacji;- uruchomienie głównych usług systemowych, usług dodatkowych, a także Twoich skryptów na etapie inicjalizacji systemu;- przestarzały sposób ładowania skryptów, wykonywany przed uruchomieniem środowiska graficznego;- możesz wykonywać swoje skrypty lub polecenia po uruchomieniu menedżera logowania, ale przed uruchomieniem środowiska;- początek żądane programy lub skrypty zaraz po starcie serwera X;- większość środowisk obsługuje programy do automatycznego ładowania, można tam nawet skonfigurować opóźniony start i inne parametry;- najnowszą opcją jest automatyczne ładowanie na poziomie oddzielnej powłoki poleceń, możesz automatycznie wykonywać niezbędne polecenia, gdy tylko terminal zostanie uruchomiony.

Automatyczne ładowanie na poziomie jądra raczej nie będzie ci bardzo przydatne w codziennym użytkowaniu, ale postanowiłem o tym wspomnieć, ponieważ jest to możliwe. Za pomocą parametru jądra init możesz określić, który program powinien zostać uruchomiony natychmiast po zakończeniu inicjalizacji jądra. Na przykład możesz załadować powłokę Bash zamiast Systemd. Aby to zrobić, po prostu dostosuj linię uruchamiania jądra w pliku konfiguracyjnym Grub lub podczas uruchamiania. Dodaj parametr init na koniec:

Sudo vi /boot/grub2/grub.cfg

linux /vmlinuz-4.8.0-22-generic root=/dev/mapper/systems-ubuntu ro cichy init=/bin/bash

Ale zwykle wygodniej jest tymczasowo zmienić tę wartość w menu Grub. Przeczytaj więcej na ten temat w artykule. To nie powoduje automatycznego załadowania programu linuksowego, ale mimo to czasami może być przydatne.

Najczęściej, gdy mówi o automatycznym ładowaniu Linuksa, oznacza to automatyczne ładowanie usług przy użyciu systemu inicjalizacji. systemd to bardzo zaawansowany system. Obsługuje rozwiązywanie zależności, uruchamianie równoległe, uruchamianie odroczone i ponowne uruchamianie w przypadku błędu. W terminologii Systemd wszystkie uruchamiane programy są reprezentowane przez pliki jednostek, każda jednostka opisuje parametry programu, jego plik wykonywalny, a także dodatkowe wymagania dotyczące uruchamiania.

Polecenie systemctl służy do dodawania lub usuwania usług z autostartu. Aby dodać usługę do uruchomienia autostartu:

sudo systemctl włącz nazwa_usługi

Aby wyłączyć automatyczne uruchamianie systemu Linux:

sudo systemctl wyłącz nazwa_usługi

Na przykład, jeśli chcesz dodać Apache do uruchamiania, musisz uruchomić:

sudo systemctl włącz Apache

Możesz również sprawdzić, czy usługa została już dodana do uruchamiania:

sudo systemctl obsługuje httpd

Jeśli nie znasz dokładnej nazwy pliku usługi, ale znasz jego pierwszą literę, możesz użyć autouzupełniania, tak jak w dowolnym innym miejscu w terminalu, za pomocą przycisku Tab:

Możesz także wyświetlić wszystkie usługi, które zostały dodane do uruchamiania za pomocą polecenia:

systemctl lista plików jednostek | grep włączony

Kiedyś zwyczajem było umieszczanie wszystkich uruchamianych domyślnie skryptów w pliku /etc/rc.local. Ten plik nadal istnieje, ale jest pozostałością po systemie init SysVinit i jest teraz przechowywany tylko w celu zachowania zgodności. Skrypty należy ładować tylko przy użyciu Systemd.

Aby to zrobić, wystarczy utworzyć prosty plik jednostki i dodać go do automatycznego ładowania, jak każdą inną usługę. Utwórzmy najpierw ten plik:

sudo vi /lib/systemd/system/runscript.service


Description=Moja usługa skryptów
After=multi-user.target


typ = bezczynny
ExecStart=/usr/bin/local/script.sh


WantedBy=multi-user.target

W sekcji jednostka podajemy krótki opis naszego pliku i mówimy z opcją Poże musisz uruchomić ten skrypt w trybie wielu użytkowników (wielu użytkowników). Sekcja Praca najważniejsze, tutaj wskazujemy rodzaj usługi - bezczynny, co oznacza, że ​​wystarczy uruchomić i zapomnieć, nie ma potrzeby monitorowania, a następnie w parametrze ExecStart podaj pełną ścieżkę do naszego skryptu.

Pozostaje ustawić odpowiednie uprawnienia:

sudo chmod 644 /lib/systemd/system/runscript.service

Następnie zaktualizuj konfigurację i dodaj nowy skrypt do uruchamiania systemu Linux:

sudo systemctl demon-reload
$ sudo systemctl włącz myscript.service

Po następnym ponownym uruchomieniu skrypt ten uruchomi się automatycznie. Należy pamiętać, że dla każdego skryptu, który zamierzasz uruchomić, należy poprawnie ustawić prawa, a mianowicie ustawić flagę wykonania. Aby to zrobić, użyj polecenia chmod:

sudo chmod u+x /usr/local/bin/script

W parametrach przekazujemy adres pliku skryptu do narzędzia. Wykonalność jest wymaganym parametrem dla wszystkich metod.

Często lekkie środowiska graficzne i menedżery okien używają automatycznego ładowania na poziomie serwera X do automatycznego ładowania programów. Wszystkie uruchomione w ten sposób skrypty zostaną uruchomione po uruchomieniu serwera X. Aby ustawić takie automatyczne ładowanie Linuksa, wystarczy dodać ścieżkę do żądanego skryptu do pliku ~/.xinitrc lub /etc/X11/xinit/xinitrc. Składnia dodanej linii to:

wykonaj ścieżkę_skryptu &

Jeśli plik ~/.xinitrc jeszcze nie istnieje, musisz go utworzyć:

cp /etc/X11/xinit/xinitrc ~/.xinitrc

Następnie, aby dodać skrypt do automatycznego ładowania systemu Linux, edytuj plik zgodnie z potrzebami. Na przykład uruchommy Firefoksa:

wykonaj /usr/bin/firefox &

Potężne środowiska graficzne, takie jak Gnome i KDE, mają własne aplikacje startowe. Na przykład w Gnome program nazywa się „Aplikacje, które uruchamiają się automatycznie”. Możesz go uruchomić z głównego menu systemu:

Tutaj możesz zobaczyć wszystkie programy, które zostały już dodane do uruchamiania. Możesz wyłączyć każdą z nich, po prostu odznaczając to pole.

Dodać nowy program lub skrypt do automatycznego ładowania kliknięć "Dodać":

Tutaj musisz wypełnić trzy pola:

  • Nazwa- dowolna nazwa polecenia, dzięki któremu można je znaleźć;
  • Zespół- pełna ścieżka do pliku wykonywalnego programu;