Jak działają „aplikacje startowe”?

10

Interesuje mnie wiedza o tym, jak działają „Aplikacje startowe”, do których można uzyskać dostęp ze stacji dokującej.

Chcę to wiedzieć, ponieważ chcę poznać różnicę między dodaniem wpisu w tych miejscach:

/etc/rc.local 
/etc/profile  
/home/$USER/.profile

i robiąc to samo za pomocą tej aplikacji GUI. Zastanawia mnie to, że nie widzę, aby program tworzył wpisy w wyżej wymienionych plikach.

daltonfury42
źródło

Odpowiedzi:

8
  • /etc/rc.local

    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    

    Zasadniczo poziom uruchamiania wielu użytkowników oznacza po uruchomieniu.

  • /etc/profile

    Ten plik jest wywoływany tylko dla powłok logowania, ponieważ jest to jego szczególny cel.

    /etc/profile, uruchamiany przez wszystkie powłoki zgodne z Bourne (w tym bashi dash), gdy jest uruchamiany jako powłoka logowania.

  • /home/$USER/.profile

    # ~/.profile: executed by the command interpreter for login shells.
    # This file is not read by bash if ~/.bash_profile or ~/.bash_login
    # exists.
    

    Zarówno ~/.bashrci ~/.bash_profilesą skryptami, które mogą być wykonywane po wywołaniu bash. ~/.bashrcPlik pobiera wykonywane podczas uruchamiania bash używając interaktywną powłokę, która nie jest powłoką zgłoszeniową. ~/.bash_profileTylko pobiera wykonywane podczas powłoki logowania.

    Źródło

    Myślę więc, że .profilezostanie stracony, jeśli żadne z nich nie zostanie (z jakiegokolwiek powodu).

  • Wreszcie, twoja metoda GUI prawdopodobnie wprowadza .desktopprogramy uruchamiające/home/$USER/.config/autostart

    Jest to uruchamiane przy logowaniu użytkownika (myślę, że loguję się tylko w GUI - tak startxby się nie ttyzalogowało).

Moje zaimki to On / On

Tim
źródło
Czy komendy .profile nie będą wykonywane przy logowaniu do GUI?
daltonfury42
@ user3073656 hmmm jak nazywa się aplikacja GUI?
Tim
Przepraszam, nieostrożny błąd! Miałeś rację.
daltonfury42
@ user3073656 edytowano
Tim
8

Każde środowisko pulpitu zgodne ze specyfikacjami freedesktop (czyli XDG) powinno korzystać z aplikacji do automatycznego uruchamiania przy logowaniu użytkownika lub po włożeniu nośnika wymiennego.

W celu automatycznego uruchomienia aplikacji przy logowaniu użytkownika środowisko pulpitu szuka .desktoppliku do wykonania określonej tam aplikacji. Te .desktoppliki zwykle znajdują się w

$XDG_CONFIG_DIRS/autostart

Ale możemy je również mieć w następujących lokalizacjach:

~/.config/autostart/ ## if $XDG_CONFIG_HOME is not set
etc/xdg/autostart/ ## if $XDG_CONFIG_DIRS is not set

W każdym razie .desktopplik znajdujący się w ~/.config/autostartjest definiowany jako najważniejszy plik do uruchomienia, zastępując .desktoppliki w innych lokalizacjach.

Ubuntu spełnia tę specyfikację, a użytkownicy mogą dodawać aplikacje z interfejsem GUI do „Autostart Applications”.

Aplikację można uruchomić automatycznie niezależnie od pulpitu z różnych innych lokalizacji, takich jak ~/.profilepowłoka, w /etc/rc.localcelu uruchomienia przy starcie systemu lub, ostatnio, za pomocą systemd .

Takkat
źródło
Dodawanie poleceń w ten sposób jest najlepsze, ponieważ dosłownie nie zajmuje to czasu w porównaniu z plikiem .profile, do którego dodajemy nasze polecenia uruchamiania. Przetestowałem oba na moim Dell Inspiron 7560 z Ubuntu 16.04 i ten sposób wydaje się lepszy.
Jasser
Sądzę też, że jest to lepsze niż edytowanie pliku / etc / profile, ponieważ jest on wywoływany tylko dla powłok logowania po uruchomieniu środowiska pulpitu. Tak, również to przetestowałem. Miałem rację.
Jasser