Lassen Sie den Wein völlig kopflos laufen

17

Ich möchte Wein kopflos laufen lassen und die Fehlermeldung vermeiden:

Stellen Sie sicher, dass Ihr X-Server ausgeführt wird und $ DISPLAY richtig eingestellt ist.

Gibt es einen Weg oder muss ich ihn an eine Ausgabe weiterleiten? Kann es nur über eine Befehlszeile ausgeführt werden?

FabioCosta
quelle
Was genau versuchst du in Wein zu laufen? Für die meisten Windows-Programme muss eine grafische Benutzeroberfläche vorhanden sein.
Michael Hampton
Es ist eine lange Geschichte, aber im Grunde habe ich eine sehr alte Exe, die ich aus alten Gründen verwenden muss und die keine GUI-Ausgabe produzieren wird. Ein Beispiel für einen Befehl, der den gleichen Fehler ausgibt, wäre winetricks vb6run
FabioCosta
1
Ja, das startet ein GUI-basiertes Installationsprogramm, sodass eine Anzeige erforderlich ist.
Michael Hampton
Ich wusste nicht, dass es in diesem Beispiel wirklich die GUI erfordern würde, dies ist ein anderes Problem, aber Sie haben mir einen Fehler von mir gezeigt. Wie auch immer, ich denke, ich werde am Ende Xvfb verwenden und die Schriftfehler beheben
FabioCosta

Antworten:

12

Ich kenne keine Möglichkeit, Wein völlig kopflos zu betreiben, aber ich kann Sie darauf hinweisen xvfb. Es kann eine virtuelle Anzeige erstellen, auf die der X-Server seine Ausgabe umleiten kann. Es muss kein physisches Display angeschlossen sein. Wir verwenden es, um Selentests in Browsern auf einem kopflosen Jenkins-Cluster durchzuführen.

Entspricht das den Anforderungen oder möchten Sie unbedingt Wein ohne Kopf laufen lassen?

Erathiel
quelle
Ich versuche es mit Xvfb, aber es ist irgendwie seltsam, "Xvfb: 1 & '" und dann "export DISPLAY =: 1" zu verwenden und dann meinen Wein auszuführen, um mir einen Schriftfehler zu geben und die Ausführung zu sperren. Ich versuche, den Schriftfehler zu beheben, indem ich diesem blog.martin-lyness.com/archives/… folge, während ich nach anderen Alternativen
suche
14

Sie können Ihren Wein so konfigurieren, dass er kopflos ausgeführt wird, indem Sie den virtuellen X-Framebuffer installieren . Zum Beispiel:

sudo apt-get install Xvfb
Xvfb :0 -screen 0 1024x768x16 &

Wein installieren:

# On 64-bit also run: sudo dpkg --add-architecture i386
sudo add-apt-repository -y ppa:ubuntu-wine
sudo apt-get update
sudo apt-get install wine

Hinweis: Ein detailliertes Installationsbeispiel finden Sie im provision.shSkript.

Installieren Sie bei Bedarf Schriftarten:

winetricks allfonts

Führen Sie dann Ihre Apps wie folgt aus:

DISPLAY=:0.0 wine my_app.exe

oder Sie können es exportieren (daher ist das obige Präfix beim Ausführen nicht erforderlich):

export DISPLAY=:0.0 # Select screen 0.

Wo DISPLAYist Ihre Anfrage an lokale Anzeige / Eingabe - Dienst (oder: export DISPLAY=[user's machine]:0).


Alternativ können Sie die X11-Weiterleitung einrichten. Dann brauchen Sie nicht zu verwenden DISPLAY.

Grundsätzlich setzt X11Forwarding yesin /etc/ssh/sshd_configauf dem Headless - Server und ForwardX11 yesin /etc/sshd/ssh_configan der Maschine aus Sie eine Verbindung herstellen.

Anschließend können Sie GUI-Anwendungen auf Ihrem Headless-Server ausführen und gleichzeitig kann Wine eine Verbindung zu Ihrem lokalen X11-Server herstellen, sodass Sie Ihre konsolenbasierten ausführbaren DOS-Dateien ausführen können.

Kenorb
quelle