Ubuntu / Unity adjunta script al lanzador


12

Recientemente descargué IntelliJ IDEA e inicio la aplicación ejecutándose . idea.sh. La aplicación aparece en el iniciador mientras la estoy ejecutando, pero por alguna razón cuando hago clic derecho en ella no aparece la opción 'Bloquear al iniciador' como lo hago con otras aplicaciones.

¿Cómo lo adjunto al lanzador?

¿Es porque estoy ejecutando un script y no un ejecutable directamente que deshabilita esa opción?

Respuestas:


16

Parece que hay 2 formas de hacer esto.

Método # 1: crear manualmente el archivo .desktop

Sí, debe crear un iniciador de .desktop personalizado para él. Aquí están los pasos generales:

  1. Cree un archivo * .desktop en /usr/local/share/applications(o /usr/share/applicationsdependiendo de su sistema).

    $ gksudo gedit <insert-path-to-new-file.desktop>
    
  2. Pegar debajo del texto

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

    Editar Icon=y Exec=y Name=. También Terminal=True/falsedetermina el tiempo en que el terminal abre una ventana y muestra la salida o se ejecuta en segundo plano.

  3. Coloque el archivo .desktop en el panel de Unity Launcher. Para este paso, deberá navegar en un explorador de archivos a donde está el archivo .desktop que creó en los pasos anteriores. Después de ubicar el archivo, arrástrelo a la barra de Unity Launcher en el costado. Después de hacer esto, es posible que deba ejecutar el siguiente comando para que su sistema reconozca el archivo .desktop recién agregado.

    $ sudo update-desktop-database
    

Método # 2: método GUI

En lugar de crear manualmente el archivo .desktop, puede invocar una GUI para ayudar a hacerlo.

  1. instalar gnome-panel

    $ sudo apt-get install --no-install-recommends gnome-panel
    
  2. Inicie el generador de GUI .desktop

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

                      ss de editor

Referencias


sudo update-desktop-databasdebería sersudo update-desktop-database
Trindaz

Además, la línea final del Método # 1 ( $ sudo ...) no debería estar allí. Después de algunas conjeturas descubrí que "Poner esto en el panel de la unidad" = Abra el explorador de archivos y encuentre el archivo creado en el paso 1, luego arrástrelo al "Iniciador". "Panel" parece ser un término ambiguo en Unity dependiendo de con quién hables.
Trindaz

@Trindaz: sí, perdón por la falta de detalles. No estaba seguro exactamente cómo hacer ese paso, ya sea al mirar otro tutorial, ese mismo paso fue igual de vago. Agregaré los detalles como describiste en ese paso. LMK si se ven bien.
slm

Esto funcionó para mi el 18.04, pero probé el 19.04 y el archivo de configuración se abre como un archivo de texto. Que dolor.
Quaternion

Citando a @MDMower de su comentario ( unix.stackexchange.com/questions/170823/… ): Alternativamente, si esta aplicación solo está instalada para el usuario actual, sería más apropiado colocar el .desktoparchivo~/.local/share/applications
John Freeman

1

Lo siguiente es utilizable en mi caso, al iniciar un script de shell desde un iniciador, y mantiene abierta la ventana de shell .

Método

  • Este ejemplo es con mate-terminal, use gnome-terminalsi es el que está en su sistema.
  • Este ejemplo es con un script de shell php cli , para hacerse una idea, cualquier comando se puede pasar aquí.
  • Se pasa un parámetro al script, -hen este caso.
  • Agregar ; bashmantiene la ventana de shell abierta después del final de la secuencia de comandos, por ejemplo:

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

Variaciones adicionales

Para mantener la ventana abierta, con la ruta establecida en el directorio del script, use un cdantes del comando. Por ejemplo:

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

Esto permite el lanzamiento de algunos comandos adicionales sin tener que permanecer en el directorio de trabajo actual.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.