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.