Pregunta

Quiero entender cómo programas como vim o el trabajo man en una cáscara. ¿Cómo permiten el desplazamiento del usuario, actualizar la pantalla y tal?

Se parece interactuar con alguna biblioteca de la consola y, por tanto, manipular lo que vemos. Lo que realmente está pasando?

¿Fue útil?

Solución

El terminal tiene lo que se llama un controlador de terminal . Esto no es un conductor en el sentido de una interfaz con el hardware, sino que interpreta ciertas secuencias de caracteres que hacen que se pueden realizar operaciones como el desplazamiento, los atributos de texto, y así sucesivamente.

Las secuencias de caracteres se almacenan en la terminfo base de datos . Una biblioteca llamada maldiciones (o su equivalente moderno, ncurses ) lee la base de datos terminfo y emite las diversas secuencias de caracteres basado en las funciones llamadas.

La separación de la base de datos terminfo desde el controlador propio terminal permite que los programas de apoyo a una serie de terminales como xterm, la consola de texto, los clientes de red, terminales tontas, incluso a distancia conectados a través de una línea serie.

Otros consejos

Aquí está una gran How-To:

Es posible que desee echar un vistazo a el capítulo 17 -. El uso de la terminal

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top