fff el gestor de archivos jodidamente rápido para la línea de comandos de #Linux

fff o Fucking Fast File-manager es un gestor de archivos escrito en Bash con el que podrás explorar tus archivos y gestionarlos en la línea de comandos de manera rápida e indolora.

La línea de comandos de GNU/Linux es una herramienta que con el tiempo aprenderás a utilizar y a sacarle todo el potencial.

Además hay buenas herramientas para la línea de comandos que hacen que esta se vuelva más potente, y a veces la opción necesaria (ya sabes eso de “if there’s a shell, there’s a way”)

En este caso veremos una aplicación sencilla pero potente, escrita en Bash. Se trata de fff un gestor de archivos para la terminal de GNU/Linux con interesantes opciones. Veamos cómo instalarlo en nuestro equipo y empezar a utilizarlo.

Sigue leyendo

Cambiar el color del prompt en openSUSE 12.3

¿Quieres darle una toque de color al prompt de tu consola Linux? Te enseño cómo lo hice yo, por si te funciona.

consola-linux-shell

Hace un tiempo escribí un artículo sobre cómo cambiar el color del prompt en openSUSE. Puedes ver ese artículo en este enlace:

En openSUSE cuando te logueas como superusuario el prompt se pone de color rojo, para recordarte que lo que hagas será como superusuario, así que atente a las consecuencias.

Creo que es una buena idea, pero también me pareció una buena idea, y además muy útil, el marcar de otro color el prompt cuando estes logueado como un usuario normal. Y estando en openSUSE que mejor que el color verde?

Cuando listas unos archivos o escribes varias líneas en la consola, el color verde del prompt ayuda a distinguir dónde comienza una línea y empieza otra, creo que es muy útil… Así que echando mano de mi propio artículo, una vez instalada openSUSE 12.3 quise volver a poner el prompt de color verde. Pero la sorpresa fue, cuando ví que el código para realizarlo había cambiado, así que no me valía.

Para hacer que el prompt cambie de color o para editar otras configuraciones de la consola, hay que editar como superusuario el archivo que se encuentra en la siguiente dirección:

  •  /etc/bash.bashrc

Bueno, una vez abierto estuve tratando de ver cómo podía modificarlo, hasta conseguir lo que quería, después de unas cuantas pruebas. Puedes ver el resultado en esta captura. Haz click sobre la imagen para ampliar:

captura_prompt

Captura prompt

Os dejo la parte del código que modifique para que la comparéis con lo que tenéis vosotros en vuestro archivo y lo modifiquéis si os interesa, o juguéis como mejor os parezca. No pongo todo el archivo, si no la parte en la que hice las modificaciones:

# Other prompting for root
 if test "$UID" -eq 0 ; then
 if test -n "$TERM" -a -t ; then
 _bred="$(path tput bold 2> /dev/null; path tput setaf 1 2> /dev/null)"
 _sgr0="$(path tput sgr0 2> /dev/null)"
 fi
 # Colored root prompt (see bugzilla #144620)
 if test -n "$_bred" -a -n "$_sgr0" ; then
 _u="\[$_bred\]\h:"
 _p="\w > #\[$_sgr0\]"
 else
 _u="\h: "
 _p="\w > #"
 fi
 
 unset _bred _sgr0
 else
 #_u="\u@\h"
 _u="\[\e[32m\]\u@\h:\w\>\[\e[m\]"
 _p=""
 fi
 if test -z "$EMACS" -a -z "$MC_SID" -a -z "$restricted" -a \
 -n "$DISPLAY" -a ! -r $HOME/.bash.expert
 then
 _t="\[\$(ppwd)\]"
 else
 _t=""
 fi
 case "$(declare -p PS1 2> /dev/null)" in
 *-x*PS1=*)
 ;;
 *)
 # With full path on prompt
 #PS1="${_t}${_u}:\w${_p} "
 PS1="${_t}${_u}${_p} "
 #PS1="\[\e[32m\]\u@\h:\w\>\[\e[m\] "
