/dev/tty vagy /dev/vc

Fórumok

/dev/tty vagy /dev/vc

Hozzászólások

A kérdés meglepően egyszerű:
Mi a különbség az egyszerű távgépelészeti (teletyping) és a virtuális konzol között?

Sokat filóztam rajta, hogy egyáltalán miért érdemes különböző konzolfajtákat csinálni, de nem tudtam rájönni. A teljesség igénye nélkül: a gentoo pl vc-t használ, a debian meg tty-t.

További "értelmes" kérdések:
1. Van értelmes oka/célja annak, hogy különbözőt használnak?
2. Különböznek ezek egyáltalán egymástól?
3. Ha nem fordítok /dev/pts-t a kernelbe, mit kap az ssh-n bejelentkező felhasználó?

[quote:b08cfe2586="tetemes"]A kérdés meglepően egyszerű:
Mi a különbség az egyszerű távgépelészeti (teletyping) és a virtuális konzol között?

Sokat filóztam rajta, hogy egyáltalán miért érdemes különböző konzolfajtákat csinálni, de nem tudtam rájönni. A teljesség igénye nélkül: a gentoo pl vc-t használ, a debian meg tty-t.

Nézd meg az eszközök major és minor számát. Ha azok megegyeznek, akkor tök ugyanaz a kettő. A /dev/tty1 és a /dev/vc/1 tök ugyanaz, régi statikus dev esetén tty1, devfs esetén vc/1 volt az elterjedt név, udev esetén meg melyik disztribnek mihez van kedve. Sok esetben pedig egyik szimlink a másikra. A kernel tty1 néven illeti az eszközt, bár ez általában nem számít.

Aztán meg van a vca és vcsa, ami egy eléggé más történet, az nem terminál, hanem a vga (vagy framebuffer, tök mindegy) szóval a szöveges konzol látható részének tartalma karakterenként fix 1 vagy 2 byte kódolásban.

3. Ha nem fordítok /dev/pts-t a kernelbe, mit kap az ssh-n bejelentkező felhasználó?

ttyp0, p1, ... pf, q0 és így tovább. Régi elavult vacak, kínszenvedés menedzselni ezen fájlok jogait, meg mindegyikhez van egy saját ptyp0 vagy ilyesmi, ami a túloldala a terminálnak. Az sshd vagy akárki szegénynek addig kell próbálkoznia míg talál egy szabadot, sokkal egyszerűbb ha a ptmx-et megnyitja és megtudja hogy melyik pts/N-et kapta meg. Szóval fordíts unix98 pty supportot, megéri, és a legacy ttyp0 supportot szerintem akár ki is vághatod.