martes, 20 de febrero de 2018

Crear accesos directos o lanzadores de aplicaciones en Ubuntu


Hola, buenas amigos.

Muchas veces nos descargamos aplicaciones directamente de paginas web de los mismos desarrolladores, porque no se encuentran en los repositorios de Ubuntu o porque en los repositorios no se halla la última actualización de dicha aplicación.


Podemos incluir la dirección de los repositorios de dicha aplicación en el archivo donde tenemos las direcciones de los repositorios de Ubuntu y cuando actualicemos los listados de paquetes si se halla una actualización de la misma también se actualizará conjuntamente con todo el Sistema Operativo y las demás aplicaciones descargadas de los repositorios de Ubuntu. Pero de este tema ya hablaré en otro post.

Supongamos que hemos descargado una aplicación desde una web. Nos hemos descargado un archivo comprimido y lo descomprimimos directamente en un directorio de nuestra carpeta personal. Dentro de dicha carpeta existe un binario ejecutable, lo ejecutamos en el terminal tecleando su nombre, o mediante el explorador nautilus clickeando sobre él en modo gráfico, y listo ya tenemos la aplicación ejecutándose.

Pero un poco engorroso, no? El tener que ir al directorio donde se encuentra el archivo ejecutable y pinchar en el. O mediante el terminal ir al directorio y escribir el nombre del ejecutable.

Lo digo porque dicha aplicación no va a aparecer listada en el "dash" o "tablero". Tenemos que crear nosotros mismos un lanzador o acceso directo a dicha aplicación, para que aparezca visible en el dash. Pero el crear un acceso directo no es una función que encontremos predefinida como por ejemplo en el sistema operativo Windows.
La solución rápida que hace mucha gente es que cuando la aplicación está ejecutándose y nos aparece el icono en el launcher, clickear botón derecho sobre él y marcar la opción "mantener en el lanzador". Y allí se nos mantendrá. Pero si tenemos que hacer lo mismo con muchas aplicaciones se nos empezará a llenar el launcher de iconos de accesos directos y será un follón. Lo ideal es que en el launcher mantengáis las cuatro aplicaciones que mas uséis y nada mas.

Entonces, como creamos un acceso directo para que se nos muestre en el "dash" o "tablero"?

Para enseñároslo os voy a poner un ejemplo real. Me he descargado una aplicación que se llama "SimulIDE" desde la web "https://sourceforge.net".
Tengo un archivo .tar comprimido en el directorio "Descargas".
Bien, lo descomprimo en un directorio de mi "Carpeta personal".
Ahora tengo un archivo binario ejecutable que es el siguiente:





Evidentemente si lo clickeo se ejecuta la aplicación. Pero lo que vamos a hacer es crear un acceso directo o lanzador del mismo.
Para ello abriremos un terminal de comandos, ya sabéis, combinación de teclado "Ctrl" mas "Alt" mas "T" y nos vamos al directorio "/usr/share/applications" escribiendo en el terminal:

$ cd /usr/share/applications


Una vez dentro de este directorio, si hacéis un listado con el siguiente comando:

$ ls -l

Podéis ver archivos con extensión ".desktop" que son todos los accesos directos de todas las aplicaciones que os aparecen listadas en el "dash".

 

Pues bien, vamos a utilizar un editor de texto, el que queráis para crearnos el archivo con extensión desktop. Yo utilizaré el editor "nano" que se ejecuta en el mismo terminal, y crearé el archivo con el mismo nombre de la aplicación, cabe destacar que estamos en un directorio del sistema operativo por tanto necesitamos el comando sudo para ejecutar el editor en modo root para poder crear y modificar archivos, entonces escribimos en el terminal la instrucción:

$ sudo nano simulide.desktop

Después de pedirnos las credenciales se nos abre el editor de texto y escribiremos el siguiente texto en él:

