Come funziona "Startup Applications"?


10

Sono interessato a sapere come funzionano le "Applicazioni di avvio", a cui puoi accedere dal dock.

Voglio sapere questo perché voglio sapere la differenza tra l'aggiunta di una voce in questi luoghi:

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

e fare lo stesso tramite questa applicazione GUI. Ciò che mi confonde è che non vedo il programma creare alcuna voce nei file sopra menzionati.

Risposte:


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.
    

    In sostanza, il Runlevel multiutente significa quando si avvia.

  • /etc/profile

    Questo file viene invocato solo per le shell di accesso perché quello è il suo scopo specifico.

    /etc/profile, eseguito da tutte le shell compatibili con Bourne (inclusi bashe dash) quando avviato come shell di accesso.

  • /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.
    

    Entrambi gli script ~/.bashrce ~/.bash_profilesono eseguibili quando viene invocato bash. Il ~/.bashrcfile viene eseguito quando si esegue bash utilizzando una shell interattiva che non è una shell di accesso. L' ~/.bash_profileunica Viene eseguito nel corso di una shell di login.

    fonte

    Quindi penso che .profilevenga eseguito se nessuno dei due (per qualsiasi motivo).

  • Infine, probabilmente il tuo metodo GUI sta inserendo i .desktoplauncher/home/$USER/.config/autostart

    Questo viene eseguito all'accesso dell'utente (penso solo all'accesso alla GUI, quindi lo startxfarei ma non al ttylogin).

I miei pronomi sono Lui / Lui


I comandi .profile non verranno eseguiti al login della GUI?
daltonfury42,

@ user3073656 hmmm come si chiama l'applicazione GUI?
Tim

Scusa, sbadiglio! Avevi ragione.
daltonfury42,

@utente3073656 modificato
Tim

8

Qualsiasi ambiente desktop che segue le specifiche di freedesktop (aka XDG) dovrebbe fare uso delle applicazioni di avvio automatico all'accesso dell'utente o ogni volta che è stato inserito un supporto rimovibile.

Per l'avvio automatico di un'applicazione all'accesso dell'utente, l'ambiente desktop cerca un .desktopfile per eseguire l'applicazione ivi specificata. Questo .desktopfile di solito si trova in

$XDG_CONFIG_DIRS/autostart

Ma possiamo anche averli nelle seguenti posizioni:

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

In ogni caso, un .desktopfile che si trova in ~/.config/autostartè definito come il file più importante da eseguire, sostituendo così i .desktopfile in altre posizioni.

Ubuntu soddisfa questa specifica e gli utenti possono aggiungere applicazioni con un approccio GUI alle "Applicazioni di avvio automatico".

L'applicazione può essere avviata automaticamente indipendentemente dal desktop da varie altre posizioni, ad esempio ~/.profileper la shell, /etc/rc.localper l'esecuzione all'avvio del sistema o, più recentemente, utilizzando systemd .


L'aggiunta dei comandi in questo modo è la cosa migliore in quanto ciò non richiede letteralmente tempo rispetto al file .profile in cui aggiungiamo i nostri comandi di avvio. Ho provato entrambi questi sul mio Dell Inspiron 7560 con Ubuntu 16.04 e in questo modo sembra migliore.
Jasser,

Immagino anche che sia meglio che modificare il file / etc / profile in quanto viene invocato solo per le shell di login che avvengono dopo l'avvio dell'ambiente desktop. Sì, ho provato anche quello. Avevo ragione.
Jasser,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.