我已经安装了 ranger 文件管理器和 rxvt-unicode 终端,我想让 ranger 在终端中显示图像预览。我还安装了 w3m,但无法预览图像。我认为这是 w3m 的问题,因为当我使用 w3m 加载网页时,没有出现任何图像。
编辑:当我加载网页和图像时,w3m 现在将显示图像,但 ranger 不会预览....
我正在运行 Ubuntu 18.04.4 LTS x86_64,我想我需要获得支持 pixbuf 的 urxvt,但我不知道如何获得它。我曾尝试搜索如何获得支持 pixbuf 的 urxvt,但似乎只有 arch 等的结果可用。
答案1
总结
- 在默认的 Ubuntu 终端上我安装了
ueberzug
:pip3 install ueberzug
- 在 ~/.config/ranger/rc.conf 的 rangers 配置中我添加了(或编辑了已经存在的)这两行:
set preview_images true
set preview_images_method ueberzug
- 效果非常好(而且在任何其他终端上也能正常工作)
我的其他尝试
我和你有同样的经历,我无法让它发挥作用,但我对你的试验有一些记录,还有一个相当简单的替代方案,实际上有效
首先,ubuntu 的 w3m 包不包含图像预览,因此您需要明确输入,sudo apt install w3m-img
然后您需要在路径上找到它,例如,/usr/lib/w3m/w3mimagedisplay
并将其添加到您的路径中。虽然这个 w3mimagedisplay 安装对我来说似乎有问题,但您可能有更好的运气。另一个答案建议的 kitty 也对我有用,尽管我没有时间更改我的默认终端,因为我有很多配置。所以我认为这些解决方案更“轻量级”,因为它只需要一个 python 脚本即可运行。尽管 kitty 是一个方便的终端,许多人可能更喜欢它。
2022 年 12 月 1 日更新
不再建议使用此解决方案,因为ueberzug
现在项目尚未积极开发,安装起来相当困难。
但..
如果坚持使用此方法,你可以使用以下命令手动构建 ueberzug:
sudo apt install libxext-dev libx11-dev -y
git clone --depth 1 --branch 18.1.9 https://github.com/seebye/ueberzug.git
cd ueberzug
python3 setup.py install
答案2
Ranger 默认未启用图像预览。您需要在其配置文件中启用它。
首先,如果您还没有用户特定的配置文件,请通过复制默认配置文件来创建一个:
mkdir -pv ~/.config/ranger/
cp -vi /usr/share/doc/ranger/config/rc.conf ~/.config/ranger/rc.conf
然后~/.config/ranger/rc.conf
使用您最喜欢的文本编辑器打开。
要启用图像预览,请找到preview_images
选项并将其更改为true
。即该行将显示为:
set preview_images true
然后,找到选项preview_images_method
,并根据您的终端将其设置为前面注释块中枚举和解释的值之一。 在您的例子中,它是urxvt
。 因此该行应为:
set preview_images_method urxvt
之后,退出 ranger 并重新启动以使新配置生效。
如果一切都失败了,我个人使用 Kitty 终端,效果很好。如果你想尝试一下,首先安装 Kitty,将上述preview_images_method
选项更改为kitty
,然后启动 kitty 并在其中启动 ranger。
答案3
我有 Ubuntu 22.04,我设法使用图像预览游侠和脚终端。
首先我安装六合彩:
sudo apt install libsixel-bin libsixel-dev libsixel1
Sixel 需要最近的游侠,因此我删除了该软件包并从源代码下载并安装了最新版本:
sudo apt remove ranger
git clone https://github.com/ranger/ranger.git
cd ranger
sudo make install
如果你还没有完成,请复制默认游侠配置:
mkdir -pv ~/.config/ranger/
cp -vni /usr/local/share/doc/ranger/config/rc.conf ~/.config/ranger/rc.conf
我启用了图像预览,正如~/.config/ranger/rc.conf 中正确说明的其他一些答案一样:
set preview_images true
然后我将其配置为预览六合彩
set preview_images_method sixel
现在开始游侠并且它将正确呈现图像预览。