
Ich führe ein Programm aus (konkret xfoil) und während der Berechnungen öffnet und schließt es automatisch ein Fenster. Ich möchte, dass das Popup-Fenster ausgeblendet bleibt.
Steuerdatei erstellen:
cat <<EOF > controlfile.xfoil
NACA 0012
GDES
Flap0.8 0.0425 0.1
eXec
OPER
RE 1388888
MACH0.0561930287789
v
ITER
300
ALFA 10
FMOM 0.8 0.0425
QUIT
EOF
Führen Sie die Datei vom Terminal aus und speichern Sie die Ausgabe:
xfoil < controlfile.xfoil >outputfile.out
Beim Ausführen wird kurz ein Popup-Fenster angezeigt.
Wie kann ich das Popup-Fenster ausgeblendet lassen? Glücklicherweise ist der Quellcode von xfoil verfügbar und ich könnte eine Version ohne das Fenster kompilieren, aber ich würde es vorziehen, das nicht tun zu müssen.
Antwort1
Es ist zwar etwas übertrieben, aber Sie können einen zweiten X11-Server ohne Framebuffer starten und Ihre Anzeige dorthin leiten:
Xvfb :1 &
sleep 2
DISPLAY=:1 xfoil <controlfile.xfoil >outputfile.out
kill -15 $!
Antwort2
In XFoil gibt es ein Hauptmenü namens „Plotoptionen“, auf das Sie mit PLOP zugreifen können. Anschließend deaktiviert der Befehl „GF für Grafikausgabe: false“ diese Popups.
In Ihrem Programm würde das also die Hinzufügung von:
PLOP
GF
Ganz am Anfang. Vergessen Sie nicht die Leerzeile, damit Sie wieder zum Hauptmenü gelangen!