我有一个用python编写的小应用程序,它使用Python Gtk3绑定。部分应用程序从系统图标主题加载图标,如下所示:
def get_icon(name):
from gi.repository import Gtk
icon_theme = Gtk.IconTheme()
if icon_theme.has_icon(name):
return icon_theme.load_icon("status-red", 32, 0)
这正是我想要的 - 加载一个图标并给我一个GdkPixbuf.Pixbuf
实例。
当我的单元测试运行时出现问题。我有测试这段代码的测试,如果测试是在开发者机器上运行的,那么一切正常。
但是,测试在构建软件包之前自动运行(作为CI过程的一部分),并且应用程序包构建在无头服务器上。所以我的问题是:有没有办法只使用Gtk3中的IconTheme
类而不需要运行X11?
答案 0 :(得分:1)
在没有DISPLAY的情况下,没有办法使用针对X11编译的gtk +。
但是你总是可以在xvfb中运行测试套件,xvfb是一个使用虚拟帧缓冲的X服务器,这样你就不需要从现有终端运行,但是你仍然需要X.它'非常简单;
xvfb-run.sh python testsuite.py