staging.inyokaproject.org

WINE: zentraler und lokal geteilter Ordner für C:

Status: Gelöst | Ubuntu-Version: Ubuntu 24.04 (Noble Numbat)
Antworten |

Trisolaris

Avatar von Trisolaris

Anmeldungsdatum:
16. Februar 2020

Beiträge: Zähle...

Ich habe nun noch ein kleiner Problem: da mehrere Nutzer an demselben Rechner das Audiometrieprogramm nutzen müssen, möchte ich die Installation zentral ablegen (also nicht in meinem Home-Verzeichnis). Anders funktioniert der Aufruf des Programms über die GDT-Schnittstelle nicht, die zentral auf dem Server hinterlegt ist.

Ich habe nun nach entsprechender Websuche Folgendes getan:

sudo mv /home/trisolaris/.wine/drive_c /opt/wine.drive_c
sudo chmod -R 777 /opt/wine.drive_c

dann den Pfad exportiert:

export WINEPREFIX=/opt/wine.drive_c
wine winecfg

Beim Programmstart kommt dann aber eine Fehlermeldung:

wine: Unhandled page fault on write access to 00000000 at address 00731EBA (thread 0024), starting debugger...

Es scheinen die entsprechenden Zugriffsrechte zu fehlen, obwohl die Rechte genauso aussehen wie im ursprünglichen .wine-Verzeichnis (das ich natürlich vor der ganzen Aktion natürlich gesichert habe).

Hat jemand dazu noch eine Idee?

Viele Grüße,

Trisolaris

Moderiert von rklm:

Abgetrennt von diesem Thema. Bitte nur eine Fragestellugn pro Thema!

Bearbeitet von rklm:

Codeblock

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Hallo Trisolaris,

auch wenn es für dich den Anschein hat, dass die Nutzung deiner Software durch mehrere Nutzer zum gleichen Problem gehört, so ist es doch eine andere/weitere Frage. Du solltest daher hierzu einen eigenen Thread erstellen. Eventuell ist aber auch einer der Moderatoren so nett und trennt diesen Gesprächsfaden ab.

Zu dem von dir geschilderten Problem sollte ein "wine" Kenner antworten. Ich halte deine Aktion allerdings für höchst problematisch, da sich "wine" ja wie ein Windows System verhalten muss. Bei Windows werden eine großen Anzahl von Konfigurationseinträgen im Registry mit statischen Pfaden vermerkt. Wenn du irgendwelche Verzeichnisse verschiebst ohne dies im Windows Registry anzupassen, würde mich wundern, wenn dann noch etwas laufen würde. Weiterhin verwendet "wine" nicht nur das "WINEPREFIX" Symbol sondern auch noch weitere.

Ich hoffe, du hast vor dieser tiefgreifenden Operetion am schlagenden Herzen zuvor ein Backup gemacht. Wie man dieses neue Problem löst, sollte allerdings in einem anderen Gesprächsfaden erläutert werden.

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Hallo Trisolaris,

prima, rklm hat das Thema abgetrennt. Nun kann ich mich um dein festgestelltes Problem kümmern.

Was mir auffällt ist, dass du beim moven (mv) das Ziel-Verzeichnis umbenennst und das "WINEPREFIX" Symbol etwas ungewöhnlich setzt. Aus diesem Grund habe ich deinen Versuch bei mir versucht nachzustellen und folgende Befehle eingegeben:

# kopiern des .wine Verzeichnisses nach /opt/wine
sudo mkdir /opt/wine
sudo rsync -auv ~/.wine/ /opt/wine/
# .wine wird umbenannt, damit ich sicher bin, dass es nicht verwendet wird
mv ~/.wine ~/.wine-no
export WINEPREFIX=/opt/wine
wine cmd
winecfg
#
# und zurück
unset WINEPREFIX
mv ~/.wine-no ~/.wine
sudo rm -rf /opt/wine

