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 延时 (参见 sleep(1) 查看选项)。
#!/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