[Desktop Entry]
Version=0.1.5
Name=SimulIDE
GenericName=SimulIDE
Comment=Electronic Circuit Simulator Software
Exec=/home/belinux/SimulIDE_0.1.6-Lin32/bin/SimulIDE_0.1.6
Icon=/home/belinux/SimulIDE_0.1.6-Lin32/simulideicon.png
Terminal=false
Type=Application
Categories=Development;IDE;Electronics;EDA;


Una vez escritas todas las lineas ya podemos guardar el archivo y salir del editor de textos nano presionando la tecla "Ctrl" mas "X".

Tranquilos no me olvido de vosotros, gente de mente inquieta, se que queréis saber que función hace o que significa cada línea. Vamos allá:

La primera línea es obligatoria, estamos diciendo que el archivo es una entrada de escritorio. La sintaxis es entre corchetes.

La segunda línea, la versión de la aplicación. No es Obligatoria. Pero no está de mas escribirla.

La tercera línea, el nombre de la aplicación. Obligatoria.

La cuarta línea, el nombre genérico de la aplicación. No obligatoria. Podéis prescindir de esta línea. Pero si la escribís os servirá para que el dash la tenga en cuenta como búsqueda. Esta aplicación es un Simulador de circuitos electrónicos en tiempo real. Por tanto, un nombre genérico de simulide podría ser "Simulador de circuitos electrónicos". Pero como habéis visto he escrito el mismo nombre de la aplicación.

La quinta línea, un comentario de la aplicación. No es obligatoria, pero si buscas en el dash una palabra que hayas escrito aquí también te aparecerá el icono de la aplicación.

La sexta línea, la ruta del archivo ejecutable. Obligatoria. Sin esta línea el sistema operativo no sabe que archivo ejecutar.

La séptima línea, la ruta del icono. No es obligatoria. Pero queda bonito que luzca el icono de la aplicación y no un signo de interrogación, que es lo que aparece en el acceso directo si no enlazamos un icono.

La octava línea, terminal. Obligatoria. Hay dos opciones true o false. true significa que la aplicación se ejecuta en el emulador del terminal de comandos. Y false significa que no se ejecuta en el emulador del terminal de comandos. Y este es mi caso ya que mi aplicación es de entorno gráfico de ventanas.

La novena línea, tipo. Obligatoria. Permite especificar que tipo de acceso directo o lanzador es. Una aplicación (Application), este es mi caso, un enlace (Link) o un directorio (Directory).

La décima línea, categorías. No es obligatoria en interfaces de escritorio como Unity o Gnome. Pero en cambio en el escritorio Mate que se sitúan los lanzadores o accesos directos de las aplicaciones según categorías en los menus desplegables si es necesario.

Detalladas todas las líneas y con el archivo simulide.desktop creado y almacenado en el directorio pertinente, solo nos queda darle los permisos oportunos al archivo si es que no los tiene y cambiarle el propietario a usuario root si no lo es aún. Con los siguientes comandos en el terminal:

$ sudo chmod 644 simulide.desktop 
$ sudo chown root:root simulide.desktop  


El comando chmod funciona con los siguientes criterios:

Hay tres tipos de clases:

Propietario
Grupo
Otros

Hay tres tipos de permisos:

Lectura (Read) = 4
Escritura (Write) = 2
Ejecución (eXecute) = 1

Y podemos combinar varios permisos para cada tipo de clase:

Lectura=4 + Escritura=2 = 6 (permiso de lectura y escritura).
Lectura=4 + Escritura=2 + Ejecución=1 = 7 (permiso de lectura, escritura y ejecución).

Por tanto, en el comando chmod yo le he dado permisos de lectura y escritura (6) al propietario del archivo simulide.desktop, luego le he dado permisos de lectura (4) al grupo al que pertenece el archivo simulide.desktop, y también permisos de lectura (4) al resto de usuarios que quieran acceder al archivo simulide.desktop.

Si hago un listado del archivo simulide.desktop:

$ ls -l simulide.desktop

