如何确定一个程序使用GTK 2还是3?

考虑尝试调整主题以使Inkscape更紧凑。想知道有没有办法确定它使用的GTK+版本?

4如果它是一个未编译的Python程序(例如gaupol),ldd命令会显示“不是动态可执行文件”。 - sup
@sup 或许通过使用“apt-cache depends <package> | grep gtk”来查看依赖关系是这种未编译程序的替代方法,包括“firefox”。 - user37165
2个回答

使用ldd命令。我的系统似乎使用gtk2库。
$ ldd /usr/bin/inkscape | grep gtk
    libgtkmm-2.4.so.1 => /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1 (0x00007fa8de4d5000)
    libgtkspell.so.0 => /usr/lib/libgtkspell.so.0 (0x00007fa8dcfe1000)
    libgtk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 (0x00007fa8dc9a7000)

Inkscape目前使用GTK2。Inkscape的主干版本具有针对GTK3进行编译的能力,但这还在进行中,并且与针对GTK2构建时相比要大得多(GTK3是为触摸屏支持而创建的,因此小部件更大)。
- 一位Inkscape开发者

谢谢。我发现在我的笔记本电脑上(1366x768),我总是缺乏可停靠的工具栏空间(图层、填充等),而且Gnome非常喜欢巨大的玩具城风格按钮!当然,Adobe把它做得太过分了,给你4像素的点击区域。在我看来,KDE应用程序在这方面取得了更有效的平衡,但在3.5版本之后,我与KDE有些疏远了。无论如何,感谢您提供的有用信息。 - artfulrobot