Ich habe eine kleine Anwendung geschrieben in Python, die Python Gtk3 Bindungen verwendet. Ein Teil der Anwendung lädt Symbole aus dem Systemsymbol Thema, wie folgt aus:Verwenden von Python Gtk3-Bindungen ohne X11
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)
Dies macht genau das, was ich will - lädt ein Symbol und gibt mir eine GdkPixbuf.Pixbuf
Instanz.
Das Problem kommt, wenn meine Komponententests ausgeführt werden. Ich habe Tests, die diesen Code testen, und alles funktioniert gut, wenn die Tests auf einem Entwicklungscomputer ausgeführt werden.
Die Tests werden jedoch automatisch ausgeführt, bevor ein Paket erstellt wird (als Teil unseres CI-Prozesses), und Anwendungspakete werden auf einem kopflosen Server erstellt. Meine Frage ist also: Gibt es eine Möglichkeit, nur die Klasse IconTheme
von Gtk3 zu verwenden, ohne dass X11 läuft?
Ein Icon-Thema ist immer mit einem 'Bildschirm' verbunden, der ohne X11 ziemlich schwer zu bekommen ist. Ich würde versuchen, die Tests innerhalb von Xvfb auszuführen. –