# # With short path on prompt
# PS1="${_t}${_u}:\$(spwd)${_p} "
# # With physical path even if reached over sym link
# PS1="${_t}${_u}:\$(pwd -P)${_p} "
 ;;
 esac
 unset _u _p _t
 ;;

—————————————————-

Cambiar color del prompt en openSUSE

Seguro que sabes que es el prompt, por si no lo sabes, aqui una explicación de la wikipedia:

Se llama prompt al carácter o conjunto de caracteres que se muestran en una línea de comandos para indicar que está a la espera de órdenes. Éste puede variar dependiendo del intérprete de comandos y suele ser configurable.

En mi caso mi prompt al ver la consola es este:

victorhck@openSUSE:~\>

Utilizando la consola en Linux en general y en openSUSE en particular, al loguearte como superusuario, el prompt cambia a color rojo, esto te indica que debes tener cuidado con las acciones que realices, ya que con estos privilegios puedes realizar operaciones que den al traste con el sistema , o con información de otros usuarios.

Parece que esta mejora fue reportada a Bugzilla desde 2006 y desde entonces se mantiene, ya que es muy útil. Pues igual de útil que esto, me pareció a mi hacer que cuando estes como usuario normal, el prompt esté coloreado de otro color distinto del texto normal, por ejemplo verde, ya que estamos con openSUSE 😉 .

Me parece igual de útil, ya que al hacer un listado de varios directorios, o en otras ocasiones, no puedes distinguir dónde empezaba una línea y terminaba, lo que mostraba el comando. Así que decidí “darle color”. Buscando un poco encontŕe que los datos del prompt se guardan en la variable de sistema PS1.

Así, puedes ver los valores del tuyo con el siguiente comando.

echo $PS1

Las características de la consola se guardan en el siguiente archivo de configuración: /etc/bash.bashrc. Por tanto editándolo podemos cambiar el valor de PS1 y adaptarlo a lo que queremos. Lo abrimos como root con nuestro editor favorito. a mi me muestra lo siguiente, no lo pongo entero, si no sólo la parte que modifiqué:

  case "$(declare -p PS1 2> /dev/null)" in
 *-x*PS1=*)
 ;;
 *)
 # With full path on prompt
 # >>>> Quito la linea inferior
 # PS1="${_t}${_u}:\w${_p} "
 # >>>> Añado esta para colorear el prompt de verde
 PS1="\[\e[32m\]\u@\h:\w\>\[\e[m\] "
# # With short path on prompt
# PS1="${_t}${_u}:\$(spwd)${_p} "
# # With physical path even if reached over sym link
# PS1="${_t}${_u}:\$(pwd -P)${_p} "
 ;;
 esac
 # Colored root prompt (see bugzilla #144620)
 if test "$UID" -eq 0 -a -n "$TERM" -a -t ; then
 _bred="$(path tput bold 2> /dev/null; path tput setaf 1 2> /dev/null)"
 _sgr0="$(path tput sgr0 2> /dev/null)"
 # >>> modifico la línea inferior 
 # PS1="\[$_bred\]$PS1\[$_sgr0\]"
 PS1="\[$_bred\]${_t}${_u}:\w${_p}\[$_sgr0\]"
 unset _bred _sgr0
 fi

Marco en rojo las modificaciones para que veas que he cambiado, quitado o añadido. Guardas los cambios y verás la vida de otro color, o por lo menos la consola!  😉

Aqui dejo una captura de Yakuake. Pincha sobre la imagen para ampliar.

Espero que te haya servido y te sea útil.

EDITO: Si lo quieres hacer para tu openSUSE 12.3 este método no te vale, ya que ha cambiado el código del archivo que hay que modificar. Para hacerlo mira este enlace: https://victorhckinthefreeworld.wordpress.com/cambiar-el-color-del-prompt-en-opensuse-12-3/

——————————————————————————————–