En el listado vemos lo siguiente al principio del archivo -rw-r--r--
Cada una de las tres clases tiene definidos los tres tipos de permisos.
Vemos que la clase propietario del archivo tiene los permisos -rw- (- nos informa que el elemento "simulide.desktop" es un archivo, si fuera un directorio nos mostraría una d en lugar de un guión /// r nos indica que tiene el permiso de lectura /// w nos indica que tiene el permiso de escritura /// - nos indica que no tiene permiso de ejecución, de lo contrario en lugar de un guión nos mostraría una x ).
Sigue para la clase grupo de usuarios r-- (r indica que tiene el permiso de lectura /// - indica que no tiene el permiso de escritura que debería aparecer una w /// - indica que no tiene el permiso de ejecución, que debería aparecer una x).
Y la clase otros usuarios r-- (r indica que tiene el permiso de lectura /// - indica que no tiene el permiso de escritura que debería aparecer una w /// - indica que no tiene el permiso de ejecución, que debería aparecer una x).

Con el segundo comando chown, podemos cambiar el propietario del archivo simulide.desktop. En nuestro caso debemos de cambiar el propietario del archivo para que sea el usuario root así también como el grupo. Lo debemos hacer porque es un archivo que se encuentra en un directorio del sistema, donde solo tiene permisos el usuario root.
De echo cuando lo hemos creado utilizando el editor nano ya hemos utilizado el comando sudo, por tanto ya eramos usuario root y por tanto el archivo ya fué creado por el usuario root. No hacía falta utilizar el comando chown para cambiar de propietario no era necesario. Hubiera sido necesario cambiar de propietario si el archivo lo hubiéramos creado en un directorio de nuestro usuario administrador, en mi caso belinux.

Espero no haberos liado mucho, ya que he tratado estos dos comandos muy por encima y se merecen un post aparte. Ya que son esenciales el tema de permisos y de propiedad de los archivos, por seguridad.

Dicho todo esto, ahora mismo nuestro lanzador o acceso directo a la aplicación ya se ha creado satisfactoriamente y si hacemos una búsqueda en el dash, nos aparecerá. Y lo podremos ejecutar, como os muestro en la siguiente imagen.


Espero no haberos aburrido mucho y que os sirva de ayuda es post.
Saludos y hasta la próxima entrada.

12 comentarios:

  1. HE hecho el lanzador de esa forma,es para MATLAB, si me aparece en el dash pero cuando le doy click empieza a ejecutarse y se cierra. Entonces para ejecutarlo sin problemo lo ejecuto desde la terminal justo donde se ubica el archivo matlab desde la terminal, sudo ./matlab y abre sin problema, sabras a que se debe??

    ResponderEliminar
    Respuestas
    1. Hola, es posible que haya terminado la ejecución de tu cálculo y se cierre la ventana del emulador de comandos una vez terminado, parece que necesita una ejecución de un script en Bash donde al final de la ejecución de Matlab pongas una pausa y que necesite una entrada por teclado para que se cierre la ventana cuando tu quieras y no antes. Es la primera solución que me viene a la cabeza. Pero ya sabes soluciones mil.
      Saludos y suerte.

      Eliminar
  2. Gracias, me sirvió. Explicaste muy bien las cosas, sigue así!

    ResponderEliminar
  3. Muchas gracias por el tip. Fue bastante útil

    ResponderEliminar
  4. Gracias, me ayudaste mucho. ¿Sabrás cómo puedo ejecutar un programa desde la terminal desde cualquier lugar? Por ejemplo, si quiero ejecutar Firefox solo escribo "Firefox&", ¿Cómo puedo lograr lo mismo con un programa que haya bajado de alguna web?

    ResponderEliminar
    Respuestas
    1. Hola, gracias por comentar. Desde el emulador de terminal, con saber el nombre del ejecutable. Lo escribes y pulsas Enter. Por ejemplo: para ejecutar en browser Firefox desde el emulador de terminal escribe: Firefox y pulsa Enter. Con un programa descargado de alguna web debes saber el nombre del ejecutable.

      Eliminar

Gracias por participar en este blog.