1 votos

¿Cuál es el propósito de los sistemas BSD pty/tty archivos de dispositivo en /dev?

Estoy en macOS Catalina.

Como lo que puedo decir (lectura man pty, man tty, partes de este artículo de la wikipedia, y esta un poco anticuado, de referencia en las ttys), los archivos de dispositivos que no son más utilizados.

En cambio, cuando uno abre la Terminal.app, /dev/ptmx (pseudo terminal maestro multiplexor) crea dinámicamente un /dev/ttys### de esclavos para que el usuario escriba las entradas de comando. Esto es lo que uno ve cuando se llama a who.

Sin embargo, cuando me ls /dev, veo que muchos pares de estos estilo BSD pseudoterminal archivos, que es, /dev/ttyXY y /dev/ptyXY donde XY son un par de personajes. Yo creo que hay 255 total de pares de estos archivos.

  • Hay alguna razón específica además de la compatibilidad hacia atrás que estos archivos están en las nuevas versiones de macOS? Todos los casos de uso?
  • Si es posible, ¿cómo podría abrir uno de estos BSD PTY archivos, en lugar de /dev/ptmx, para el general de la terminal del uso o de la con screen? Cuando traté screen \dev\ttyw0, no pasó nada, y xterm creado otra \dev\ttys###.
  • ¿Por qué el nuevo ptmx el sistema adoptado? Sólo así puedo crear más de 255 sesiones de terminal a la vez?

Edit: diferentes pero relacionadas post.

1voto

Jose Chavez Puntos 645

Compatibilidad hacia atrás es la razón por la que estos archivos están en la más reciente versión de macOS. Está ahí para asegurarse de que los programas que esperar que esta forma de manejo de los pseudo terminales todavía funcionan.

Usted puede abrir la /dev/ptyX# archivos de la misma manera que abriría /dev/ttys### archivos. Parece que han invertido las barras en su comando - por favor, asegúrese de que está utilizando las barras de como esta:

screen /dev/ttyw0

Tenga en cuenta que esto en sí mismo no causa nada le suceda. Sólo tienes conectado a un extremo de la terminal de par. Usted necesita para conectarse a otro extremo así como para la transferencia de datos.

Como un ejemplo, usted podría abrir una ventana de Terminal y ejecutar el comando anterior, y, a continuación, abra otra ventana de Terminal y ejecutar el siguiente comando:

screen /dev/ptyw0

Ahora si escribe algo en una ventana, aparece en la otra (y viceversa).

El principal factor en la adopción de la ptmx sistema era que el viejo sistema es muy complejo para los programadores el uso correcto. Parece engañosamente simple, pero cuando te metes en ella, usted encontrará que en realidad no es.

Uno de los principales problemas es en la determinación de cual de las /dev/ttyXX archivos a utilizar realmente. I. e. desea utilizar uno que no está en uso por otros. Si no eres muy cuidadoso, dos programas que desea abrir un nuevo pseudo terminal al mismo tiempo podría pensar, equivocadamente, que el mismo terminal no está en uso por otras personas, y, a continuación, la puesta en uso de ella, causando todo tipo de problemas. El ptmx sistema resuelve este problema.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X