feh
摘自 Wikipedia:
- feh 是一款主要面向命令行用户的轻量图像查看器。不同于大多数的图形化图像查看器,feh 没有任何图形化控件(除了一个可选的文件名称显示功能),这使得它也可以用来管理在 X 窗口系统上运行系统的背景图片。
安装
用法
feh 是高度可配置的。有关选项的完整列表,请运行 feh --help 或参见 feh(1) 手册页。
浏览图像
要快速浏览特定目录中的图像,可以使用以下参数启动 feh:
$ feh -g 640x480 -d -S filename /path/to/directory
-
-g标志强制图像显示为不大于640x480 -
-d标志获取文件名 -
-S filename标志按文件名对图像进行排序
这只是一个例子。如果您需要更大的灵活性,还有更多可用的选项。
--start-at 选项将让 feh 显示选定的图像,同时也允许以默认顺序浏览目录中的所有其他图像,即好像您已运行feh *并循环浏览到选定的图像。 例如,feh --start-at ./foo.jpg . 查看当前目录中以 foo.jpg 开头的所有图像。设置壁纸
feh 可用于设置桌面壁纸,例如,对于没有此功能的窗口管理器(比如,Openbox,Fluxbox 和 xmonad.
以下命令是一个设置初始壁纸的示例:
$ feh --bg-scale /path/to/image.file
其他调整选项包括:
--bg-tile FILE --bg-center FILE --bg-max FILE --bg-fill FILE
要在下一个会话中恢复壁纸,请在启动文件中添加以下内容(例如 ~/.xinitrc, ~/.config/openbox/autostart 等):
~/.fehbg &
要更改壁纸,请编辑 ~/.fehbg 文件,该文件是在运行上述 feh --bg-scale /path/to/image.file 命令之后创建的。
可以通过传递 --no-fehbg 标志来显式禁用 ~/.fehbg 的创建。
要为不同的显示器设置不同的壁纸,应传递尽可能多的显示器可用的文件路径。例如,对于双显示器设置,它将是:
$ feh --bg-center path/to/file/for/first/monitor path/to/file/for/second/monitor
打开 SVG 图像
$ feh --conversion-timeout 1 file.svg
请注意,这需要 imagemagick包 软件包。
随机壁纸
您可以使用 --randomize 选项和 --bg-foo 选项之一来设置随机壁纸,例如:
$ feh --bg-fill --randomize ~/.wallpaper/*
上面的命令告诉 feh 随机化 ~/.wallpaper/ 目录中的文件列表,并将所有可用桌面的背景设置为随机列表前的图像(每个桌面一个唯一的图像)。如果将壁纸分为多个子文件夹,则也可以递归执行此操作:
$ feh --recursive --bg-fill --randomize ~/.wallpaper
要在每个会话中从 ~/.wallpaper 设置不同的随机墙纸,请将以下内容添加到您的 .xinitrc 中:
$ feh --bg-max --randomize ~/.wallpaper/* &
在每个 xorg 会话上设置随机墙纸的另一种方法是按照如下编辑 .fehbg。
$HOME/.fehbg
feh --bg-max --no-fehbg --randomize ~/.wallpaper/*
故障和修复
使用 cron 任务
要使用 feh 在一个 cron 任务中来随机改变壁纸,你必须要设定 DISPLAY 环境变量:
DISPLAY=:0 feh --bg-max --randomize ~/.wallpaper/*
请注意,有些显示管理器例如 sddm 可能不会保存 feh 所需要的 XAUTHORITY 文件在 ~/.Xauthority 中,这将会导致 cronjob 报错 "Authorization required, but no authorization protocol specified"。