Soy de los que adora usar el terminal. Creo que todos los usuarios de GNU/Linux en un momento dado no pueden vivir sin ella, porque ese pedazo de ventana llena de letras nos facilita bastante la vida ¿Cierto?
Pero podemos hacer que se vea un poco más bonita que como viene por defecto. Un ejemplo de ello lo podemos ver (y descargar) desde gnome-look. El tips que le mostraré a continuación, es para dejar nuestro terminal con la siguiente apariencia:
Como pueden ver, se resalta el comando a ejecutar y se pone entre cada orden una línea de tiempo con la hora del sistema.
¿Cómo lo hago?
Abrimos un editor de texto (ejemplo Gedit) y le ponemos adentro:
# Fill with minuses
# (this is recalculated every time the prompt is shown in function prompt_command):
fill="--- "
reset_style='\[\033[00m\]'
status_style=$reset_style'\[\033[0;90m\]' # gray color; use 0;37m for lighter color
prompt_style=$reset_style
command_style=$reset_style'\[\033[1;29m\]' # bold black
# Prompt variable:
PS1="$status_style"'$fill \t\n'"$prompt_style"'${debian_chroot:+($debian_chroot)}\u@\h:\w\$'"$command_style "
# Reset color for command output
# (this one is invoked every time before a command is executed):
trap 'echo -ne "\e[0m"' DEBUG
function prompt_command {
# create a $fill of all screen width minus the time string and a space:
let fillsize=${COLUMNS}-9
fill=""
while [ "$fillsize" -gt "0" ]
do
fill="-${fill}" # fill with underscores to work on
let fillsize=${fillsize}-1
done
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
bname=`basename "${PWD/$HOME/~}"`
echo -ne "\033]0;${bname}: ${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"
;;
*)
;;
esac
}
PROMPT_COMMAND=prompt_command
Lo guardamos dentro de nuestro /home con el nombre .bash_ps2 por ejemplo. Luego abrimos nuestro .bashrc y le añadimos:
if [ -f "$HOME/.bash_ps2" ]; then
. "$HOME/.bash_ps2"
fi
Abrimos un terminal y podremos ver los cambios 😀
Visto en: HumanOS.
17 comentarios, deja el tuyo
Gracias por el blog ante todo y una preguntilla, ¿hay alguna posibilidad de personalizar xterm o lxterminal mas allá del color del texto y del fondo?(son los terminales que mas uso).
Gracias¡¡
GENIALLLLLLLLLLLLLLL 🙂
Lo intenté hace una semana cuando leí este tema en otro blog, pero por un problema con las comillas en lo que había que agregar al .bashrc no lo pude utilizar. Ahora sí de primera me funcionó correctamente.
Gracias.
Un placer saber que hizo justo lo que deseabas 😉
Saludos
:] excelente si hace lo que creo que imagino… weeee, me lo instalo este fin de semana 😀
De hecho lo mejoré jeje… le puse más coloretes y se vé mucho mejor, haré un post publicando mis mejoras y modificaciones 😉
Edited: En vez de poner eso en .bash_ps2 pon esto otro: http://paste.desdelinux.net/paste/6
Me da error en las líneas 13 y 34.
Ya somos 2 😀
Joder, otro programador del lado oscuro…
Dejo aquí el code, no sé por qué les dá error… a mí me funciona bien o_0U:
# Fill with minuses
# (this is recalculated every time the prompt is shown in function prompt_command):
fill="--- "
reset_style='\[\033[00m\]'
status_style=$reset_style'\[\033[0;90m\]' # gray color; use 0;37m for lighter color
prompt_style=$reset_style
command_style=$reset_style'\[\033[1;29m\]' # bold black
# Prompt variable:
PS1="$status_style"'$fill \t\n'"$prompt_style"'${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m$
# Reset color for command output
# (this one is invoked every time before a command is executed):
trap 'echo -ne "\e[0m"' DEBUG
function prompt_command {
# create a $fill of all screen width minus the time string and a space:
let fillsize=${COLUMNS}-9
fill=""
while [ "$fillsize" -gt "0" ]
do
fill="-${fill}" # fill with underscores to work on
let fillsize=${fillsize}-1
done
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
bname=`basename "${PWD/$HOME/~}"`
echo -ne "\033]0;${bname}: ${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"
;;
*)
;;
esac
}
PROMPT_COMMAND=prompt_command
Muy guapo esto, lo acabo de probar y funciona 100% ubuntu 11.10
Saludo!!
Pues a mi también me da error en linea 13 y 34
línea 13: EOF inesperado mientras se buscaba un `» coincidente
línea 34: error sintáctico: no se esperaba el final del fichero
uso linux mint 11 lxde por si sirve de algo.
Saludos!
Funciona 100% con el usuario normal, pero en el momento en el que te haces superusuario deja de funcionar, no hace nada. Supongo que es facil, pero no se hacer mucho, ¿¿alguna solución??
Lo que pones en tu .bashrc, debes ponerlo también en /root/.bashrc
Has la prueba y nos dices qué tal 🙂
Saludos 😀
Funciona perfectamente, no se como no lo intente antes de preguntar. Gracias
Nah no te preocupes 🙂
ooye amigo si me ayudaras por favor lo probe pero no me aparece el circulo y sigue en negro, uso fedora19, la linea d tiempo si aparece… igual muchas gracias por tu aporte 🙂
esto funciona igual en Debian???