[LINUX] Combinaison très pratique de la visionneuse d'images CLI Überzug et Ranger

introduction

Ranger, un gestionnaire de fichiers pour consoles qui peut être utilisé avec des raccourcis clavier de type Vim, offre un aperçu en direct rapide, ainsi que du contenu texte, des images et des paramètres. Vous pouvez également consulter les miniatures des documents PDF et des vidéos sur le terminal Crisp.

Vous pouvez utiliser le mécanisme d'affichage d'image de w3m w3mimgdisplay et Mac iTerm2 pour réaliser l'affichage d'image dans la visionneuse, mais j'ai récemment appris qu'il prend également en charge un outil appelé Überzug, donc cet outil lui-même et Ranger Je voudrais vous présenter comment combiner avec.

À propos d'Überzug

Überzug est un utilitaire de ligne de commande qui vous permet de dessiner des images sur votre appareil à l'aide de fenêtres enfants, et selon readme, il présente les fonctionnalités suivantes.

--Il n'y a pas de conditions de conflit car une nouvelle fenêtre est créée pour afficher l'image.

Etc. Utilisons-le immédiatement.

Installation

Il est installé par pip avec un outil fabriqué par Python, mais cela dépend de X11 et Xext, il semble donc qu'il ne puisse être utilisé que sur le système d'exploitation fonctionnant sur le système X Window. Je l'ai essayé sur ʻUbuntu 20.04 LTS`. Je pourrais l'installer avec WSL2 & x410 (serveur X pour WSL), mais cela n'a pas fonctionné correctement en raison d'une erreur.

Suivez les étapes ci-dessous pour installer les bibliothèques requises et Überzug.

~% sudo apt-get install python3 python3-dev libx11-dev libxext-dev python3-distutil
~% curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
~% sudo python3 get-pip.py
~% sudo pip3 install ueberzug

comment utiliser

Si vous pouvez l'installer avec succès, préparez le script suivant et utilisez-le à partir du shell. Puisqu'il est rendu en utilisant la fonction de X, peu importe le type d'émulateur de terminal.

show.sh


#!/bin/bash
[ -z "$5" ] && echo "Usage: $0 <image> <x> <y> <max height> <max width>" && exit

source "`ueberzug library`"

ImageLayer 0< <(
    ImageLayer::add [identifier]="example0" [x]="$2" [y]="$3" [max_width]="$5" [max_height]="$4" [path]="$1"
    read
)

Si vous faites chmod + x show.sh et appuyez dessus comme ./show.sh images / AX141105107519_TP_V4.jpg 50 10 20 20, img.png Les images peuvent être affichées dans n'importe quelle taille à n'importe quel endroit du terminal comme ceci. Appuyez à nouveau sur [Entrée] pour quitter.

Il semble y avoir de nombreuses autres options, veuillez donc vous référer à Github pour plus de détails.

Essayez d'utiliser de Ranger

Vérifions le modèle de $ HOME / .config / ranger / rc.conf après ranger --copy-config = all dans Ranger 1.9.3.

$HOME/.config/ranger/rc.conf


# * ueberzug:
#   Preview images in full color with the external command "ueberzug".
#   Images are shown by using a child window.
#   Only for users who run X11 in GNU/Linux.

Puisqu'il y a un commentaire, définissez set preview_images_method comme suit.

set preview_images_method ueberzug

C'est acceptable.

Vous pouvez prévisualiser les "vignettes d'image / PDF / vidéo" à une vitesse explosive comme celle-ci. Peek 2020-07-16 10-18.gif

Il semble qu'il n'y ait aucun problème même si l'affichage dans chaque volet divisé par tmux ou la fenêtre est commuté. L'image ne disparaîtra pas ou ne restera pas. Peek 2020-07-16 10-28.gif

J'ai pu afficher des images de la même manière avec Ranger lancé en mode terminal de Vim, donc je pense que je ne l'ai pas essayé avec un plug-in qui fonctionne avec Ranger, mais je pense qu'il peut être utilisé.

en conclusion

Actuellement, le système d'exploitation qui peut être utilisé est limité, mais si vous êtes un utilisateur régulier de Linux Desktop, vous pouvez l'utiliser très facilement. Personnellement, j'aimerais pouvoir l'utiliser avec une combinaison de Windows 10 (WSL2) et de serveur X.

Alors, veuillez essayer!

Recommended Posts

Combinaison très pratique de la visionneuse d'images CLI Überzug et Ranger
Combinaison de récursif et de générateur
Combinaison de anyenv et direnv