feh:轻量快速、面向命令行的图像查看器 #
feh 是什么? #
feh 是一款轻量级、可配置且多功能的图像查看器,主要面向命令行用户,也可以从图形化文件管理器中直接启动。它基于 Imlib2 图像库构建,用 C 语言编写,并以 MIT 许可证的变体开源发布。
除了单纯地浏览图片,feh 还能生成文本和缩略图列表、检测哪些文件可加载或不可加载、把图片设置为 X11 桌面背景等。它启动迅速、资源占用极低,非常适合服务器、老旧硬件、窗口管理器用户以及习惯键盘操作的高级用户。如果你在寻找一款不依赖臃肿图形界面、却又能覆盖日常看图需求的工具,feh 是 Linux 与 BSD 平台上广受认可的经典选择。
feh 有哪些亮点特色? #
- 多种浏览模式一应俱全:feh 提供幻灯片模式(按目录自动或手动切换)、缩略图模式(可点击的缩略图网格)、列表模式(类似
ls并显示图片尺寸等信息)以及多窗口模式(一次性打开所有图片),满足从快速预览到批量筛选的各种场景。 - 极致轻量、启动飞快:作为命令行优先的工具,feh 体积小巧、依赖精简,几乎不占用系统资源,在低配设备或远程会话中也能流畅运行。
- 键盘优先、无需鼠标:feh 内置大量可配置的键盘快捷键,缩放、旋转、切换、全屏等操作都可以纯键盘完成,特别适合窗口管理器用户与效率型工作流。
- 一键设置桌面壁纸:feh 可直接将图片设为 X11 背景,并支持 rxvt 终端透明效果,是
xinitrc/xprofile中设置壁纸的常用方案。 - 支持自定义动作(shell 命令):通过
--action等参数,用户可以针对当前图片调用任意外部 shell 命令,例如批量排序、整理或上传图片。 - 文件列表与排序能力:支持从文件列表载入图片,并可按名称、大小、修改时间等维度排序,便于管理大量图片素材。
- 可选的 HTTP/FTP 支持:在编译时启用 libcurl 后,feh 可以直接查看网络上的远程图片,无需先下载到本地。
- 自由开源、协议宽松:feh 采用 MIT 许可证变体发布,源码托管于 finalrewind、Codeberg 与 GitHub 等多个镜像,任何人都可以自由使用、修改和分发。

