17 novembre 2017

Byobu et zsh, un presque iTerm2 pour Linux

Présentation de byobu, un terminal qui combine tmux et screen, et comment le configurer avec zsh et oh-my-zsh pour une expérience proche d'iTerm2 sous Linux.

Ça fait un moment que j’utilise byobu (un terminal qui mixe tmux et screen, compatible Linux) — un ami me l’avait conseillé il y a bien 5 ou 6 ans. Mais depuis quelque temps j’entends beaucoup de gens faire l’éloge du terminal iTerm2 pour macOS, alors voyons comment s’en approcher sous Linux.

Avant toute chose, voici un petit aperçu de byobu (merci à Dustin Kirkland pour le tuto, vous trouverez d’autres vidéos sur sa chaîne) : Learn Byobu while listening to Mozart (vidéo YouTube).

Malheureusement (ou heureusement !) je ne suis pas encore prêt à lâcher mon petit Linux que j’aime tant. Je me suis donc penché un peu plus sur byobu, qui a quand même de bons atouts.

Byobu fonctionne sous macOS, Linux et BSD. En ajoutant un peu de configuration et en le couplant à zsh, vous obtiendrez presque l’équivalent d’un iTerm2. Attention, je n’ai jamais vraiment utilisé iTerm2, donc ne venez pas me reprocher d’avoir oublié des fonctionnalités essentielles.

Installer Byobu

Rien de bien compliqué, il est présent dans la plupart des dépôts :

DistributionCommande
Alpine Linuxapk add byobu
Archpacman -Sy byobu
Debianapt install byobu
Fedorayum install byobu
Gentooemerge byobu
macOSbrew install byobu
Mintapt install byobu
Ubuntuapt install byobu

Installer zsh

Ici non plus, rien de compliqué :

apt install zsh
yum install zsh

Configurer byobu

Pour activer l’intégration de la souris, il faut configurer tmux :

cat <<EOF > ~/.byobu/.tmux.conf
set -g mouse on
set -g mouse-utf8 on
EOF

Vous pourrez dès à présent interagir avec votre terminal (changer de fenêtre, naviguer dans votre tmux avec la souris, scroller avec la molette). Pas d’inquiétude, vous pourrez toujours utiliser le presse-papier de votre souris en maintenant la touche shift enfoncée lors de la sélection et du clic molette.

Configurer zsh

Pour bien configurer zsh, je ne peux que vous conseiller de passer par oh-my-zsh. Pour l’installer, exécutez la ligne ci-dessous :

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Choisissez votre thème et vos plugins, puis ajoutez-les à votre fichier ~/.zshrc :

# Path to your oh-my-zsh installation.
export ZSH=/home/ivanov/.oh-my-zsh

# Set name of the theme to load.
ZSH_THEME="bureau"

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
plugins=(git ubuntu screen git-flow npm pip zsh-completions kubectl helm docker aws)

#Options
setopt correct

source $ZSH/oh-my-zsh.sh

Utilisation

Et voilà, le plus dur est fait ! Il ne vous reste plus qu’à apprendre les raccourcis pour bien maîtriser byobu. Pour cela, je vous recommande la page de la doc Ubuntu : https://doc.ubuntu-fr.org/byobu#tres_utiles. Vous trouverez également un cheat sheet qui résume bien les raccourcis clavier : https://gist.github.com/devhero/7b9a7281db0ac4ba683f.

Pour finir, une vidéo de Wes Bos qui montre quelques avantages de zsh : Learning & Discovering ZSH Features - Command Line Power User (7/11) (vidéo YouTube).