Testanleitung: eigenes X-Display je Projekt fuer Parallelbetrieb
Damit mehrere Agenten gleichzeitig Oberflaechen testen koennen, bekommt jedes Projekt eine feste Displaynummer (Vorgabe Richard): :99 PolyTrader, :98 Predictalytics, :97 ClawdDotNet, :96 IBKRTrader, :95 und absteigend fuer kuenftige Projekte. Zwei Prozesse auf demselben Display sehen die Fenster des jeweils anderen - Klicks landen im falschen Programm, Aufnahmen zeigen fremde Anwendungen. Beim Durcharbeiten fielen zwei weitere Kollisionspunkte auf, die zum Parallelbetrieb dazugehoeren und mit aufgenommen wurden: - Screenshot- und Logdateien in /tmp brauchen ein Projektpraefix. /tmp/v_1.png ueberschreiben sich parallel laufende Projekte gegenseitig. - "xvfb-run -a" darf NICHT mehr verwendet werden: Das -a sucht sich selbst ein freies Display und beginnt dabei bei :99 - ausgerechnet PolyTraders Nummer. Stattdessen "xvfb-run -n <nummer>". Die Warnung ist nicht theoretisch: Auf der VM lag ein verwaister X98-Socket, entstanden durch genau so einen "xvfb-run -a"-Aufruf beim smoke-ui-Test, als :99 belegt war. Er blockierte Predictalytics' reservierte Nummer, ohne dass ein Prozess lief. Entfernt, und die Anleitung erklaert jetzt, wie man verwaiste Sockets erkennt (ls /tmp/.X11-unix/ gegen pgrep -a Xvfb lesen) und aufraeumt. Weiter ergaenzt: - pkill nie ohne Displaynummer - "pkill Xvfb" erschlaegt die Sitzungen aller anderen Projekte. - DISPLAY in jedem Skript setzen, sonst landet man auf :0, dem echten Desktop. - Die Skriptvorlage hat jetzt einen Kopf mit PROJEKT/DISP/FENSTER; das ist alles, was sich je Projekt unterscheidet. Praktisch gegengetestet. - Aufraeumabschnitt und Belegungsliste um Displays und Verzeichnisse erweitert. Nebenbei aufgefallen: Das PolyTrader-Publish lag unter ~/pt-test statt ~/polytrader-test und verletzte damit die eigene Verzeichniskonvention. Umbenannt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -57,8 +57,21 @@ namespace PolyTraderSharp.Models
|
||||
|
||||
[Category("Mullvad VPN")]
|
||||
[DisplayName("Mullvad CLI Path")]
|
||||
[Description("Path to mullvad.exe")]
|
||||
public string MullvadCliPath { get; set; } = @"C:\Program Files\Mullvad VPN\resources\mullvad.exe";
|
||||
[Description("Pfad zum Mullvad-Kommandozeilenwerkzeug. Der Standard richtet sich nach dem " +
|
||||
"Betriebssystem: unter Linux /usr/bin/mullvad, unter Windows die mullvad.exe im " +
|
||||
"Installationsverzeichnis.")]
|
||||
public string MullvadCliPath { get; set; } = DefaultMullvadCliPath;
|
||||
|
||||
/// <summary>
|
||||
/// Standardpfad des Mullvad-CLI je Plattform. Bis zum 26.08.2026 stand hier fest der
|
||||
/// Windows-Pfad - auf dem Linux-Zielserver war der Standardwert damit sinnlos und die
|
||||
/// VPN-Rotation scheiterte mit einer Meldung, der man die Ursache nicht ansieht
|
||||
/// (Befund B-5 des Linux-Sichttests).
|
||||
/// </summary>
|
||||
public static string DefaultMullvadCliPath =>
|
||||
System.OperatingSystem.IsWindows()
|
||||
? @"C:\Program Files\Mullvad VPN\resources\mullvad.exe"
|
||||
: "/usr/bin/mullvad";
|
||||
|
||||
|
||||
[Category("Blockchain Listener")]
|
||||
|
||||
Reference in New Issue
Block a user