Personalizar el prompt en Arch Linux

En esta ocasión quisiera mostrarles lo sencillo que es personalizar el prompt en Arch Linux (Y en cualquier otra distro). Hago énfasis en Arch ya que es la Distro que utilizo desde hace mucho tiempo y con la que me encuentro demasiado contento, se las recomiendo. 😀 Muchos podrán decir:

Para que hacer esto si ni siquiera utilizo la Terminal o Shell

Bueno, tienen mucha razón, aunque en ese caso mi respuesta sería…

Por la misma razón que son usuarios de alguna distribución GNU/Linux, (Mucho mejor si utilizan Arch créanme) por el simple hecho de aprender…

Y es que no existe otro motivo, por lo menos no se me ocurre en este momento ademas del simple hecho de aprender algo nuevo, ademas, aunque no utilicen la terminal para su trabajo del día a día, podría apostarles que en mas de una ocasión, por el motivo que sea, han tenido que abrir esa fea pantalla negra con letras en color blanco (En la mayoría de los casos) y teclear comandos Like a Hacker. xD

Desde que utilizó Arch, (Hace ya un buen tiempo) me incliné por utilizar la terminal para realizar las cosas, es muy divertido, pero no me había dado por personalizarla, esto debido a que no soy mucho de estarle modificando la apariencia a la distro, aunque hace unos días comencé a hacerlo, y fue donde miré la Konsole y me dije, ¿y por qué no?.

Bien, a lo que vinieron, para poder personalizar el prompt de nuestra terminal, únicamente debemos realizar cambios en nuestro archivo “.bashrc”, el cual comúnmente se encuentra en su carpeta $HOME, como esta entrada habla sobre como podemos personalizar el prompt de nuestra terminal, todo lo que hagamos de ahora en adelante lo realizaremos en ella. Como primer paso les recomiendo que hagan un respaldo de su archivo “.bashrc” original, esto podemos realizarlo con el comando “cp .bashrc /lugar-donde-guardaran-el-respaldo”, en mi caso quedaría

 cp ~/.bashrc ~/bashrc 

Con el comando anterior, únicamente copie mi archivo cambiándole el nombre dentro de mi carpeta $HOME. Después de esto, abren su archivo desde su editor favorito en terminal, en mi caso es nano, así que utilizo el comando:

 nano .bashrc 

Una vez que abran el archivo les debe aparecer el contenido de este, el mio se encuentra de la siguiente manera actualmente:

#
# ~/.bashrc
#

#if not running interatively, don't do anything
[[ $- != *i* ]] && return

alias ls="ls --color=auto"
#PS1='[\u@\h \W]\$ ‘
#Add RVM to PATH for scripting
export PATH="$PATH:$HOME/.rvm/bin"

Lo importante en este archivo es esa linea que se encuentra comentada “#PS1='[\u@\h \W]\$ ‘” ya que es la que nos muestra la configuración actual de nuestro prompt. Se lo que piensan, “Que rayos significa eso”, lo sé, es difícil de digerir a simple vista, pero de verdad es mas sencillo de lo que parece, déjenme mostrárselos.

Primero se encuentra PS1=, esta es la variable global que utiliza el sistema para poder modificar el prompt así que no le cambien ese nombre, supongo que en todas las distros será así, pero por lo menos en Arch si es de esta manera, luego se abren comillas simples y se comienzan a introducir los “argumentos” que no son mas que caracteres especiales que representan la información que deseamos que aparezca en nuestro prompt.

Después tenemos el símbolo “[“, luego aparece “\u“, esto nos muestra nuestro nombre de usuario, después aparece “@” que no es mas que el arroba para dividir nuestro nombre de usuario del nombre de nuestro equipo, el cual aparece despues con “\h” luego viene un espacio y nos encontramos con “\W“, que no es otra cosa sino lo que hace que se muestre el directorio en el que nos encontramos situados actualmente, se cierra “]“, y nos encontramos el queridisimo y famoso signo de dolar que nos muestra que nos encontramos como usuarios normales. Sin olvidar cerrar las comillas simples una vez terminamos de escribir nuestros argumentos. Podemos observarlo en esta imagen…

Prompt por defecto

Prompt por defecto

En mi caso, una vez que lo he modificado me quedo así: (les recomiendo que esa linea la dejen comentada y creen una nueva en la parte inferior del archivo)

 PS1='\[\e[33;1m\]┌\[\e[34;1m\][\[\e[0;1m\]\u\[\e[34;1m\]@\[\e[31;1m\]\h\[\e[34;1m\]]\[\e[33;1m\]┐\[\e[34;1m\]\[\e[0;1m\] → \[\e[34;1m\][\[\e[32;1m\]\W\[\e[34;1m\]]\[\e[0;1m\]\$ '

Disculpen si no se los explico, lo hago de esta manera para que analicen un poco y vean que es cada cosa. Y como una imagen vale mas que mil palabras…

Mi prompt ya modificado

Mi prompt ya modificado

Como comentario: Si quieren probar únicamente antes de hacer cualquier cambio, no modifiquen el archivo aun, pueden teclear en la consola directamente

 PS1=' '

