Linux GTK2与GTK3:在bash脚本中检测GTK3主题

Linux GTK2与GTK3:在bash脚本中检测GTK3主题,linux,bash,gtk,gtk3,gtk2,Linux,Bash,Gtk,Gtk3,Gtk2,我们基于Java/SWT的应用程序在Linux上使用bash启动脚本。我们需要了解是使用GTK2(较旧的SWT版本)还是使用GTK3(较新的SWT版本)启动,因为最新的SWT版本不再支持GTK2,并且会在不支持GTK3的较旧系统或较旧的GTK3版本上导致问题。尤其是GTK3主题(!=Adwaita或Ambiance)会引起问题 如果系统支持GTK3,如何确定(在bash脚本中)配置了什么GTK3主题?可选:了解系统上有哪些GTK3主题 更新:一个类似于的小型C应用程序也可以。一行程序: Gtk3

我们基于Java/SWT的应用程序在Linux上使用bash启动脚本。我们需要了解是使用GTK2(较旧的SWT版本)还是使用GTK3(较新的SWT版本)启动,因为最新的SWT版本不再支持GTK2,并且会在不支持GTK3的较旧系统或较旧的GTK3版本上导致问题。尤其是GTK3主题(!=Adwaita或Ambiance)会引起问题

如果系统支持GTK3,如何确定(在bash脚本中)配置了什么GTK3主题?可选:了解系统上有哪些GTK3主题

更新:一个类似于的小型C应用程序也可以。

一行程序:

Gtk3ThemeName=/tmp/$RANDOM$$&&gcc-o$Gtk3ThemeName-include stdio.h-include gtk/gtk.h-xc/dev/null)2>/dev/null&&Gtk3ThemeName=“$($Gtk3ThemeName&&rm$Gtk3ThemeName)”|未设置Gtk3ThemeName
更具可读性:

Gtk3ThemeName=/tmp/$RANDOM$$
如果gcc-o$Gtk3ThemeName-include stdio.h-include gtk/gtk.h-xc/dev/null)2>/dev/null;然后
Gtk3ThemeName=“$($Gtk3ThemeName&&rm$Gtk3ThemeName)”
其他的
未固化GTK3亚麻黄碱
fi
之后,您可以
回显“$Gtk3ThemeName”
以打印主题名称

如果未安装GTK3(或者
gcc
pkg config
失败,或者
/tmp/
不可写或运行保护),变量将以空结束。

一行:

Gtk3ThemeName=/tmp/$RANDOM$$&&gcc-o$Gtk3ThemeName-include stdio.h-include gtk/gtk.h-xc/dev/null)2>/dev/null&&Gtk3ThemeName=“$($Gtk3ThemeName&&rm$Gtk3ThemeName)”|未设置Gtk3ThemeName
更具可读性:

Gtk3ThemeName=/tmp/$RANDOM$$
如果gcc-o$Gtk3ThemeName-include stdio.h-include gtk/gtk.h-xc/dev/null)2>/dev/null;然后
Gtk3ThemeName=“$($Gtk3ThemeName&&rm$Gtk3ThemeName)”
其他的
未固化GTK3亚麻黄碱
fi
之后,您可以
回显“$Gtk3ThemeName”
以打印主题名称


如果未安装GTK3(或者
gcc
pkg config
失败,或者
/tmp/
不可写或运行保护),变量将以空结束。

https://github.com/KittyKatt/screenFetch
--
screenfetch
,一个显示CPU、RAM等内容的
bash
程序,。。。和安装的GTK版本以及使用的GTK主题。我建议您使用
screenfetch
或抓取GTK部分。GTK版本和主题检测是非依赖的(国美,XFCE,…)@BachLien感谢链接。哇,超过250行才得到主题。也许tiny C应用程序的选项更短。
https://github.com/KittyKatt/screenFetch
--
screenfetch
,一个显示CPU、RAM等内容的
bash
程序,。。。和安装的GTK版本以及使用的GTK主题。我建议您使用
screenfetch
或抓取GTK部分。GTK版本和主题检测是非依赖的(国美,XFCE,…)@BachLien感谢链接。哇,超过250行才得到主题。也许tiny C应用程序的选项更短。这需要在运行脚本的机器上安装gcc。最好是将程序编译并作为预编译的C二进制文件发布,这需要在运行脚本的机器上使用gcc。最好是将程序编译并作为预编译的C二进制文件发布。