Cómo facilitar el acceso a scripts personalizados en Ubuntu

Los scripts son sumamente útiles para facilitar acciones en ocasiones complejas que debemos realizar con regularidad. En el caso de algunos que tenemos muchos ubicar y utilizar cada uno con rapidez y facilidad es muy importante. Por eso, ¿existe una solución para acceder a cualquier script como si fuera una aplicación normal en Ubuntu? La respuesta es sí, y de hecho, es muy fácil hacerlo. En este tutorial explicaré como crear entradas de escritorio en Ubuntu para acceder rápidamente a un script que hayamos creado o descargado de internet y que usemos con regularidad. 

El script

Los scripts regularmente se encuentran en archivos con texto únicamente y en Ubuntu por lo general se utiliza la extensión .sh 

Es buena idea tener una carpeta donde tengamos los scripts y donde los podamos fácilmente. Donde los quieras guardar es tu decisión. Un ejemplo de script pequeño que me ha resultado muy útil es el siguiente:

#! /bin/bash
gksu grub-reboot 4 &&  reboot

Es básicamente una línea de código para reiniciar el PC y en lugar de entrar directamente a Ubuntu entre a la línea número 4 del GRUB que en mi caso es Windows. Es una línea pequeña y puede ser fácilmente asignada a un alias por ejemplo, pero me sirve de ejemplo y siempre he creído que es mucho más sencillo hacer clic sobre un botón o imagen que abrir la terminal y ejecutar el comando. 

Creamos el script en un archivo .sh que llamaremos RebootToWindows.sh, le damos permisos de ejecución y lo ubicamos en la carpeta que queremos. Usamos un editor de texto para copiar y pegar el texto de de ejemplo en el caso de que quieran usarlo. 

touch RebootToWindows.sh
chmod +x RebootToWindows.sh

La entrada de escritorio

Una entrada de escritorio es una de aquellas que vemos siempre que abrimos el Dash de Unity o las de la barra lateral izquierda de Ubuntu. 

Para crear una entrada de escritorio y darle permisos de ejecución debemos ejecutar los siguientes comandos:

sudo cd /usr/share/applications
sudo touch RebootToWindows.desktop
sudo chmod +x RebootToWindows.desktop

Ahora debemos editar la entrada:

sudo gedit RebootToWindows.desktop

En el editor de texto debemos ingresar un texto con las características del siguiente:

[Desktop Entry]
Name=RebootToWindows
Comment=Reinciar directo a Windows
Exec=/home/usuario/scripts/RebootToWindows.sh
Icon=/home/usuario/scripts/imagenes/icono.png
Terminal=false
Type=Application
Categories=Applications

En el texto anterior en "Name" y "Comment" podemos poner lo que queramos para describir el script. En "Exec" hay que poner la ruta completa del script tal y como se muestra en el ejemplo. En "Icon" debemos poner la ruta de la imagen que se va a presentar al buscar la nueva entrada. 

Sudo vs Gksu

En este punto es importante aclarar que debido a que el script de ejemplo necesita permisos de usuario root para poder ejecutarse es necesario usar el comando gksu al inicio de la única línea del script. Si usamos el comando sudo en "Terminal" en lugar de false hay que poner true para que se abra una terminal que nos solicite la contraseña para ejecutar el comando. De otra forma si no ejecutamos la terminal hay que optar por el comando gksu (muestra una ventana para ingresar la contraseña) cuando queramos ejecutar un comando que necesite permisos elevados. En resumen gksu y Terminal=false van juntos y sudo y Terminal=true también. Type y Categories son opcionales. 

Una vez hecho esto, guardamos los cambios y vamos a buscar la entrada como buscamos cualquier otra aplicación.

Y ese es todo el proceso. Esta es solo una idea de lo que se puede hacer. Los mismos pasos tienen múltiples usos. Te queda como una opción para agilizar algunos procesos y ejecutar todo tipo de scripts de forma fácil y sencilla. Recuerda que todos los comandos que usamos en una terminal los podemos ejecutar igualmente por medio de un script. Si tienes alguna duda, comentarios o sugerencias te invito a que me los hagas saber por medio de los comentarios. 

 

Fundador
Seguidor de Jesús. Escribo artículos en mi tiempo libre sobre temas de tecnología que me interesan.