Dieser Vorgang hat bei mir geklappt. Ich habe jetzt allerdings noch nicht den Versuch mit einem anderen User wiederholt. Das wäre ein zweiter Schritt.

Kannst du meinen Versuch bei dir validieren?

Mankind75 Team-Icon

Lokalisierungsteam
Avatar von Mankind75

Anmeldungsdatum:
4. Juni 2007

Beiträge: 3374

Trisolaris schrieb:

Hat jemand dazu noch eine Idee?

Mir ist halt aufgefallen, dass Du halt scheinbar alles in das "Standard-Prefix" ~/.wine gepackt hast aber "nur" das drive_c Verzeichnis verschoben hast.

Man kann das natürlich so machen, dass man alles in .wine im Homedirectory packt aber gerade wenn man mehrere Anwendungen hat, die auch unterschiedliche Microsoft-Abhängigkeiten haben können, wird es schnell unübersichtlich und eventuelle Bugs werden nicht mehr reproduzierbar und im Bugzilla von wine abgelehnt.

Persönlich empfehle ich, dass man für jede einzelne Anwendung ein eigenes Prefix erstellt, in die man die einzelnen Anwendungen installiert und quasi "kapselt". Das Gegenargument ist dann hier sicherlich, dass sowas zu viel Speicherplatz auf der Festplatte verbraucht.

Aber da halte ich wiederum dagegen, dass Plattenplatz über die Jahre immer günstiger und größer geworden ist.

Ist sicherlich eine Glaubensfrage, die sich sicherlich noch einige Zeit hinziehen wird.

Insofern wäre mein Rat, ein neues Prefix/Verzeichnis in /opt zu erstellen und die Installation nochmals zu machen. Persönlich halte ich es nicht mehr für "best practice" alles in .wine im Homedirectory zu werfen. Ist wahrscheinlich auch Geschmackssache.

Meine Rückfrage wäre jedoch ob die einzelnen Benutzer Benutzer deines lokalen Systems sind oder irgendwie ggf. remote auf deine Anwendung zugreifen.

Schöne Fragestellung! Interessiert mich auch.

Lidux

Anmeldungsdatum:
18. April 2007

Beiträge: 16801

Hallo Mankind75,

Vielleicht ist es auch möglich für "wine" eine extra Partition zu nehmen ....

Gruss Lidux

Mankind75 Team-Icon

Lokalisierungsteam
Avatar von Mankind75

Anmeldungsdatum:
4. Juni 2007

Beiträge: 3374

Lidux schrieb:

Vielleicht ist es auch möglich für "wine" eine extra Partition zu nehmen ....

Prefixes kann man im Prinzip auf jeder Partition erstellen und mounten, wie man möchte. Letztendlich sind es ja nur Verzeichnisse.

Trisolaris

(Themenstarter)
Avatar von Trisolaris

Anmeldungsdatum:
16. Februar 2020

Beiträge: 85

Ihr hattet Recht, ich hätte nicht nur das "Laufwerk C:" sondern den ganzen Ordner .wine verschiben sollen. Also habe ich das noch einmal getan sowie die Rechte und den Prefix gesetzt:

sudo mv .wine /opt/wine
sudo chmod -R 777 /opt/wine
export WINEPREFIX=/opt/wine
wine winecfg

Aus dem Terminal startet das Programm dann problemlos:

wine /opt/wine/drive_c/Programme/MAICO/Audio/ma55.exe

Wenn ich nun aber versuche den Programmaufruf aus meiner PVS über die GDT-Schnittstelle zu starten, funktioniert das nicht. man müsste irgendwie Wineprefix dauerhaft in Wine hinterlegen... Möglicherweise ist es aber auch nur die Registry oder so etwas, was nicht gefunden wird. Dann könnte ich diese Datei zusätzlich für jeden Nutzer in ~/.wine hinterlegen. Da ich im angegebenen Fall nicht über das Terminal starte weiß ich nicht wie ich herausbekommen soll, welche Datei fehlt.

