Introducción
Zellij, un nuevo multiplexor de terminal escrito en Rust.
Entonces, en el próximo artículo vamos a echar un vistazo a Zellij. Este es un espacio de trabajo dirigido a desarrolladores y cualquier usuario al que le guste la terminal. En esencia, se trata de un terminal multiplexor (similar a tmux ) escrito en Rust .
Si por las características de las tareas que realizas habitualmente, el emulador de terminal que utilizas a diario se te queda corto, prueba este multiplexor de terminal que puede resultarte interesante. Zellij incluye un sistema de diseño y un sistema de complementos que le permite crear complementos en cualquier idioma que se compile en WebAssembly .
Características generales de Zellij
- Zellij, además de usar Rust, también proporciona un gran espacio de trabajo desde la terminal y el multiplexor , al igual que tmux y similares.
- Lo encontraremos disponible tanto para sistemas operativos Gnu/Linux como macOS .
- Al igual que otros multiplexores, Zellijpermite a los usuarios dividir el terminal en diferentes paneles y pestañas .Pero ha intentado diferenciarse de otros proyectos similares ofreciendo una forma interesante de organizar y redimensionar los paneles .
- La propia aplicación por defecto encontrará la mejor distribución dividida vertical u horizontal .Zellij incluye un motor de diseño que permite a los usuarios definir un mapa de panel en un archivo yaml y cargarlo cuando inician la aplicación. De esta forma, se pueden disponer los paneles como se desee sin tener que realizar todo el trabajo de configuración.
Descargar Zellij en CentOS 8
Para instalar el binario de este programa en CentOS, simplemente necesitaremosdescargar el paquete para Gnu/Linux desde la web del proyecto a través de este enlace a continuación.
ZellijTambién podemos usar wget para descargar el paquete , esto se puede hacer escribiendo en él el comando:
# wget https://github.com/zellij-org/zellij/releases/latest/download/zellij-x86_64-unknown-linux-musl.tar.gz
--2021-07-28 10:27:25-- https://github.com/zellij-org/zellij/releases/latest/download/zellij-x86_64-unknown-linux-musl.tar.gz
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github.com/zellij-org/zellij/releases/download/v0.15.0/zellij-x86_64-unknown-linux-musl.tar.gz [following]
--2021-07-28 10:27:27-- https://github.com/zellij-org/zellij/releases/download/v0.15.0/zellij-x86_64-unknown-linux-musl.tar.gz
Reusing existing connection to github.com:443.
HTTP request sent, awaiting response... 302 Found
Location: https://github-releases.githubusercontent.com/292014229/88c23bac-57bb-4a4c-98ca-cb56ffc62791?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210728%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210728T142727Z&X-Amz-Expires=300&X-Amz-Signature=a8de85e5cbb9dcea9724212c7bced6c79bb212551230b6ec5b6d0f7e25390c6e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=292014229&response-content-disposition=attachment%3B%20filename%3Dzellij-x86_64-unknown-linux-musl.tar.gz&response-content-type=application%2Foctet-stream [following]
--2021-07-28 10:27:27-- https://github-releases.githubusercontent.com/292014229/88c23bac-57bb-4a4c-98ca-cb56ffc62791?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210728%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210728T142727Z&X-Amz-Expires=300&X-Amz-Signature=a8de85e5cbb9dcea9724212c7bced6c79bb212551230b6ec5b6d0f7e25390c6e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=292014229&response-content-disposition=attachment%3B%20filename%3Dzellij-x86_64-unknown-linux-musl.tar.gz&response-content-type=application%2Foctet-stream
Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.110.154, 185.199.111.154, 185.199.108.154, ...
Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.110.154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3510111 (3.3M) [application/octet-stream]
Saving to: 'zellij-x86_64-unknown-linux-musl.tar.gz'
zellij-x86_64-unknown-linux-musl.tar. 100%[=======================================================================>] 3.35M 655KB/s in 5.4s
2021-07-28 10:27:34 (641 KB/s) - 'zellij-x86_64-unknown-linux-musl.tar.gz' saved [3510111/3510111]
Una vez finalizada la descarga, tendremos que extraer el archivo descargado :
# tar xzvf zellij-x86_64-unknown-linux-musl.tar.gz
zellij
Luego vamos a ir a la carpeta en la que se extrajo el paquete. El siguiente paso será instalar el binario en /usr/local/bin
# sudo install zellij /usr/local/bin
Entonces, una vez finalizada la instalación, solo necesitamos escribir zellij En la terminal :
# zellij
Nota :¿Necesita llamar la atención sobre algo en la línea de comandos? Pruebe cowsay, o una de estas otras herramientas de terminal, para resaltar lo que es importante en sus secuencias de comandos.
Comandos usados:
[root@unixcop ~]# cowsay HI Unixcop
[root@unixcop ~]# cowsay -f dragon "Run for cover, I feel a sneeze coming on."
Configuración de Zellij
Por defecto, Zellij buscará config.yaml en la configuración directorio.
La configuración predeterminada el orden del directorio es el siguiente:
- –config-dir bandera
- ZELLIJ_CONFIG_DIR variable de entorno
- $HOME/.config/zellij
- ubicación predeterminada
- Linux:/home/unixcop/.config/zellij
- ubicación del sistema (/etc/zellij )
Para pasar un archivo de configuración directamente a zellij:
# zellij --config [FILE]
o utilice el ZELLIJ_CONFIG_FILE variable de entorno.
Para comenzar sin cargar la configuración desde los directorios predeterminados:
# zellij options --clean
Para mostrar la configuración predeterminada actual:
# zellij setup --dump-config
Complementos
Una característica que hace que Zellij sea único es su sistema de complementos WebAssembly. ¡Esto permite a los desarrolladores de complementos escribir su complemento en cualquier idioma que pueda ejecutarse en WASI! Rust ofrece soporte de primera clase para WASI, pero otros lenguajes como C/C++, AssemblyScript, incluso Python deberían ser compatibles.
Diseños
Los diseños son archivos de configuración yaml que Zellij puede cargar al inicio. Estos archivos pueden describir un diseño de paneles de terminales y complementos que Zellij creará cuando se cargue. Para cargar un diseño con Zellij:
# zellij --layout-path /path/to/your/layout_file.yaml
para configurar el ejemplo de diseño de Zellij, puede consultar la Documentación de diseño que ofrece el sitio del proyecto.