Esto no es algo ineludible en absoluto. Tunear un escritorio no es algo que tu sistema precise, pero es cierto que hay gente que nos gusta esto de personalizar los detalles de nuestro entorno de escritorio. A mi, por ejemplo, no me gusta cualquier cosa. Hay muchos DE que me echan para atrás y otros que por más que maquille a la mona, mona se queda. Tengo que trabajar en un entorno agradable, no me van los escritorios de la edad de piedra, la iconografía que me produce un triste lagrimón (un saludo a Adwaita). Es por ello que me entretengo a dejar maqueada y vistosa la presencia de mi sistema. Lo que es importante para mi, quizás no lo sea para ti, y para aquellos que sí les es importante, les dedico esta entrada.

Neofetch

Ya sabes lo que es Neofetch. Este script muestra cuando es invocado en la terminal, cierta información de tu sistema operativo, como el Kernel que usas, el entorno de escritorio, la distribución, la memoria RAM.. pero es que además puede mostrar mucho más, incluso la música que estás escuchando en ese momento con ciertos reproductores multimedia. Todo ello podrás verlo en .config/neofetch/config.conf. En este archivo puedes cambiar muchos parámetros, así como eliminar otros que no quieres que se vean mostrados en la terminal. Config.conf es algo así:

# See this wiki page for more info:
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
print_info() {
info title
info underline
info "OS" distro
info "Host" model
info "Kernel" kernel
info "Shell" shell
info "DE" de
info "WM" wm
info "Terminal" term
info "Terminal Font" term_font
info "CPU" cpu
info "GPU" gpu
info "Memory" memory
info "GPU Driver" gpu_driver # Linux/macOS only
info "CPU Usage" cpu_usage
# info "Disk" disk
# info "Battery" battery
# info "Font" font
# info "Song" song
# [[ "$player" ]] && prin "Music Player" "$player"
# info "Local IP" local_ip
# info "Public IP" public_ip
# info "Users" users
# info "Locale" locale # This only works on glibc systems.
info cols
}

El archivo es mucho más extenso, con muchas opciones disponibles. Sin embargo, para visualizar neofetch debes invocarlo desde la terminal. Hay solución a esto para no tener que estar introduciendo manualmente neofetch como orden en la consola. Tan sólo edita .bashrc y añade al final:

neofetch

Guarda pero no cierres el archivo. Cuando ejecutes la terminal, aparecerá neofetch mágicamente.
Neofetch se encuentra en todos los repositorios de todas las distribuciones.

Powerline-shell

Powerline-shell es otro script escrito en Python que le da estilo a tu terminal. No tiene nada que ver con neofetch, powerline-shell sólo es un trazo de texto decorado en bash. Descarga el paquete comprimido desde aquí, descomprime y entra en el directorio creado. Escribe:

sudo python setup.py install

Se instalará sin problemas, pero no verás nada. Para disfrutar de powerline-shell tenemos que editar de nuevo el archivo .bashrc. Tienes que dejarlo así:

#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
PS1="\[\033[01;32m\]\u@\h\[\033[00m\]: \[\033[01;34m\]\w\[\033[00m\]\n$ "
export EDITOR=nano
export LANG=es_ES.UTF-8
setxkbmap es
function _update_ps1() {
PS1=$(powerline-shell $?)
}
if [[ $TERM != linux && ! $PROMPT_COMMAND =~ _update_ps1 ]]; then
PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi
neofetch

Ahora sí, guarda y cierra el archivo.

Ahora vamos a cambiar un poco el aspecto de powerline-shell. Hay algunos temas, como solarized_dark, solarized_light, basic, default, gruvbox, washed. Vamos a generar el archivo .json donde podemos cambiar el tema. Escribe en la terminal:

mkdir -p ~/.config/powerline-shell && \
powerline-shell --generate-config > ~/.config/powerline-shell/config.json

Hemos generado el archivo de configuración. Vamos a /.config/powerline-shell/config.json a editarlo. Por ejemplo, cambiaremos al tema solarized_light:

{
"segments": [
"virtual_env",
"username",
"hostname",
"ssh",
"cwd",
"git",
"hg",
"jobs",
"root"
]
,
"mode": "flat",
"cwd": {
"mode": "plain",
"max_depth": 4
},
"theme": "solarized_light"
}

Y el resultado: