Hace un tiempo hicimos una aplicación sencilla de una calculadora usando Tkinter y Python en Linux, luego aprendimos a usar pyinstaller para crear una aplicación ejecutable. Ahora vamos a aprender a usar algunos comandos en Linux para inscribir una carpeta y dentro de esta carpeta nuestra aplicación.
¿Qué es $PATH?
Linux tiene algunas cuantas variables globales para poder programar scripts en #Bash, #Zsh o cualquier #Shell, Algunos ejemplos son: $0 que almacena el primer argumento que sería el nombre del programa en ejecución, $HOME que guarda la ruta de nuestra carpeta de usuario personal, pero también existe la variable de entorno $PATH que guarda un montón de rutas donde Linux puede ejecutar aplicaciones, cada ruta separada por ":". Para saber cuáles son esas rutas podemos ejecutar el comando printenv o usar el comando echo para ver estas rutas.
echo $PATH # Muestra el valor de la variable global PATH
# output /home/usuario/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/darkcom/.local/bin/
Los ficheros ejecutables que estén dentro de estas rutas podrán ser ejecutadas en un Shell sin importar la ubicación actual, así que, para resolver la pregunta a este post, simplemente basta con dar permisos de ejecución a nuestro fichero y moverlo a cualquier carpeta contenida en las rutas de la variable de entorno $PATH, pero y que pasa si queremos agregar una carpeta distinta que no esté contenida en $PATH
Agregando una carpeta a $PATH
Lo normal es mover nuestro fichero ejecutable dentro de cualquiera de estas carpetas, pero si por algún motivo requerimos crear una carpeta, podemos usar el comando #export para hacerlo, en el siguiente ejemplo vamos a crear una carpeta llamada #bin dentro de nuestra carpeta de usuario.
export PATH="$HOME/bin:$PATH"
# export sirve para registrar una variable
# PATH= es nuestra variable
# $HOME/bin es la ruta que queremos registrar
# :$PATH es la variable global donde anexaremos la ruta
El único inconveniente es que la variable solo quedará registrada temporalmente mientras la sesión de terminal esté activa, esto quiere decir que si cierras la terminal, los cambios guardados se restablecen.
Registrando una variable de manera temporal
En la carpeta de usuario en Linux, hay carpetas y archivos ocultos, para poder visualizarlos presionamos Ctrl+H en la aplicación #Thunar, ya tendrán que ver como se visualiza en otros administradores de archivos.
Uno de los archivos debe llamarse .bashrc si usan Bash como terminal o .zshrc si usan Zsh, lo abren con un editor de texto y escriben en algún renglón vacío:
export PATH="$HOME/bin:$PATH"
Para comprobar que todo funciona, simplemente abran su terminal y escriben el nombre de su aplicación como si fuese un comando y este debiera de ejecutarse sin problemas.
No siendo más nos vemos en un próximo post.
Comments