¿Cuál es la razón de tener tantas consolas virtuales?
¿Entendería si hubiera uno en caso de que la GUI se bloquee pero 6 más además del predeterminado? ¿Para qué son? Incluso no veo uso para ninguno de ellos, excepto cuando la GUI se congela.
¿Cuál es la razón de tener tantas consolas virtuales?
¿Entendería si hubiera uno en caso de que la GUI se bloquee pero 6 más además del predeterminado? ¿Para qué son? Incluso no veo uso para ninguno de ellos, excepto cuando la GUI se congela.
Respuestas:
Respuesta corta : ¿por qué no? (sonrisa implícita, por favor)
Más largo : supongo que es sobre todo una cuestión de historia. Hubo 6 consolas virtuales configuradas getty
en el primer linux que arranqué con soporte de VC, realmente olvidé cuándo (fue alrededor de 1990, creo). Luego, cuando comenzó el entorno gráfico (a mano, constartx
), se abrió en el primer VC libre, que resultó ser el # 7. Y todavía hacía la mayor parte de mi trabajo en VC en ese momento: los editores eran mucho más rápidos y en algún momento usé más VC que los seis estándar, 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 usando seis consolas virtuales es dejar el VC gráfico en el # 7 para todos, para que pueda escribir en los manuales " Ctrl-Alt-F7
" y no " Ctrl-Alt-Fx
dónde x
está el primer VC gratis".
Como nota al margen, puede (supongo --- nunca lo intentó) recortar los VC. Simplemente hacer
sudo bash -c "echo 'manual' >> /etc/init/tty6.override"
para detener VC # 6, siguiendo el manual inicial .
¿Por qué no más? Ejecutar top
o htop
en uno (proporciona estadísticas de uso de CPU / memoria), ssh
a otros sistemas en 2 o 3, ejecutar alguna tarea automatizada en otro, mantener una libre por si acaso, iniciar sesión en varios usuarios en algunos más, ejecutar cmatrix
en uno, iniciar el GUI en otro con -
startx -- :1
(algunos gráficos tienen errores con esto)
http://mostlylinux.wordpress.com/troubleshooting/ttysessions/
Cuando realmente comienza a utilizar esta función, 7 tty (la séptima es la predeterminada) parecen ser muy pocas, y puede agregar más.
Para reducir el número: ¿Cómo puedo reducir el número de TTY?
Todas las /dev/tty*
entradas 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.
Los archivos de dispositivo como /dev/tty123
pueden usarse para interactuar con el sistema a través de un shell normal. Esos son terminales virtuales. El sistema Ubuntu está configurado para abrir por defecto TTY 1 a 6, pero uno puede abrir manualmente más, por ejemplo:
sudo openvt -c 9 -s "bash"
Eso se abrirá bash
como root en / dev / tty9 e inmediatamente lo cambiará a ese TTY (si se hace en la terminal local, pero si lo hace a través de una ssh
sesión remota , en cuyo caso es posible que necesite usar chvt 9
, donde 9 está /dev/tty9
en este ejemplo). Para hacer lo mismo sin sudo
que sea root, deberá cambiar la propiedad de tty que desea abrir. Por ejemplo,
$ sudo chown xieerqi:tty /dev/tty8
$ openvt -c 8 -l
Eso me iniciaría sesión con mi shell predeterminado en tty8. Sin embargo, en mis pruebas, parece que esto funciona solo a través de TTY, por lo que si lo hace a través del emulador de terminal, eso podría no funcionar (recibí un Couldn't get a file descriptor referring to the console
error y solo sudo openvt -c 8 -l
funcionó para mí desde el emulador)
Desde el punto de vista histórico, antes de que se crearan todos los sofisticados multiplexores de terminales, esta era una característica útil: podía generar hasta 62 comandos (tal vez servidores) en esas consolas y dejarlos correr, mientras trabajaba en la 63a. Hoy en día, podría no ser tan necesario.
Hay varios archivos de dispositivo creados por defecto. 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]"
Estos son archivos de dispositivo utilizados para consolas en serie, también conocido como UART (también conocido 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 administrar la conexión de 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 utilizando un cable USB a UART, y abriendo la consola en la terminal de la siguiente screen
manera:
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 la conexión en serie, /dev/ttyUSB0
o/dev/ttyACM0
De acuerdo con man vcs
estos son los dispositivos de memoria de la consola. En palabras simples, si lo hace sudo cat /dev/vcs1
, verá lo que está en la pantalla /dev/tty1
, al menos hasta la cantidad máxima de líneas en ese terminal.
Disminuir la cantidad de archivos reales del dispositivo no es posible sin alterar la tty.h
biblioteca y volver a compilar el kernel ( Referencia y otro ). 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 sentido: los archivos del dispositivo no ocupan espacio y no influyen en el rendimiento del sistema.
La practicidad es real. Puede haber múltiples programas ejecutándose simultáneamente en el sistema Linux verdaderamente multiusuario, y puede visitar cada uno de ellos si cada uno se ejecuta en su propio terminal virtual. Cuando inicia sesión en cada uno, puede iniciar sesión como usuarios diferentes, si es necesario. Ahora, concedido, muchas personas llegan a Linux con una perspectiva de usuario único, pero desde que Linux nació multiusuario, esa capacidad nunca se descartó.