Anzahl PTY erhöhen

Status
Für weitere Antworten geschlossen.

juergen@net

Benutzer
Mitglied seit
28. Mai 2008
Beiträge
323
Punkte für Reaktionen
0
Punkte
0
Hallo,

die Anzahl der parallel offenen Konsolen scheint auf 3 begrenzt zu sein. Schmezlrich, wenn man mit "screen" arbeitet. Dann kommt die Meldung "no more PTYs".
Kann man die Zahl der PTY erhöhen?
Vieln Dank!
Jürgen
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
@jürgen,

hast schon mal versucht weitere pty-Devices mit mknod im Verzeichnis /dev zu erstellen?

itari
 

juergen@net

Benutzer
Mitglied seit
28. Mai 2008
Beiträge
323
Punkte für Reaktionen
0
Punkte
0
Bisher noch nicht, da ich den mknod noch gar nicht kannte. Habe jetzt mal gestöbert. Die Doku ist immer etwas abstrakt oder der Befehl zu mächtig.Versucht hab ich mal
mknod pty c 3
Aber das will er nicht. Es scheint noch "minor" zu fehlen.Aber ich habe keine Idee was sas sein sollte.
Irgendwie scheinen die pty uch mit den ttyp zu korrepondieren.
Gibt es irgendwo eine praktische Anleitung zum mknod?
Vielen Dank!
Gruss Juergen
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
schau mal mit ll /dev/pty*:

Rich (BBCode):
crw-r--r--    1 root     root       2,   0 Jul 19 20:19 /dev/ptyp0
crw-r--r--    1 root     root       2,   1 Jul 19 15:04 /dev/ptyp1
crw-r--r--    1 root     root       2,   2 Jul 10 23:36 /dev/ptyp2

Wenn es so ist, dann kann man mit

mknod /dev/ptyp3 c 2 3

ein weiteres device anlegen:

Rich (BBCode):
crw-r--r--    1 root     root       2,   3 Jul 19 20:18 /dev/ptyp3

Allerdings kann es sein, dass es nicht funktioniert, weil der Treiber nur 3 zulässt. Aber probieren kann man es ja mal.
 

juergen@net

Benutzer
Mitglied seit
28. Mai 2008
Beiträge
323
Punkte für Reaktionen
0
Punkte
0
Allerdings kann es sein, dass es nicht funktioniert, weil der Treiber nur 3 zulässt....
So wird's wohl sein. Die pty sind zu sehen aber screen beschwert ich trotzdem... Schade. Vielen Dank für Deine Mühe.
Gruss, Juergen
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
mach doch auch noch dieses hier:

mknod /dev/ttyp3 c 3 3

Ich meine mich zu erinnern, dass ptypX und ttypX mit dem gleichen Minor Pärchen bilden - wäre noch ein Versuch wert.

itari
 

juergen@net

Benutzer
Mitglied seit
28. Mai 2008
Beiträge
323
Punkte für Reaktionen
0
Punkte
0
Klasse! Das funktioniert! Das mit den Zwillingen hatte ich auch gelesen, war mir aber sehr unsicher, was einzugeben ist. Und wollte nichts riskieren.
Wäre auch nicht auf die Idee gekommen, bei pty c 2 3 einzugeben und bei tty c 3 3. Wie hängt das zusammen?
Vielen Dank! Gruss Juergen
 
Zuletzt bearbeitet:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Schau dir die vorhandenen Einträge mit ll /dev/ptyp? und ll /dev/ttyp? an. Die erste Zahl nach dem zweiten root ist der MAJOR, die zweite Zahl der MINOR. Der MAJOR ist der Index auf die Treiberschnittstelle (also welcher Treiber) und der MINOR ist sowas wie eine Kanalnummer (channelnumber) oder auch Feineinstellung.