MfG, Trisolaris

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Hallo Trisolaris,

machen wir doch ein Schritt nach dem anderen. Offenbar klappt der Aufruf deines Programms aus dem Terminal mit der beschriebenen Befehlszeile. Das ist doch schon mal ein gutes Ergebnis.

Wenn ich nun aber versuche den Programmaufruf aus meiner PVS über die GDT-Schnittstelle zu starten, funktioniert das nicht.

  • Jetzt verstehe ich nicht, was du willst. Was ist deine "PVS"?

  • Was ist die "GDT" Schnittstelle?

  • Was machst du genau?

  • Was erhältst du als Ergebnis, dass du zum Ergebnis "funktioniert nicht" kommst?

Das Setzen des WINEPREFIX bekommen wir auch noch hin, wenn du ein wenig mehr zu PVS und GDT erklärst. Wie stellst du dir die Nutzung des "ma55.exe" mit "wine" denn vor? Einige Sachverhalte, die für dich selbstverständlich sind, sagen mir leider nichts.

PS: Eventuell willst du aber auch mit einer Befehlszeile deine Applikation starten wie:

WINEPREFIX=/opt/wine wine "c:/Programme/MAICO/Audio/ma55.exe"

Ich bin im Moment am vermuten ...

Trisolaris

(Themenstarter)
Avatar von Trisolaris

Anmeldungsdatum:
16. Februar 2020

Beiträge: 85

Hallo shiro,

die PVS ist die Praxisverwaltungssoftware. Wir haben vor kurzem auf ein serverbasiertes System (inSuite von DocCirrus) umgestellt. Um Grunde läuft es so, dass ich Patient X aufrufe und mir dann sein Audiogramm (Hörtest) ansehen möchte. Die Darstellung erfolgt über das genannte Programm ma55. Die Kommunikation zwischen der PVS und ma55 erfolgt über die sogenannte GDT-Schnittstelle. Vereinfacht gesagt legt die PVS die Daten des Patienten in einer GDT-Datei ab, die dann wiederum bei Start von ma55 geöffnet wird (in diesem Fall /opt/wine/drive_c/GDT/audedv.gdt, s. Anhang). ma55 hat nun die Patientendaten und lädt aus der Datenbank die eigentlichen Audiometriedaten, um diese grafisch darzustellen. Ich habe ein Bild angehängt das die Konfiguration der GDT-Schnittstelle darstellt. Das 2. Bild zeigt die Konfiguration der Einstellungen des Dateisystems. Möglicherweise kann ich auch hier den Wineprefix-Export irgendwie einbinden? Wegen der Fehlermeldung muss ich noch einmal nachsehen wenn ich vor Ort bin.

MfG, Trisolaris

Bilder

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Danke für die Erläuterungen, so wird mir einiges klarer.

In der Konfigurationsseite gibst du im Feld "Dateiname" das aufzurufende Programm und in "Parameter" den Übergabeparameter für das Programm an. Wenn der Programmierer dieser Schnittstelle nicht noch irgendwelche erweiterte Logik hinter der Verarbeitung der beiden Eingabefelder realisiert hat, kann man wie in meinem vorherigen Post unter "PS:" in das Feld

  • Dateiname: den Inhalt

    WINEPREFIX=/opt/wine wine
  • Parameter: den Inhalt

    "c:/Programme/MAICO/Audio/ma55.exe"

schreiben.

Sollte dies nicht funktionieren, müsste man ein kleines Script mit folgendem Inhalt bereit stellen:

$ cat <<**EOF** | sudo tee /opt/wine/winestarter.sh
#!/bin/bash
export WINEPREFIX=/opt/wine
wine /opt/wine/drive_c/Programme/MAICO/Audio/ma55.exe
**EOF**
$ sudo chmod 775 /opt/wine/winestarter.sh 

Dann trägt man in der Konfigurationsseite bei den Eingabefeldern

  • Dateiname: den Inhalt

    /opt/wine/winestarter.sh
  • Parameter: keinen Inhalt

