Feh (简体中文)
Feh是一个轻量级、强大的图像查看器,同时它也可以用来管理桌面壁纸,特别适合缺少这类特性的独立窗口管理器。
Contents
安装
feh 可从官方源安装:
# pacman -S feh
用法
feh具有很高的可配置性。运行feh --help可以得到详细的选项列表。
图像浏览
要快速的浏览指定目录里的图像,你可以用以下参数启动feh:
$ feh -g 640x480 -d -S filename /path/to/directory
- -g 选项强制图像的显示大小不大于640x480
- -S filename 选项按文件名排列图像
这只是一个小例子,它还有其他大量选项可供你灵活使用。
文件浏览器图片启动器
下面的脚本原来贴在 这里,对于文件管理器很有用。它会先在 feh 中显示你选中的图片,但是它同时也允许你浏览该目录中的其他图片(按照默认顺序,也就是说,与你直接运行 "feh *" 的顺序相同)。
该脚本假设第一个参数是文件名。
#!/bin/bash shopt -s nullglob if [[ ! -f $1 ]]; then echo "$0: first argument is not a file" >&2 exit 1 fi file=$(basename -- "$1") dir=$(dirname -- "$1") arr=() shift cd -- "$dir" for i in *; do [[ -f $i ]] || continue arr+=("$i") [[ $i == $file ]] && c=$((${#arr[@]} - 1)) done exec feh "$@" -- "${arr[@]:c}" "${arr[@]:0:c}"
使用选中的路径调用该脚本,接着是可选的传递给 feh 的参数。这是一个你可以在文件浏览器中调用的例子:
/path/to/script %f -F -Z
-F
和 -Z
是 feh 的参数。 -F
用全屏模式打开图片,-Z
自动缩放图片。添加 -q
标志 (quiet) 抑制终端中的当 feh 视图打开当前文件夹中的非图片文件时的错误输出。
桌面壁纸
feh也适合缺少管理桌面壁纸特性的独立窗口管理器,例如Openbox和Fluxbox。以下命令是一个设置初始背景的例子:
$ feh --bg-scale /path/to/image.file
其它缩放选项包含了:
--bg-tile FILE --bg-center FILE --bg-seamless FILE
要在下一次会话期恢复背景,把以下内容加入到你的启动文件(例如~/.xinitrc、~/.config/openbox/autostart.sh等):
eval `cat ~/.fehbg` &
随机背景图片
为了随机切换桌面壁纸,用下面的代码创建一个脚本 (例如 wallpaper.sh
)。设置脚本为可执行 (chmod +x wallpaper.sh
) 然后从 ~/.xinitrc
中调用。你也可以直接把代码放置在 ~/.xinitrc
中而不是放在单独文件中。
按照您的需要更改 ~/.wallpaper
目录,以及 15m
延时 (参见 man sleep
查看选项)。
#!/bin/sh while true; do find ~/.wallpaper -type f \( -name '*.jpg' -o -name '*.png' \) -print0 | shuf -n1 -z | xargs -0 feh --bg-scale sleep 15m done
下面的版本不会fork太多次,但是无法递归到子目录:
#!/bin/bash shopt -s nullglob cd ~/.wallpaper while true; do files=() for i in *.jpg *.png; do [[ -f $i ]] && files+=("$i") done range=${#files[@]} ((range)) && feh --bg-scale "${files[RANDOM % range]}" sleep 15m done