Qual o motivo de ter tantos consoles virtuais?
Eu entenderia se houvesse um caso a GUI travasse, mas mais 6 além do padrão? Para que servem? Eu até não vejo uso para nenhum deles, exceto quando a GUI congela.
Qual o motivo de ter tantos consoles virtuais?
Eu entenderia se houvesse um caso a GUI travasse, mas mais 6 além do padrão? Para que servem? Eu até não vejo uso para nenhum deles, exceto quando a GUI congela.
Respostas:
Resposta curta : por que não? (sorriso implícito, por favor)
Mais longo : suponho que seja principalmente uma história. Havia 6 consoles virtuais configurados getty
no primeiro linux que inicializei com suporte a VC, eu realmente esqueci quando (era por volta de 1990, eu acho). Então, quando você iniciou o ambiente gráfico (manualmente, comstartx
), ele se abriu no primeiro VC gratuito, que era o número 7. E eu ainda fazia a maior parte do meu trabalho em videocassetes na época: os editores eram muito mais rápidos e, em algum momento, usei mais videocassetes que os seis padrão, 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 que o descrevia), um VC para compilar, outro para ler um manual e outro conectado via telnet ao meu servidor de correio.
Eu suspeito que a lógica de 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
está o primeiro VC grátis".
Como uma observação lateral, você pode (suponho --- nunca tentei) reduzir os VCs. Simplesmente faça
sudo bash -c "echo 'manual' >> /etc/init/tty6.override"
para interromper o VC # 6, seguindo o manual inicial .
Por que não mais? Execute top
ou htop
em um (fornece estática de uso de CPU / memória), ssh
para outros sistemas em 2 ou 3, execute alguma tarefa automatizada em outro, mantenha uma livre apenas por precaução, faça login em vários usuários em mais algumas, execute cmatrix
em um, inicie o GUI em outro com -
startx -- :1
(alguns gráficos têm erros com isso)
http://mostlylinux.wordpress.com/trou Troubleshooting/ttysessions/
Quando você realmente começa a utilizar esse recurso, 7 tty (o sétimo é o padrão) parece muito pequeno - e você pode adicionar mais.
Para reduzir o número: Como posso reduzir o número de TTYs?
Todas as /dev/tty*
entradas são conhecidas como device file
, de acordo com a filosofia do Unix. Eles servem como um link entre o usuário e o dispositivo real, mas seu objetivo pode ser um pouco diferente.
Os arquivos do dispositivo /dev/tty123
podem ser usados para interagir com o sistema por meio do shell comum. Esses são terminais virtuais. O sistema Ubuntu está configurado para abrir por padrão TTY 1 a 6, mas é possível abrir manualmente mais, por exemplo:
sudo openvt -c 9 -s "bash"
Isso abrirá bash
como root em / dev / tty9 e imediatamente o levará para esse TTY (se feito no terminal local, mas se você fizer isso por meio de uma ssh
sessão remota , nesse caso, poderá ser necessário usar chvt 9
, onde 9 está /dev/tty9
neste exemplo). Para fazer o mesmo sem sudo
ser não raiz, você precisará alterar a propriedade do tty que deseja abrir. Por exemplo,
$ sudo chown xieerqi:tty /dev/tty8
$ openvt -c 8 -l
Isso me conectaria com meu shell padrão no tty8. Nos meus testes, no entanto, parece que isso funciona apenas via TTY; portanto, se você estiver fazendo isso através do emulador de terminal, isso pode não funcionar (eu estava recebendo Couldn't get a file descriptor referring to the console
erro e só sudo openvt -c 8 -l
funcionava para mim no emulador)
Do ponto de vista histórico, antes da criação de todos os sofisticados multiplexadores de terminal, esse era um recurso útil - você podia gerar até 62 comandos (talvez servidores) nesses consoles e deixá-los rodar enquanto trabalhava na 63ª. Atualmente, pode não ser tão necessário.
Existem vários arquivos de dispositivo criados por padrão. Os ativos são de 1 a 6, mas é possível alterar seu 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]"
Esses são arquivos de dispositivo usados para consoles seriais, também conhecidos como UART (também conhecido como RS-232). No passado, muitos sistemas de computadores vinham com porta serial. Atualmente, isso pode ser encontrado principalmente no tipo de servidor de computadores. Vários dispositivos ttyS podem ser úteis com os 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), usamos porta serial para interagir com microcontroladores e placas de desenvolvimento (Arduino, por exemplo). Os computadores de porta única, como o Raspberry Pi, também o usam. Atualmente, a conexão serial é estabelecida usando o cabo USB para UART e abrindo o console no terminal da seguinte screen
maneira:
screen /dev/ttyUSB0 115200 # the number is baud rate or speed
Observe que o Arduino e o Raspberry criarão seu próprio arquivo de dispositivo para conexão serial /dev/ttyUSB0
ou/dev/ttyACM0
De acordo com man vcs
estes são os dispositivos de memória do console. Em palavras simples, se você sudo cat /dev/vcs1
ver o que está na tela /dev/tty1
, pelo menos até a quantidade máxima de linhas nesse terminal.
Diminuir o número de arquivos de dispositivos reais não é possível sem alterar a tty.h
biblioteca e recompilar o kernel ( Reference e outro ). No entanto, a exclusão desses dispositivos pode ser feita manualmente através deste comando:
sudo bash -c 'for num in $(seq 10 63 ) ; do MAKEDEV -v -d "tty$num" ; done'
Isso, no entanto, é um pouco inútil - os arquivos do dispositivo não ocupam espaço e não influenciam o desempenho do sistema.
A praticidade é real. Pode haver vários programas em execução simultaneamente no sistema Linux verdadeiramente multiusuário, e você pode verificar cada um deles, se cada um deles é executado em seu próprio terminal virtual. Ao fazer login em cada um, você pode fazer login como usuários diferentes, se necessário. Agora, concedido, muitas pessoas chegam ao Linux com uma perspectiva de usuário único, mas desde que o Linux nasceu multiusuário, esse recurso nunca foi descartado.