Y dentro de las comillas ir poniendo su configuración,una vez que se sientan con la confianza de probarlo presionan [ENTER] y deberán ver los cambios.
Como les decía, estos cambios al no encontrarse en su archivo .bashrc se perderan una vez que cierren la terminal, así que cuando yase sientan seguros completamente de realizar los cambios, pueden modificar el archivo sin problema, recuerden que cuentan con un respaldo, porque lo hicieron ¿cierto?.
Lo sé, algo minimalista y sin tanto adorno, pero así son mis gustos, sin embargo espero que ustedes pongan a volar su imaginación y hagan algo increíble con su prompt ya que en verdad, he visto que se pueden realizar cosas grandiosas. Y bien, creo que ha sido todo por ahora…solo bromeo, por aquí les dejaré algunos de los “argumentos” que pueden utilizar para modificar su prompt, sacados directamente desde la ArchWiki.

\a     carácter de campana ASCII (07)
\d     la fecha en formato día mes día (p.ej.,"mié jul 02")
\D{format}
    el formato es proporcionado a strftime(3) y el resultado es in    sertado en la cadena del indicador; un formato vacío resulta      en una representación de fecha especifica local. Las llaves       son requeridas.
\e     caracter de escape ASCII (033)
\h     el nombre del host hasta el primer `.'
\H     el nombre del la máquina completo (FQDN)
\j     el número de trabajos actualmente gestionados por el              interprete
\l     el nombre base del dispositivo de terminal del interprete
\n     carácter de nueva línea
\r     retorno de carro
\s     el nombre del interprete, el nombre base de $0 (el                fragmento que sigue a la última diagonal)
\t     la hora actual en formato 24-horas HH:MM:SS
\T     la hora actual en formato 12-horas HH:MM:SS
\@     la hora actual en formato 12-horas AM/PM
\A     la hora actual en formato 24-houras HH:MM
\u     el nombre del usuario actual
\v     la versión del pquete bash (p.ej., 2.00)
\V     la versión del paquete bash + el nivel de parche                  (p.ej., 2.00.0)
\w     el directorio actual de trabajo, con el directorio $HOME          abreviado con una tilde
\W     el nombre base del directorio actual de trabajo, con el directorio $HOME abreviado con una tilde
\!     el número del comando actual en el histórico
\#     el número de comando del comando actual
\$     si el UID efectivo es 0, un #; en otro caso, $
\nnn   el caracter correspondiente al número en octal nnn
\\     una diagonal invertida
\[     inicio de una secuencia de caracteres no imprimibles que          pueden usarse para ingresar una secuencia de control en el        indicador de la terminal
\]     fin de una secuencia de carácteres no imprimibles

También les dejo algunas combinaciones de colores…

Negro       0;30     Gris Obscuro  1;30
Azul        0;34     Azul Claro    1;34
Verde       0;32     Verde Claro   1;32
Cyan        0;36     Cyan Claro    1;36
Rojo        0;31     Rojo Claro    1;31
Purpura     0;35     Fiuscha       1;35
Café        0;33     Amarillo      1;33
Gris Claro  0;37     Blanco        1;37

Una vez que hayan modificado a su gusto su prompt, solo es cosa de volver a abrir la terminal para ver sus cambios definitivos, o ejecutar el comando bash.

Espero les sirva de algo, creo que es la entrada mas larga que he escrito, pero debo confesarles que me divertí mucho, espero ustedes también lo hagan, y bueno, sigan pasando por el blog.

Hasta la próxima entrada.

Saludos.

TOR en Firefox OS

Bueno, como esto no deja de ser un “blog”, quiero aprovechar estos minutos libres que tengo, para comentarles este proyecto que traigo entre manos.

Se trata de poder navegar bajo la red TOR en Firefox OS, actualmente solo tengo un equipo para pruebas, se trata de mi querido Alcatel OT Fire.

Si no sabes que es, te recomiendo visitar el sitio oficial TOR.

Bien, hasta ahora todo parece ir de buena manera, al ejecutarlo vía ADB, corre “bien”, ya que en ocasiones no detecta la red y por ende no se puede navegar. Recordemos que en el navegador de nuestro equipo, aún no lleva implementada la opción de configurar proxys.

Les comentaré un poco, de que va la cosa:

  • Primero, es necesario compilar los binarios de TOR y copiarlos a nuestro equipo, este es un proceso “sencillo” para usuarios intermedios diría yo.
  • Luego debemos crear ciertas reglas de IPTABLES en nuestro dispositivo.
  • Debemos entonces acudir a nuestro equipo y verificar que podamos navegar, pero sobre todo, que estemos corriendo bajo la red cebolla. 😀

Como podrán observar, requiere de ciertos conocimientos, y no es una tarea sencilla, además de que no nos sirve de nada que tengamos que activar la navegación desde una PC ya que al reiniciar el equipo la configuración de IPTABLES vuelve a la normalidad.

Sigo tratando de codear una “app” que haga este proceso directamente desde el dispositivo. Por eso aún no he liberado los binarios ni nada de información.

También traigo entre manos un cliente para Twitter y la posibilidad de llevar y ejecutar Python en nuestro sistema, con este ultimo, estoy igual que con TOR, con ayuda de una PC funciona, pero aún debo hacer una “app” que lo haga desde el equipo. Me disculpo si no dejo imágenes, pero dejé mi teléfono olvidado en casa 🙁 Luego actualizaré la entrada.

Aprovecho de una vez, para disculparme si los enlaces del sitio tienen publicidad, pero es por ahora, la única forma que tengo de obtener un poco de ayuda monetaria, si piensan que mi trabajo es interesante, y desean apoyarme y motivarme a seguir trabajando de esta manera, usen los enlaces tal cual los dejo en el sitio, o si gustan hacerme alguna donación, déjenme un comentario, o envíen un mensaje a mi correo para contactarme y ver de que manera podrían apoyarme.

Saludos. 🙂