Come aggiungere uno script a Startup Applications dalla riga di comando? [duplicare]

19

Ho uno script di shell. Voglio configurare il mio script per l'esecuzione automatica durante l'avvio. So come farlo dalla GUI. Ma volevo farlo dal terminale. Come posso fare questo?

In una ricerca primaria ho trovato che il file deve essere spostato nella directory /etc/int.d/ . Ma questa operazione richiede il permesso sudo. Volevo farlo senza i permessi super utente

Ho anche scoperto che ci sono file sotto ~/.config/autostart/ che stanno avendo alcune impostazioni riguardanti le applicazioni di avvio. Ma non so come modificarli per raggiungere questo obiettivo.

Qualcuno può dirmi la procedura esatta per raggiungere questo obiettivo?

    
posta Anonymous Platypus 18.03.2015 - 10:16

2 risposte

17

Come impostare un avvio di avvio dalla riga di comando

Come accennato nella tua domanda, i comandi possono essere eseguiti all'accesso posizionando un pulsante di avvio in ~/.config/autostart Poiché il programma di avvio è utilizzato solo per avviare uno script, sono necessarie solo le parole chiave "base" per l'immissione sul desktop nella% creata co_de% file: le parole chiave / linee di cui avresti bisogno almeno:

[Desktop Entry]
Name=name
Exec=command
Type=Application

La linea (facoltativa) .desktop verrà aggiunta automaticamente se abiliti / disabiliti la funzione di avvio automatico del programma di avvio (è impostata su X-GNOME-Autostart-enabled=true per impostazione predefinita)

Maggiori informazioni sui campi obbligatori, puoi trovare qui .

Script di esempio

Per creare un tale launcher dalla riga di comando, è necessario un piccolo script che assuma il nome dello starter e il comando da eseguire come argomento. Un esempio di tale script qui sotto.

Se lo eseguo con il comando:

python3 '/path/to/script' 'Test' 'gedit'

Crea un avvio all'avvio, eseguendo X-GNOME-Autostart-enabled=true quando eseguo l'accesso.
Il programma di avvio è visibile anche in Dash & gt; Applicazioni di avvio:

Loscript

#!/usr/bin/env python3 import os import sys home = os.environ["HOME"] name = sys.argv[1]; command = sys.argv[2] launcher = ["[Desktop Entry]", "Name=", "Exec=", "Type=Application", "X-GNOME-Autostart-enabled=true"] dr = home+"/.config/autostart/" if not os.path.exists(dr): os.makedirs(dr) file = dr+name.lower()+".desktop" if not os.path.exists(file): with open(file, "wt") as out: for l in launcher: l = l+name if l == "Name=" else l l = l+command if l == "Exec=" else l out.write(l+"\n") else: print("file exists, choose another name")

Incollalo in un file vuoto, salvalo come gedit , eseguilo con il comando:

python3 /path/to/set_startupscript.py '<name>' '<command>'

Che cosa fa

  • Crea un launcher di base (non hai bisogno di più, eseguendo uno script) in set_startupscript.py , prendendo come nome il nome e il comando.
  • Se un launcher con il nome esiste già in ~/.config/autostart , stampa un messaggio:

    file exists, choose another name
    
risposta data Jacob Vlijm 18.03.2015 - 10:44
6

Ho trovato una risposta

cd a ~/.config/autostart/ . Se non hai una cartella chiamata autostart , creane una con quel nome usando mkdir autostart.

Ora aggiungi il seguente file con il nome yourScript.sh.desktop

[Desktop Entry]
Type=Application
Exec="/Your/location/to/theScript/yourScript.sh"
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_IN]=AnyNameYouWish
Name=AnyNameYouWish
Comment[en_IN]=AnyComment
Comment=AnyComment

Fatto!

    
risposta data Anonymous Platypus 18.03.2015 - 10:36

Leggi altre domande sui tag