Czy jest jakiś sposób na dodanie aplikacji / skryptu do uruchamiania systemu Linux, aby za każdym razem, gdy system uruchamia się, będzie uruchamiany?
Szukam jakiegoś zautomatyzowanego sposobu, tzn. Użytkownik nie powinien dodawać tego według zadania crona ani czegoś takiego.
Odpowiedzi:
Coś jak Cron ?
Zanotuj
@reboot
wpisJest to najbardziej elastyczne podejście i najbardziej podobne do „Zaplanowanych zadań” systemu Windows (w rzeczywistości lepiej).
źródło
/etc/cron.d
lub wywołaj crontab ze swojego programu bez ich wiedzy.Automatyczne uruchomienie Xorg
Oprócz skryptów uruchamiania na poziomie systemu, środowisko pulpitu może mieć własny sposób na automatyczne uruchamianie programów. Folder
.config/autostart
powinien być neutralnym dla komputera sposobem definiowania wpisów autorun./etc/xdg/autostart
jest przeznaczony do konfiguracji ogólnosystemowej. Szczegółowe informacje na temat specyfikacji znajdują się na stronie http://developer.gnome.org/autostart-spec/ .W przypadku LXDE można również ustawić wpisy autostartu
~/.config/lxsession/LXDE/autostart
.Trochę inaczej jest, jeśli trzeba uruchamiać skrypty po uruchomieniu sieci. W takim przypadku należy sprawdzić specjalne skrypty po połączeniu, które można zdefiniować dla menedżera sieci. Zarówno NetworkManager, jak i wicd mają własne sposoby określania wpisów autorun po podłączeniu. Jeśli sieć jest skonfigurowana za pośrednictwem
ifupdown
, skrypty post-up można umieścić w/etc/network/if-up.d/
folderze. Lepszym podejściem do uruchamiania skryptów po połączeniu może być systemd (dla systemów, które go obsługują, co stanowi większość współczesnych dystrybucji).Autostart jako usługa systemowa
Jeśli rzecz, którą chcesz uruchomić automatycznie, nie jest aplikacją graficzną, która wymaga komputera stacjonarnego, najlepiej unikać korzystania z funkcji autostartu udostępnianych przez xorg lub obecne środowisko pulpitu.
systemd
stał się wszechobecny w wielu nowoczesnych dystrybucjach i oferuje dużą kontrolę i elastyczność w zakresie uruchamiania usług i ich działania.Podsumuję niektóre korzyści ( systemd może zrobić znacznie więcej ):
User=myuser
Restart=on-failure|on-watchdog|on-abnormal|always
Type=simple|forking|oneshot|notify|dbus
Wants=network-online.target
w[Unit]
sekcji).Przykładowa usługa uruchamiająca demona telegram-cli. Umieść to w
/etc/systemd/system/tg.service
.Teraz możesz włączyć usługę automatycznego uruchamiania:
Uruchom usługę:
Zatrzymaj usługę:
Sprawdzić stan:
Wyłącz usługę:
Aby zaoszczędzić dodatkowego pisania, możesz dodać w
~/.bashrc
wierszu,alias sc='sudo systemctl $*'
a następnie będziesz mógł skrócić powyższe polecenia do npsc start tg
.Więcej informacji:
źródło
Tak, możliwe jest uruchamianie programów podczas uruchamiania w systemie Linux poprzez zdefiniowanie ścieżek do plików wykonywalnych
rc.local
znajdujących się w katalogu/etc
lub/etc/rc.d
, np .:Uwaga: nie zapomnij przypisać praw do plików wykonywalnych zgodnie z opisem w dokumentacji pliku, tj
Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure that this script will be executed during boot.
źródło
cron
harmonogram jest Twoim przyjacielem.Startup applications
pomocą przycisku HomeAdd
Startup command box
wprowadź polecenieOK
(powinieneś zobaczyć nowe polecenie na liście)Close
Testuj przez ponowne uruchomienie lub wylogowanie i ponowne zalogowanie.
Źródło: https://help.ubuntu.com/community/AddingProgramToSessionStartup
źródło
Każda dystrybucja wykorzystuje każdą własną technikę ładowania początkowego, więc spójrz na dokumentację swojej dystrybucji. /etc/rc.local to miejsce, w którym można umieścić zautomatyzowane skrypty, ale jest naprawdę nieaktualne. Obecnie większość systemów opartych na systemie Linux używa poziomów uruchomieniowych lub systemowego ładowania systemu, więc większość zadań autostartu może być dokładnie kontrolowana.
źródło
Znalazłem swoją odpowiedź tutaj: /programming/7221757/run-automatically-program-on-startup-under-linux-ubuntu Byłem w stanie stworzyć plik / skrypt, aby wyłączyć mój gładzik podczas moja sesja Linux Ubuntu 12.10.
źródło