Sie können nicht einfach ein zufälliges Pty öffnen und erwarten, dass es funktioniert. (Eigentlich solltest du jede der Reihe nach öffnen, bis du eine findest, die frei ist.) Verwende stattdessen die richtige socat
Syntax dafür:
socat PTY,link=/tmp/mytty TCP:192.168.254.106:8080
Dadurch wird die Master-Seite eines verfügbaren Pseudo-Terminals geöffnet, es wird ein Symlink unter /tmp/mytty
der Slave-Seite hergestellt (gegebenenfalls geändert ) und zwischen der Master-Seite und Ihrem Remote-TCP-Port weitergeleitet.
Sie können jetzt /tmp/mytty
(oder das damit verbundene Slave-Pty) wie ein normales tty verwenden. ("Virtual local com-port" hört sich verdächtig an wie ein Windows-Begriff).
Übrigens, dies funktioniert auf allen Plattformen, die Pseudo-Terminals unterstützen, da sie socat
die für die Plattform geeignete Methode verwendet.
Bearbeiten
Was auch immer Sie als Option in dem von Ihnen ausgeführten Java-Programm sehen, hängt vollständig von dem von Ihnen ausgeführten Java-Programm ab, von dem ich nichts weiß (und Sie haben uns nichts davon erzählt). Es ist durchaus möglich, dass das Java-Programm zusätzliche Optionen hat, um es über andere Betriebssysteme zu informieren. Es ist auch möglich, dass es keine derartigen Optionen gibt.
Dateien darunter /dev
sind Teil eines speziellen Dateisystems, devfs
das die für den Kernel verfügbaren Geräte anzeigt. Anscheinend dürfen Sie keine Symlinks darauf erstellen.
Wenn Ihr Java-Programm also nur nach Dateien sucht /dev/cu.*
, haben Sie kein Glück.
Sie können immer versuchen, die Quelle für Ihr Java-Programm zu finden und es zu ändern. Oder sogar die Binärdatei patchen (den String /dev/cu
durch etwas anderes ersetzen ).