Tip: Ejecutar desde cualquier sitio

21 05 2007

En ocasiones nos bajamos juegos y programas que no son instalables. Vienen en un fichero comprimido, se descomprimen, vamos a la carpeta y lo ejecutamos. Lo mismo sucede si nos creamos algún shell script. Está bien, y podemos crear lanzadores, pero en ocasiones nos interesa o simplemente nos gusta ejecutarlos desde cualquier sitio dentro de una consola o escribiendo sólo el nombre en ALT+F2. Con este tip os voy a mostrar cómo hacerlo.

En Linux hay ciertas variables llamadas variables de entorno. Hay un número interesante, pero en este tipo vamos a tratar sólo una, la que nos interesa: $PATH.

Cuando abrimos ALT+F2 o abrimos una consola y escribimos dentro «firefox», lo que hace el sistema es buscar un ejecutable con ese nombre en una serie de carpetas indicadas en $PATH. Si queréis podéis saber exactamente cuales son con este comando:

$ echo $PATH

Os saldrá un listado parecido o igual a este

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Si os fijáis bien no es una única carpeta, sino que son varias separadas por ‘:’.

Bien, comprendido esto voy a poneros dos ejemplos distintos con dos soluciones distintas para que podáis ejecutar desde cualquier sitio y simplemente poniendo el nombre esos programas que no son instalables.

Ejemplo 1: Carpeta con pequeños ejecutables

Supongamos que tenemos una carpeta con unos cuantos ejecutables de consola que nos interesa que sean accesibles desde cualquier sitio. Podríamos meterlos directamente en /usr/bin por ejemplo, pero no es una solución muy elegante.

Otra opción más asequible sería indicarle a $HOME que busque en esa carpeta también. Es simple, tan sólo tenemos que añadirle la carpeta de esos ejecutables, supongamos que es «/home/ceec/pepinillos«. Esto se haría de este modo:

$ PATH="$PATH:/home/ceec/pepinillos"

Es decir, el contenido de PATH es el que ya tiene más un separador de lo anterior y la nueva carpeta. listo, ya tenemos nuestros pequeños programas accesibles desde cualquier lugar.

Ejemplo 2: Programa o juego del que dependen otros archivos

La mayoría de las ocasiones estos programas y juegos comprimidos no es un sólo ejecutable, sino que traen una serie de jerarquía de carpetas y directorios que necesita el ejecutable principal.

La opción anterior no sería la mejor, ya que no sería muy coherente añadir una carpeta a $PATH por cada programa y juego con estas características.

La opción de copiar el ejecutable a una de las rutas de búsqueda de $PATH tampoco nos vale precisamente porque dicho ejecutable necesita el resto de archivos.

¿Qué hacemos? Pues una especie de acceso directo en una carpeta de búsqueda de $PATH que le lleve a la ruta correcta donde está el ejecutable y sus archivos. Esta especie de acceso directo se llama enlace simbólico.

De esta forma cuando ejecutemos el programa o juego en cuestión, por ejemplo «pepinon» el sistema buscará en las carpetas de $PATH. Si en una de ellas tenemos un enlace simbólico llamado «pepinon» se ejecutará el original al que referencia el enlace. De hecho si abrís nautilus y os vais por ejemplo a /usr/bin veréis que muchos de esos ejecutables tienen como icono una flechita. Eso indica que es un enlace simbólico.

Bien, explicado esto vamos a crear ese enlace simbólico en /usr/bin de, por ejemplo, un juego que se llama «pepino» y que está en una carpeta con el mismo nombre dentro de «juegos«. Al hacer el enlace simbólico en una carpeta restringida para un usuario normal, necesitaremos de sudo:

$ sudo ln -s /home/ceec/juegos/pepino/pepino /usr/bin

Listo, ahora si escribo «pepino» en consola o en ALT+F2 se me abrirá el juego.

Tenéis otro ejemplo real de este tipo en la entrada siguiente, el tutorial de instalación de Thunderbird 2.0.

Más tips entre tuxes y pepinos
Anuncio publicitario

Acciones

Información

Un comentario

6 10 2016

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s




A %d blogueros les gusta esto: