1.0、参考
1.1、feh简介
是什么 ?:an X11 image viewer aimed mostly at console users. Unlike most other viewers, it does not have a fancy GUI, but simply displays images. It is controlled via commandline arguments and configurable key/mouse actions.
开发语言:C
官方主页:http://feh.finalrewind.org
1.2、通过包管理器安装feh
操作系统包管理器安装命令
macOSHomeBrewbrew install feh
GNU/LinuxHomeBrewbrew install feh
aptsudo apt-get install -y feh
CentOSyum参考
dnfsudo dnf install -y feh
openSUSEzyppersudo zypper install -y feh
Alpine Linuxapksudo apk add feh

Arch Linux

ArcoLinux

Manjaro Linux

pacmansudo pacman -Syyu --noconfirm
sudo pacman -S    --noconfirm feh
Gentoo LinuxPortagesudo emerge feh
1.3、通过编译源码安装feh 

step1、安装依赖

所有时Terminal + Shell + GNU CoreUtils
下载时cURL
解压时tar + bzip2
编译时gmakegcc / GCC | Clang / LLVM
运行时

step2、使用curl命令下载feh源码包 (

curl -LO https://feh.finalrewind.org/feh-3.3.tar.bz2

step3、使用tar解压feh源码包

tar vxf feh-3.3.tar.bz2

step4、进入feh-3.3目录

cd feh-3.3

step5、查看feh-3.3目录的内容

step6、创建构建目录,并进入该目录

mkdir build && cd build

step7、配置编译参数

编译参数都在config.mk中。

配置编译参数可以直接编辑config.mk文件。

VAR默认值说明
curl1是否使用cURL(libcurl)
exif0是否使用libexif
xinerama1是否使用libXinerama
debug0是否定义宏DEBUG
help0是否定义宏INCLUDE_HELP
verscmp1是否定义宏HAVE_VERSCMP

step8、使用make进行编译、安装

make [option]... [VAR=VALUE]... [TARGET]...
VARVALUE示例说明
CCgcc |  clang指定C编译器
CFLAGS-O2 -v指定C编译器的参数
CPPcpp指定C预处理器
CPPFLAGS-I<includeDIR>指定C预处理器的参数
LDFLAGS-L<libDIR>指定C链接器的参数
LIBS-l<libName>指定C链接器要链接的库的名称

示例:

make CFLAGS='-O2 -v' && sudo make install PREFIX=/usr
1.4、feh命令
feh mywife.jpg

主界面:

设置随机桌面:

我们可以建立一个文件夹~/wallpaper,在其中放入多张图片,并在桌面系统的配置文件中进行开机启动。

exec feh --randomize --bg-fill ~/wallpaper