¿Por qué tantas consolas virtuales?

22

¿Cuál es el motivo para tener tantas consolas virtuales?

¿Lo entendería si hubiera uno en caso de que la GUI falle, pero 6 más además de la predeterminada? ¿Para qué son? Incluso no veo uso para ninguno de ellos, excepto cuando la GUI se congela.

    
pregunta Hinklo 15.11.2013 - 00:33

4 respuestas

13

Respuesta corta: ¿por qué no? (sonrisa implícita, por favor)

Más larga: supongo que es una historia en su mayor parte. Allí donde 6 consolas virtuales configuradas con getty en el primer linux que inicié con soporte de VC, realmente me olvidé cuando (alrededor de 1990, creo). Luego, cuando comenzó el entorno gráfico (a mano, se abrió con startx ) sí mismo en el primer VC libre, que pasó a ser # 7. Y todavía hice la mayor parte de mi trabajo en VCs en ese momento: los editores eran mucho más rápidos y en algún momento usé más VCs que el estándar de seis, y mi computadora portátil no era exactamente un monstruo gráfico ...

Por ejemplo, solía ejecutar tres editores (un programa, sus datos de entrada, un archivo TeX que lo describe), un VC para compilar, otro para leer un manual y otro conectado a través de telnet a mi servidor de correo.

Sospecho que la razón para seguir utilizando seis consolas virtuales es dejar que el CV gráfico sea # 7 para todos, para que pueda escribir en los manuales " Ctrl-Alt-F7 " y no " Ctrl-Alt-Fx donde x es el primero VC gratis ".

Como nota al margen, puedes (supongo que nunca lo intenté) recortar los VCs. Simplemente hazlo

 sudo bash -c "echo 'manual' >> /etc/init/tty6.override"

para detener el VC # 6, siguiendo el manual de upstart .

    
respondido por el Rmano 15.11.2013 - 01:23
8

¿Por qué no más? Ejecute top o htop en uno (le da a la CPU / memoria usos estáticos), ssh a otros sistemas en 2 o 3, ejecute alguna tarea automatizada en otro, mantenga uno gratis por si acaso, inicie sesión en múltiples usuarios en un unos pocos más, ejecute cmatrix en uno, inicie la GUI en otro con -

startx -- :1

(algunos gráficos tienen errores con esto)

enlace

Cuando realmente comienzas a utilizar esta característica, 7 tty (la séptima es la predeterminada) parecen ser muy pocas, y puedes agregar más.

Para reducir el número: ¿Cómo puedo reducir la cantidad de TTY? ?

    
respondido por el Mateo 15.11.2013 - 00:59
7

Todas las entradas de /dev/tty* son algo conocido como device file , de acuerdo con la filosofía de Unix. Sirven como un enlace entre el usuario y el dispositivo real, pero su propósito puede diferir ligeramente.

Consolas virtuales

Los archivos de dispositivos como /dev/tty123 se pueden usar para interactuar con el sistema a través de un shell normal. Estos son terminales virtuales. El sistema Ubuntu está configurado para abrir TTY 1 a 6 por defecto, pero uno puede abrir más manualmente, por ejemplo:

sudo openvt -c 9 -s "bash"

Eso abrirá bash como raíz en / dev / tty9 y lo cambiará de inmediato a ese TTY. Para hacer lo mismo sin sudo como no root, tendrá que cambiar la propiedad de tty que desea abrir. Por ejemplo,

$ sudo chown xieerqi:tty /dev/tty8 
$ openvt -c 8 -l 

Eso me conectaría con mi shell predeterminado en tty8. En mis pruebas, sin embargo, parece que esto funciona solo a través de TTY, así que si lo haces a través del emulador de terminal, es posible que no funcione (obtuve Couldn't get a file descriptor referring to the console error y solo sudo openvt -c 8 -l me funcionó desde el emulador)

Desde el punto de vista histórico, antes de que se crearan todos los elegantes multiplexores de terminal, esta era una característica útil: podía generar hasta 62 comandos (tal vez servidores) en esas consolas, y dejarlos funcionar, mientras trabajaban en el 63º. Hoy en día, podría no ser tan necesario.

Hay varios archivos de dispositivo creados de manera predeterminada. Los activos son del 1 al 6, pero uno puede modificar su número editando /etc/default/console-setup , específicamente esta parte:

# Setup these consoles.  Most people do not need to change this.
ACTIVE_CONSOLES="/dev/tty[1-6]"

ttyS * dispositivos

Estos son archivos de dispositivos usados ​​para consolas seriales, también conocidas como UART (también conocidas como RS-232). En el pasado, muchos sistemas informáticos vendrían con puerto serie. Hoy en día, esto se puede encontrar principalmente en el tipo de servidor de las computadoras. Múltiples dispositivos ttyS podrían ser útiles con los concentradores RS-232, que permiten conectar múltiples dispositivos a través de USB o Ethernet.

Para los ingenieros eléctricos (que es en lo que me estoy especializando en la universidad), utilizamos el puerto serie para interactuar con microcontroladores y placas de desarrollo (Arduino, por ejemplo). Las computadoras de puerto único, como Raspberry Pi, también lo usan. Hoy en día, la conexión en serie se establece usando un cable USB a UART, y abriendo la consola en el terminal a través de screen como se muestra a continuación:

screen /dev/ttyUSB0 115200 # the number is baud rate or speed

Tenga en cuenta que Arduino y Raspberry crearán su propio archivo de dispositivo para conexión en serie, /dev/ttyUSB0 o /dev/ttyACM0

vcs * dispositivos

Según man vcs , estos son dispositivos de memoria de la consola. En palabras simples, si haces sudo cat /dev/vcs1 , verás qué hay en la pantalla en /dev/tty1 , al menos hasta la cantidad máxima de líneas en esa terminal.

Disminuir el número de consolas

Disminuir el número de archivos de dispositivos reales, no es posible sin alterar tty.h library y recompilar el kernel ( Referencia y otra ). Sin embargo, la eliminación de esos dispositivos se puede hacer manualmente a través de este comando:

sudo bash -c 'for num in $(seq 10 63 ) ; do MAKEDEV -v -d "tty$num" ; done'

Sin embargo, esto no tiene ningún sentido: los archivos del dispositivo no ocupan espacio y no influyen en el rendimiento del sistema.

    
respondido por el Sergiy Kolodyazhnyy 28.08.2016 - 16:08
4

La practicidad es real. Puede haber múltiples programas ejecutándose simultáneamente en el sistema Linux verdaderamente multiusuario, y puede ingresar para verificar cada uno si cada uno se ejecuta en su propio terminal virtual. Cuando inicie sesión en cada uno, puede iniciar sesión como usuarios diferentes, si es necesario. Ahora, concedido, mucha gente llega a Linux con una perspectiva de usuario único, pero como Linux nació multi-usuario, esa capacidad nunca se descartó.

    
respondido por el K7AAY 15.11.2013 - 00:55

Lea otras preguntas en las etiquetas