免费下载 feh #
以下为官方提供的安装包,点击链接即可下载。
| 文件名 | 描述 | 大小 | 下载 |
|---|---|---|---|
| feh-3.13.1.tar.bz2 | feh v3.13.1 源代码包(官网同时提供 PGP 签名 .asc 文件) | 2.3 MB | 夸克网盘 |
提示:feh 已被 Arch Linux、Debian、FreeBSD、OpenBSD、Ubuntu 等主流发行版打包,大多数用户可直接通过系统包管理器安装,无需手动编译。
feh 如何使用? #
feh 的使用方式非常直观,核心就是「命令 + 图片或目录」。以下是最常见的基础操作流程:
- 查看单张图片:在终端执行
feh image.jpg,即可打开该图片。使用方向键或PageUp/PageDown切换,+/-缩放,f切换全屏,q退出。 - 浏览整个目录:执行
feh ~/Pictures,feh 会(默认递归地)加载该目录及其子目录下的所有图片,按顺序逐张浏览。 - 以幻灯片方式播放:使用
feh -D 5 ~/Pictures可每隔 5 秒自动切换一张;去掉-D参数(即feh -d)则改为手动翻页的幻灯片模式。 - 以缩略图网格查看:执行
feh -t ~/Pictures,会以可点击的缩略图网格展示文件,便于快速定位目标图片。 - 设置桌面壁纸:执行
feh --bg-fill ~/wallpaper.jpg将图片填充为 X11 壁纸;如需在每次登录后自动生效,可把该命令写入~/.xinitrc或~/.xprofile。 - 调用自定义命令:例如
feh --action 'mv %F ~/trash/' image.jpg,可在浏览时对图片执行 shell 操作(注意新版要求使用%F/%N而非%f/%n)。
更完整的参数说明(包括 --sort、--window-id、--zoom-step、--tap-zones 等)可查阅官网提供的 feh manual。
feh 的常见问题? #
feh 支持哪些图片格式? feh 本身不解析图片,而是依赖 Imlib2 图像库。因此支持的格式取决于系统安装的 Imlib2 及其编解码插件,通常涵盖 JPEG、PNG、GIF、BMP、TIFF、SVG 等主流格式,部分发行版还可通过插件支持 JPEG XL 等新格式。
为什么新版不用 %f 和 %n 了?
从 feh v3.12 起,官方禁止在 --action 和 --info 字符串中使用 %f、%n,因为这两个占位符不会转义 shell 特殊字符,存在安全风险。请改用自 v2.3 起就存在的 %F 和 %N,它们会自动转义。
为什么切换图片时画面会闪烁?
在平铺窗口管理器下,早期版本的 --scale-down 行为可能导致图片重新渲染时闪烁。官方已在 v3.13.1 中改进该行为,新加载的图片不再闪烁,建议升级到最新版本。
如何在重启后保留 feh 设置的壁纸?
feh --bg-fill 只在当前会话生效。可把命令写入 ~/.xinitrc、~/.xprofile 或所用窗口管理器的自启动配置,使其在每次登录时自动执行。
feh 能查看网络上的图片吗?
可以。如果在编译时启用了 libcurl 支持,feh 就能直接打开 HTTP / FTP(以及 gopher:// 等)链接的图片,无需先手动下载。
在 macOS 上使用 feh 需要注意什么?
feh 可以在 macOS 上编译运行,但历史上曾因 XOpenIM / XCreateIC 失败而崩溃,官方已在 v3.12.4 修复。建议使用最新版本,并通过 Homebrew 等渠道安装依赖。
feh 如何安装? #
feh 已经被主流 Linux 与 BSD 发行版收录,推荐优先使用系统包管理器安装:
- Debian / Ubuntu:执行
sudo apt update && sudo apt install feh。 - Arch Linux:执行
sudo pacman -S feh。 - FreeBSD:执行
sudo pkg install feh。 - OpenBSD:执行
sudo pkg_add feh。 - macOS(Homebrew):执行
brew install feh(需自行安装 X11 相关依赖,官网未提供官方 dmg 安装包)。
如果你需要最新的开发版或自定义编译选项,可以从源码编译:
- 下载
feh-3.13.1.tar.bz2(可选同时下载.asc签名文件进行校验)。 - 解压:
tar xf feh-3.13.1.tar.bz2 && cd feh-3.13.1。 - 参考源码中的
README查看依赖列表(如 libcurl、libpng、libexif 等)与配置选项。 - 执行
make,然后以管理员权限执行sudo make install。 - 如需跳过字体安装,可在 make 时设置
install_fonts=0。
feh 如何卸载? #
卸载方式同样取决于你的安装途径:
- Debian / Ubuntu:执行
sudo apt remove --purge feh,彻底删除软件包及其配置。 - Arch Linux:执行
sudo pacman -Rns feh,一并移除不再需要的依赖。 - FreeBSD:执行
sudo pkg delete feh。 - OpenBSD:执行
sudo pkg_delete feh。 - macOS(Homebrew):执行
brew uninstall feh。 - 源码编译安装:若源码目录支持,可在其中执行
sudo make uninstall;否则需手动删除安装到/usr/local/bin、/usr/local/share等目录下的文件。
需要注意的是,用户自定义的键盘绑定、主题、壁纸命令等配置通常保存在个人目录(如 ~/.config 或 shell 配置文件中),包管理器一般不会自动清理,如需彻底移除请手动检查并删除相关条目。
