[LINUX] Sehr praktische Kombination von CLI Image Viewer Überzug und Ranger

Einführung

Ranger, ein Dateimanager für Konsolen, der mit Vim-ähnlichen Tastenkombinationen betrieben werden kann, verfügt über eine schnelle Live-Vorschau, Textinhalte, Bilder und Einstellungen. Sie können auch die Miniaturansichten von PDF-Dokumenten und -Videos auf dem gestochen scharfen Terminal überprüfen.

Sie können den Bildanzeigemechanismus von w3ms w3mimgdisplay und Macs iTerm2 verwenden, um die Bildanzeige im Viewer zu realisieren. Kürzlich habe ich jedoch erfahren, dass er auch ein Tool namens "Überzug" unterstützt, also dieses Tool selbst und Ranger Ich möchte vorstellen, wie man mit kombiniert.

Über Überzug

Überzug ist ein Befehlszeilenprogramm, mit dem Sie mithilfe von untergeordneten Fenstern Bilder auf Ihrem Gerät zeichnen können. Laut Readme verfügt es über die folgenden Funktionen.

Und so weiter. Lass es uns sofort benutzen.

Installation

Es wird von pip mit einem von Python erstellten Tool installiert, hängt jedoch von X11 und Xext ab, sodass es anscheinend nur auf dem Betriebssystem verwendet werden kann, das auf dem X Window System ausgeführt wird. Ich habe es auf Ubuntu 20.04 LTS versucht. Ich konnte es mit WSL2 & x410 (X-Server für WSL) installieren, aber es funktionierte aufgrund eines Fehlers nicht richtig.

Führen Sie die folgenden Schritte aus, um die erforderlichen Bibliotheken und Überzug zu installieren.

~% 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

wie benutzt man

Wenn Sie es erfolgreich installieren können, bereiten Sie das folgende Skript als Testversion vor und verwenden Sie es über die Shell. Da es mit der Funktion "X" rendert, spielt es wahrscheinlich keine Rolle, um welche Art von Terminalemulator es sich handelt.

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
)

Wenn Sie "chmod + x show.sh" ausführen und wie "./show.sh images / AX141105107519_TP_V4.jpg 50 10 20 20" klicken, img.png Sie können ein Bild in beliebiger Größe an einer beliebigen Stelle auf dem Terminal wie folgt anzeigen. Drücken Sie erneut die [Eingabetaste], um den Vorgang zu beenden.

Es scheint viele andere Optionen zu geben. Weitere Informationen finden Sie bei Github.

Versuchen Sie es mit Ranger

Lassen Sie uns die Vorlage von $ HOME / .config / ranger / rc.conf nach ranger --copy-config = all in Ranger 1.9.3 überprüfen.

$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.

Da es einen Kommentar gibt, setzen Sie set template_images_method wie folgt.

set preview_images_method ueberzug

Das ist in Ordnung.

Sie können "Bild- / PDF- / Video-Miniaturansichten" mit einer solchen explosiven Geschwindigkeit in der Vorschau anzeigen. Peek 2020-07-16 10-18.gif

Es scheint kein Problem zu geben, selbst wenn die Anzeige in jedem Bereich durch tmux geteilt oder das Fenster geschaltet wird. Das Bild wird nicht verschwinden oder bleiben. Peek 2020-07-16 10-28.gif

Ich konnte Bilder auf die gleiche Weise anzeigen, wenn Ranger im Terminalmodus von Vim gestartet wurde. Ich glaube, ich habe es nicht mit einem Plug-In versucht, das mit Ranger funktioniert, aber ich denke, es kann verwendet werden.

abschließend

Derzeit sind die Betriebssysteme, die verwendet werden können, begrenzt. Wenn Sie jedoch regelmäßig Linux Desktop verwenden, können Sie es sehr bequem verwenden. Persönlich möchte ich es mit einer Kombination aus Windows 10 (WSL2) und X-Server verwenden können.

Dann probieren Sie es bitte aus!

Recommended Posts

Sehr praktische Kombination von CLI Image Viewer Überzug und Ranger
Kombination von rekursiv und Generator
Kombination von anyenv und direnv