Por que tantos consoles virtuais?

23

Qual é o motivo de ter tantos consoles virtuais?

Eu entenderia se houvesse um no caso de a GUI cair, mas mais 6 além do padrão? Para que servem? Eu até não vejo nenhum uso para nenhum deles, exceto quando a GUI congela.

    
por Hinklo 15.11.2013 / 01:33

4 respostas

13

Resposta curta: por que não? (sorriso implícito, por favor)

Mais longo: é principalmente uma história, suponho. Lá onde 6 consoles virtuais configurados com getty no primeiro linux eu iniciei com suporte a VC, eu realmente me esqueci quando (era por volta de 1990, eu acho). Então, quando você iniciou o ambiente gráfico (à mão, com startx ), ele abriu se no primeiro VC livre, que passou a ser # 7. E eu ainda fazia a maior parte do meu trabalho em VCs na época: os editores eram muito mais rápidos e às vezes eu usava mais VCs que os seis padrões, e meu laptop não era exatamente um monstro gráfico ...

Por exemplo, eu costumava executar três editores (um programa, seus dados de entrada, um arquivo TeX descrevendo-o), um VC para compilar, outro para ler um manual e outro conectado via telnet ao meu servidor de e-mail.

Eu suspeito que a razão para ainda usar seis consoles virtuais é deixar o VC gráfico em # 7 para todos, para que você possa escrever nos manuais " Ctrl-Alt-F7 " e não " Ctrl-Alt-Fx onde x é o primeiro VC livre ".

Como uma nota lateral, você pode (suponho que --- nunca tentei) reduzir os VCs. Simplesmente faça

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

para parar o VC # 6, seguindo o manual de arranque .

    
por Rmano 15.11.2013 / 02:23
8

Por que não mais? Execute top ou htop em um (fornece estática de usos de cpu / memória), ssh para outros sistemas em 2 ou 3, execute alguma tarefa automatizada em outro, mantenha um livre apenas no caso, faça login em vários usuários em um mais alguns, execute cmatrix em um, inicie a GUI em outro com -

startx -- :1

(alguns gráficos têm bugs com isso)

link

Quando você realmente começa a utilizar este recurso, 7 tty's (o sétimo é o padrão) parecem muito poucos - e você pode adicionar mais.

Para reduzir o número: Como posso reduzir o número de TTYs?

    
por Mateo 15.11.2013 / 01:59
7

Todas as entradas /dev/tty* são algo conhecido como device file , de acordo com a filosofia Unix. Eles servem como um link entre o usuário e o dispositivo real, mas sua finalidade pode ser um pouco diferente.

Consoles virtuais

Arquivos de dispositivos como /dev/tty123 podem ser usados para interagir com o sistema via shell comum. Esses são terminais virtuais. O sistema Ubuntu está configurado para abrir por padrão TTY 1 a 6, mas pode-se abrir manualmente mais, por exemplo:

sudo openvt -c 9 -s "bash"

Isso abrirá bash como root em / dev / tty9 e mudará imediatamente para esse TTY. Para fazer o mesmo sem sudo como non-root, você terá que alterar a propriedade de tty que deseja abrir. Por exemplo,

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

Isso me logaria com meu shell padrão no tty8. Em meus testes, no entanto, parece que isso funciona apenas via TTY, então se você estiver fazendo isso via emulador de terminal, isso pode não funcionar (eu estava recebendo Couldn't get a file descriptor referring to the console error e somente sudo openvt -c 8 -l funcionou para mim do emulador)

Do ponto de vista histórico, antes de todos os multiplexadores de terminais sofisticados terem sido criados, esse era um recurso útil - você poderia gerar até 62 comandos (talvez servidores) nesses consoles e deixá-los rodar, enquanto trabalhava na 63ª. Hoje em dia, pode não ser tão necessário.

Existem vários arquivos de dispositivos criados por padrão. As ativas são de 1 a 6, mas é possível alterar o número editando /etc/default/console-setup , especificamente esta parte:

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

dispositivos ttyS *

Estes são arquivos de dispositivos usados para consoles seriais, também conhecidos como RS-232. No passado, muitos sistemas de computadores vinham com porta serial. Hoje em dia, isso pode ser encontrado principalmente no tipo de servidor de computadores. Vários dispositivos ttyS podem ser úteis com hubs RS-232, que permitem conectar vários dispositivos a serem gerenciados via USB ou Ethernet.

Para engenheiros elétricos (que é o que eu estou estudando na faculdade), nós usamos porta serial para interagir com microcontroladores e placas de desenvolvimento (Arduino, por exemplo). Computadores de porta única, como o Raspberry Pi, também o utilizam. Hoje em dia, a conexão serial é estabelecida usando o cabo USB para UART, e abrindo o console no terminal via screen da seguinte forma:

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

Note que o Arduino e o Raspberry criarão seu próprio arquivo de dispositivo para conexão serial, /dev/ttyUSB0 ou /dev/ttyACM0

dispositivos vcs *

De acordo com man vcs , esses são dispositivos de memória do console. Em palavras simples, se você fizer sudo cat /dev/vcs1 , verá o que está na tela em /dev/tty1 , pelo menos até a quantidade máxima de linhas nesse terminal.

Diminuindo o número de consoles

Diminuir o número de arquivos de dispositivos reais, não é possível sem alterar a biblioteca tty.h e recompilar o kernel ( Referência e outro ). No entanto, a exclusão desses dispositivos pode ser feita manualmente por meio deste comando:

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

Isso, no entanto, é um tanto inútil - os arquivos do dispositivo não ocupam espaço e não influenciam o desempenho do sistema.

    
por Sergiy Kolodyazhnyy 28.08.2016 / 18:08
4

A praticidade é real. Pode haver vários programas em execução simultaneamente no sistema Linux verdadeiramente multiusuário, e você pode entrar para verificar cada um deles se cada um deles for executado em seu próprio terminal virtual. Quando você se conecta a cada um, pode efetuar login como usuários diferentes, se necessário. Agora, muitas pessoas chegam ao Linux com uma perspectiva de usuário único, mas como o Linux nasceu como multiusuário, essa capacidade nunca foi descartada.

    
por K7AAY 15.11.2013 / 01:55