Hacemos que la terminal de Linux sea hermosa y cómoda

Todos los distribuciones de Linux vienen con un emulador de terminal funcional y personalizable. En internet, y a veces incluso en la misma terminal, hay una gran cantidad de temas disponibles para que se vea bien. Sin embargo, para hacer que una terminal estándar (en cualquier entorno de escritorio de cualquier distribución) sea atractiva y, al mismo tiempo, cómoda y fácil de usar, he dedicado mucho tiempo. Entonces, ¿cómo hacer que la terminal predeterminada sea cómoda y agradable de usar?

Añadiendo funcionalidad

Shell de comandos

La mayoría de las distribuciones viene con Bash integrado. Usando complementos puedes convertirlo en lo que quieras, pero es mucho más fácil lograrlo con Zsh. ¿Por qué?

  • Mecánica avanzada de autocompletado de comandos al presionar <Tab> o <Flecha arriba>. A diferencia de Bash, no necesitas configurarlo, todo funciona a un nivel superior directamente "fuera de la caja".
  • Una gran cantidad de temas, módulos, complementos y más. Personalización a través de frameworks (oh-my-zsh, prezto, etc.), que amplían significativamente las posibilidades de personalización y mejora de la terminal. Nuevamente, todo esto se puede lograr también en Bash, pero para Zsh hay una gran cantidad de materiales ya disponibles. Para Bash, son considerablemente menos, y algunos incluso no existen.

Estas son las razones principales por las que cambié de Bash a Zsh. Además de esto, Zsh tiene muchas otras "ventajas".

Configuración de Zsh

Para empezar, instalaremos Zsh (si ya está instalado, por ejemplo, como en Manjaro, puedes omitir este paso):

sudo apt install zsh

Cuando se te pida configurar Zsh como la shell predeterminada, presiona Y, para confirmar.

Oh-My-Zsh — un framework popular y en activo desarrollo para Zsh, que permite configurar la shell del terminal de manera flexible. Vamos a instalarlo:

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

zsh: command not found: curl
Instala curl:

sudo apt install curl

Resaltado de sintaxis. Es mucho más fácil navegar por el contenido de la terminal cuando diferentes partes de los comandos están resaltadas en diferentes colores. Por ejemplo, los directorios se subrayan y los comandos se destacan en un color diferente al del texto normal. Instalemos el complemento zsh-syntax-highlighting:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

zsh: command not found: git
Instala git:

sudo apt install git

Para que el complemento funcione, debe habilitarse.

En el archivo ~/.zshrc cambiamos la línea con plugins=:

plugins=(git zsh-syntax-highlighting)

Si no hay tal línea, añádela.

¡Listo! Estamos obteniendo un terminal cómodo y funcional. Ahora lo haremos visualmente atractivo.

Configurando la apariencia

Instalando el tema PowerLevel10K:

git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

Descargando y añadiendo la fuente al sistema JetBrains Mono Nerd (con iconos):
Seleccione uno de la lista, en la carpeta fuente/complete elija la fuente sin «Compatible con Windows», con extensión «Mono».

Conectando la fuente y el tema.

Editando ~/.zshrc.

Si ya hay estas líneas en el archivo, reemplácelas.

  • ZSH_THEME="powerlevel10k/powerlevel10k"
  • POWERLEVEL9K_MODE="nerdfont-complete"

Colores. Una parte importante del diseño del terminal es la paleta de colores. He probado muchas diferentes, las edité y me detuve en Monokai Dark. No es fatigante para los ojos, pero es agradable y brillante. Lista de colores:

[colors]

# special
foreground      = #e6e6e6
foreground_bold = #e6e6e6
cursor          = #fff
background      = #000

# black
color0  = #75715e
color8  = #272822

# red
color1  = #f92672
color9  = #f92672

# green
color2  = #a6e22e
color10 = #a6e22e

# yellow
color3  = #434648
color11 = #7ea35f

# blue
color4  = #66d9ef
color12 = #66d9ef

# magenta
color5  = #ae81ff
color13 = #ae81ff

# cyan
color6  = #adb3b9
color14 = #62ab9d

# white
color7  = #2AA198
color15 = #2AA198

En diferentes terminales, la paleta de colores cambia de diferentes maneras (normalmente, esto se hace a través de la configuración del terminal), pero el orden de los colores es siempre el mismo. Puede importar esta plantilla en formato Termite y exportarla para su terminal a través de terminal.sexy

Iniciando la configuración del tema: p10k configure.
Configure el tema eligiendo las opciones de visualización que más le gusten.

El toque final: cambiamos la configuración del tema y reemplazamos los colores predeterminados.

Editando el archivo ~/.p10k.zsh.

Si ya hay estas líneas en el archivo, reemplácelas. Los códigos de colores se pueden obtener con el comando

for i in {0..255}; do print -Pn "%K{$i}  %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'n'}; done

  • Mostrando solo el directorio actual:
    typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
  • Fondo del bloque del directorio:
    typeset -g POWERLEVEL9K_DIR_BACKGROUND=33
  • Colores de las flechas:
    typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=2

    y

    typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=1

  • Fondo de la rama Git:
    typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=15

Resultado

Hacemos que la terminal de Linux sea hermosa y cómoda
Error:
Hacemos que la terminal de Linux sea hermosa y cómoda
GIT:
Hacemos que la terminal de Linux sea hermosa y cómoda

Fuentes

Documentación de PowerLevel10K
Diseñador online de esquemas de colores para terminal
Diferencias entre Bash y Zsh

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster