Ubuntu / Unity collega lo script a Launcher


12

Di recente ho scaricato IntelliJ IDEA e ho avviato l'app eseguendo . idea.sh. L'app viene visualizzata nel programma di avvio mentre la sto eseguendo, ma per qualche motivo quando faccio clic con il pulsante destro del mouse su di essa non ottengo un'opzione 'Blocca al programma di avvio' come faccio con altre app.

Come si collega al programma di avvio?

È perché sto eseguendo uno script e non un eseguibile direttamente che disabilita tale opzione?

Risposte:


16

Sembra che ci siano 2 modi per farlo.

Metodo n. 1: creazione manuale del file .desktop

Sì, devi creare un launcher .desktop personalizzato per questo. Ecco i passaggi generali:

  1. Crea il file * .desktop in /usr/local/share/applications(o in /usr/share/applicationsbase al tuo sistema).

    $ gksudo gedit <insert-path-to-new-file.desktop>
    
  2. Incolla sotto il testo

    [Desktop Entry]
    Type=Application
    Terminal=false
    Name=IntelliJ IDEA
    Icon=/path/to/icon/icon.svg
    Exec=/path/to/file/idea.sh
    

    Modifica Icon=e Exec=e Name=. Terminal=True/falseDetermina anche il tempo in cui il terminale apre una finestra e visualizza l'output o viene eseguito in background.

  3. Inserisci il file .desktop nel pannello Unity Launcher. Per questo passaggio dovrai navigare in un browser di file dove si trova il file .desktop che hai creato nei passaggi precedenti. Dopo aver individuato il file, trascina il file nella barra Unity Launcher sul lato. Dopo aver effettuato l'operazione, potrebbe essere necessario eseguire il comando seguente per far riconoscere al sistema il file .desktop appena aggiunto.

    $ sudo update-desktop-database
    

Metodo n. 2: metodo GUI

Invece di creare manualmente il file .desktop è possibile convocare una GUI per aiutare a farlo.

  1. installa gnome-panel

    $ sudo apt-get install --no-install-recommends gnome-panel
    
  2. avviare il generatore di GUI .desktop

    $ gnome-desktop-item-edit ~/Desktop/ --create-new
    

                      ss di redattore

Riferimenti


sudo update-desktop-databasdovrebbe esseresudo update-desktop-database
Trindaz il

Inoltre, l'ultima riga del Metodo n. 1 ( $ sudo ...) non dovrebbe essere presente. Dopo alcune congetture ho scoperto che "Inserisci questo nel pannello unità" = Apri il browser dei file e trova il file creato nel passaggio 1, quindi trascinalo su "Launcher". "Pannello" sembra essere un termine ambiguo in Unity a seconda di chi parli.
Trindaz,

@Trindaz - sì, mi dispiace per la mancanza di dettagli, non ero sicuro di come fare quel passo guardando un altro tutorial che lo stesso passo era altrettanto vago. Aggiungerò i dettagli come descritto in quel passaggio. LMK se sembrano OK.
slm

Questo ha funzionato per il mio 18.04 ma provando il 19.04 e il file di configurazione si apre come file di testo! Che dolore.
Quaternion

Citando @MDMower dal loro commento ( unix.stackexchange.com/questions/170823/… ): In alternativa, se questa applicazione è installata solo per l'utente corrente, sarebbe più appropriato inserire il .desktopfile~/.local/share/applications
John Freeman

1

Quanto segue è utilizzabile nel mio caso, lanciando uno script di shell da un launcher e mantenendo aperta la finestra della shell .

Metodo

  • Questo esempio è con mate-terminal, usa gnome-terminalse è quello sul tuo sistema.
  • Questo esempio è con uno script php cli shell , per avere l'idea, qualsiasi comando può essere passato qui.
  • Un parametro viene passato allo script, -hin questo caso.
  • L'aggiunta ; bashmantiene aperta la finestra della shell dopo la fine dello script, ad esempio:

    mate-terminal --execute bash -c "php /home/lilith/Desktop/moon/MOON/moon -h ; bash"
    

Ulteriori variazioni

Per mantenere aperta la finestra, con il percorso impostato nella directory dello script, utilizzare un cdprima del comando. Ad esempio:

mate-terminal --execute bash -c "cd /home/lilith/Desktop/moon/MOON/ && php moon -h ; bash" 

Ciò consente l'avvio di alcuni comandi aggiuntivi senza dover rimanere nella directory di lavoro corrente.

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.