ein. Diese Script-Lösung hat den Vorteil, dass man bei Bedarf noch zusätzliche Funktionalität vor/nach dem "ma55" Programmstart einpflegen kann, hat aber den Nachteil, dass man neben der Konfigurationsmaske noch eine weitere Stelle eventuell zu pflegen hätte.

PS: Bitte beim Anfügen von Bildern an einen Post auch den Dateityp mit angeben (in deinem Fall also .png), damit der Aufwand für den Leser (Analyse bezüglich bösartiger Anhänge) etwas reduziert wird.

Trisolaris

(Themenstarter)
Avatar von Trisolaris

Anmeldungsdatum:
16. Februar 2020

Beiträge: 85

Hallo shiro, ich habe beide Lösungsansätze ausprobiert, letztendlich hat der mit dem Script funktioniert. Alternativ funktioniert auch Folgendes:

  • Dateiname:

    /usr/bin/sh
  • Parameter:

    /opt/wine/winestarter.sh

Das aber nur nebenbei, vielen Dank für deine Hilfe! Du hast echt was gut bei mir. Nach dieser Hürde kann ich nun daran gehen weitere Clients mit Ubuntu zu betreiben.

Beste Grüße,

Trisolaris

Mankind75 Team-Icon

Lokalisierungsteam
Avatar von Mankind75

Anmeldungsdatum:
4. Juni 2007

Beiträge: 3374

Wenn der Thread hier nun gelöst ist, wäre es natürlich klasse, die Anwendung in die AppDB von wine einzutragen und dort seine Erfahrungen mit dem Programm und wine allgemein zu teilen.

Passiert leider nicht häufig - viele sind von wine zu Proton gegangen und berichten dort und allgemein scheint die Auffassung zu sein: Funktioniert jetzt, danke und weg.. Bis zum nächsten Supportfall..

Möchte aber auch nicht nötigen oder bedrängen. Der Administrator weiß was er/sie tut..

Trisolaris

(Themenstarter)
Avatar von Trisolaris

Anmeldungsdatum:
16. Februar 2020

Beiträge: 85

Mankind75 schrieb:

Wenn der Thread hier nun gelöst ist, wäre es natürlich klasse, die Anwendung in die AppDB von wine einzutragen und dort seine Erfahrungen mit dem Programm und wine allgemein zu teilen.

Passiert leider nicht häufig - viele sind von wine zu Proton gegangen und berichten dort und allgemein scheint die Auffassung zu sein: Funktioniert jetzt, danke und weg.. Bis zum nächsten Supportfall..

Möchte aber auch nicht nötigen oder bedrängen. Der Administrator weiß was er/sie tut..

Da hast du absolut Recht. Den Eintrag habe ich in die AppDB von wine eingegeben, er wird nun gerade geprüft und sollte in Kürze verfügbar sein.

MfG, Trisolaris

Mankind75 Team-Icon

Lokalisierungsteam
Avatar von Mankind75

Anmeldungsdatum:
4. Juni 2007

Beiträge: 3374

Trisolaris schrieb:

Da hast du absolut Recht. Den Eintrag habe ich in die AppDB von wine eingegeben, er wird nun gerade geprüft und sollte in Kürze verfügbar sein.

Super dann haben alle wine-Nutzer etwas davon. Danke für deine Unterstützung der AppDB.

Vieles bei wine existiert auch schon in Form von Patches für allerlei Anwendungen und ich komme leider auch nicht mehr so häufig zum Testen. Wenn dann ist es meinstens eher CrossOver, die kommerzielle Version wo ich dann Skripte schreibe, die die entsprechende wine-Umgebung vorbereiten. Da sind Tipps in der AppDB immer sehr hilfreich wenn etwas hinterlegt ist. Projekte wie PlayOnLinux bauen da auch ihre eigenen Skripte.

Antworten |