Nun kann man sich vorstellen, dass der eine Treiber ptyp (MAJOR = 2) für Senden/Empfangen der Informationen ins Netz (connected sich sozusagen an den telnetd = pseudo-terminal) zuständig ist, der andere Treiber ttyp (MAJOR = 3) fürs Weiterleiten an das Programm in Linux (simuliert sozusagen eine serielle Terminalleitung = tty für das Programm). Die MINORS geben nun die Leitungskanalpärchen an, die zusammengehören und sich untereinander die Daten zureichen. Auf diese Weise können auch Programme mit dem Netz kommunizieren, die ursprünglich gar nicht für sowas programmiert wurden.

Das wars auch schon.

itari

PS. Natürlich kannst jetzt noch mehr solcher Pärchen anlegen :)
 

juergen@net

Benutzer
Mitglied seit
28. Mai 2008
Beiträge
323
Punkte für Reaktionen
0
Punkte
0
PS. Natürlich kannst jetzt noch mehr solcher Pärchen anlegen :)
itari sein Dank, klappt auch das. Vielen Dank für Deine Erklärung. Habs der Spur nach verstanden; überzeugend referieren könnte ich das nicht. Vielleicht, weil ich statt major eher i/o-select und für minor eher channel# sagen würde. Die Namen der Argumente sind vielleicht historisch. Die Manpages sind da auch nicht besonders erhellend.
Vielen Dank nochmals, bin wieder ein Stückchen weiter.
Gruss
Juergen
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Könnte einer von Euch beiden das mal ins Wiki aufnehmen? Ihr könnt die Materie bestimmt besser rüberbringen als ich...

Trolli
 

juergen@net

Benutzer
Mitglied seit
28. Mai 2008
Beiträge
323
Punkte für Reaktionen
0
Punkte
0
Hallo,

unter welchem Stichwort?

Verstanden habe ich die Sache nicht wirklich. In meinem Spickzettel habe ich etwa dieses Rezept:

Anzahl Ptyp und ttyp erhöhen

Die Anzahl der Terminals ist bei der DS standardäßig auf 3 begrenzt. Dann kommt die Meldung „no more pty“. Das ist besonders bei Verwendung von "Screen" lästig und bedarf der Erweiterung.

ptyp und ttyp arbeiten paarweise zusammen und muessen auch paarweise generiert werden. Pty braucht eine 2 als major und tty eine 3 als major. Minor ist die laufende Nummer:

ptyp per Telnet generieren:

mknod /dev/ptyp3 c 2 3
mknod /dev/ptyp4 c 2 4
mknod /dev/ptyp5 c 2 5

Test:
DS107p> ll /dev/pty*
crw-r--r-- 1 root .... /dev/ptyp0
crw-r--r-- 1 root .... /dev/ptyp1
crw-r--r-- 1 root .... /dev/ptyp2
crw-r--r-- 1 root .... /dev/ptyp3
crw-r--r-- 1 root .... /dev/ptyp4
crw-r--r-- 1 root .... /dev/ptyp5

ttyp per Telnet generieren:
mknod /dev/ttyp3 c 3 3
mknod /dev/ttyp4 c 3 4
mknod /dev/ttyp5 c 3 5

Test:
DS107p> ll /dev/ttyp*
crw------- 1 root .... /dev/ttyp0
crw--w--w- 1 root .... /dev/ttyp1
crw--w--w- 1 root .... /dev/ttyp2
crw--w--w- 1 root .... /dev/ttyp3
crw-r--r-- 1 root .... /dev/ttyp4
crw-r--r-- 1 root .... /dev/ttyp5
DS107p>

Muss nach FW-Update nochmals durchgeführt werden.


Gruss,

Juergen
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Shell-Skript-Süchtige können auch folgendes machen:

for i in 3 4 5
do
mknod /dev/ptyp$i c 2 $i
mknod /dev/ttyp$i c 3 $i
done

Das ganze in eine Datei rein (z.B. add_tty.sh) und als Skript laufen lassen. Man könnte die Anzahl dann natürlich durch weitere Werte erhöhen (for i in 3 4 5 6 7 8 9 10 11 ....).

Mir ist klar, dass auch noch andere Schleifenkonstruktionen möglich sind, die aber nicht so schön selbsterklärend sind.

itari
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat