在 shell 脚本中检测 GTK3 的可用性

Detect availability of GTK3 in shell script

我们希望避免用户更改我们的应用程序启动脚本,只有 GTK2 可用,而 GTK3 不可用。检测 GTK3 可用性的首选方法是什么?

For Linux 不管它是基于 rpm 还是 deb, 获取 gtk 库版本的通用形式可以是

find /usr/lib64/ -name 'libgtk*' | xargs readelf -d |\
gawk 'BEGIN{ FS="[[]|[]]"}{if([=10=] ~ /SONAME/){ print  }}' | sort | uniq

结果:

libgtk-3.so.0
libgtk-x11-2.0.so.0

这样,就有可能获得可用的 GTK 版本。