Forum: PC Hard- und Software Wine (Ubuntu 18.04) überschreibt Symbolic Link


von Florian W. (florenzw)


Lesenswert?

Ich möchte mit einem Windowsprogramm unter Wine / Ubuntu 18.04 über COM4 
auf eine virtuelle serielle Schnittstelle /tmp/kisstnc zugreifen.

Zu diesem Zweck lösche ich ~/.wine/dosdevices/com4 (verlinkt im Original 
mit /dev/ttyS3) und lege mit
ln -s /tmp/kisstnc ~/.wine/dosdevices/com4
einen neuen Symlink an, der jetzt mit /tmp/kisstnc verlinkt.

Beim Starten des Windowsprogramms überschreibt Wine meinen neu 
angelegten Symlink und verlinkt COM4 wieder mit /dev/ttyS3.
Unter Ubuntu 16.04 passiert das nicht.

Hat jemand eine Idee, wie ich Wine davon abhalten kann meine Symlinks zu 
überschreiben?

von DPA (Gast)


Lesenswert?

Die von wine werden da wohl zwischendurch etwas geändert haben, damit 
man es anderweitig einstellen kann. Da ich zu faul zum suchen bin, der 
Workaround für Programme die ungewollt eine Datei löschen oder ändern 
ist immer "chattr +i ~/.wine/dosdevices/com4". Um die immutabilität der 
Datei später wieder aufzuheben, einfach "chattr -i" verwenden.

von Florian W. (florenzw)


Lesenswert?

florian@netbook:~$ sudo chattr +i ~/.wine/dosdevices/com4
chattr: Vorgang wird nicht unterstützt beim Lesens der Flags in 
/home/florian/.wine/dosdevices/com4

Wenn ich direkt ins Verzeichnis gehe, funktioniert's auch nicht.

von DPA (Gast)


Lesenswert?

Versuchs mal mit sudo. Falls das auch nicht geht, unterstützt dein 
Dateisystem keine xattr.

von Bernd K. (prof7bit)


Lesenswert?

Florian W. schrieb:
> Beim Starten des Windowsprogramms überschreibt Wine meinen neu
> angelegten Symlink und verlinkt COM4 wieder mit /dev/ttyS3.
> Unter Ubuntu 16.04 passiert das nicht.

Wine erkennt ab Version 2.8 die seriellen Schnittstellen automatisch 
(zumindest das Zeugs in /dev/tty*), das ist zu erkennen daran daß jetzt 
endlich(!) alles was ich immer brauche (USB-UART-Stöpsel) einfach so 
automagisch[TM] funktioniert[TM] und einen COM-Port zugewiesen bekommt 
den ein Programm unter wine auch verwenden kann.

Es gibt in der Registry (wine regedit) einen Schlüssel 
HKEY_LOCAL_MACHINE\Software\Wine\Ports der damit was zu tun hat bzw das 
selbe bezwecken soll wie die alten symlinks, schau mal hier ob das was 
bringt: 
https://wiki.winehq.org/Wine_User%27s_Guide#Serial_and_Parallel_Ports

von Florian W. (florenzw)


Lesenswert?

chattr funktioniert mit einer Textdatei einwandfrei, die lässt sich 
nicht mehr löschen.
Mit Symlinks funktioniert's leider nicht.

von Florian W. (florenzw)


Lesenswert?

Bernd K. schrieb:
> Es gibt in der Registry (wine regedit) einen Schlüssel
> HKEY_LOCAL_MACHINE\Software\Wine\Ports der damit was zu tun hat

Das ist die Lösung!
Habe entsprechend der Anleitung dort eine Zeichenfolge mit dem Namen 
com4 und dem Inhalt /tmp/kisstnc angelegt, neu gestartet und schon 
funktioniert es.

In der Anleitung schreiben sie COMx, muss meiner Ansicht nach comx sein.

Danke Bernd.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.