Por que o console xterm.js está esmaecido, e qual console você quer de verdade
O Proxmox oferece mais de uma porta para um convidado em execução, e justamente aquela para a qual as pessoas estendem a mão costuma aparecer indisponível sem explicação nenhuma. A entrada acinzentada não está quebrada; ela espera dois preparos, um no hospedeiro e outro dentro do convidado.
AtlasPVE ·
Este verbete responde a
- proxmox xterm js esmaecido
- proxmox xterm js indisponível
- proxmox novnc ou spice
- proxmox console serial
- proxmox xterm js greyed out
Você abre o menu de console de uma máquina virtual e uma das entradas está acinzentada. Nada explica o motivo. Na máquina ao lado, a mesma entrada funciona.
Isso não é defeito. O Proxmox VE oferece várias portas diferentes para um convidado em execução, elas não são intercambiáveis, e uma delas tem pré-requisitos fáceis de perder porque ninguém os anuncia.
As portas, e o que cada uma realmente é
O console gráfico. É o que sempre funciona numa máquina virtual. Ele desenha no seu navegador a tela emulada do convidado, exatamente como faria um monitor ligado a uma máquina física. Não precisa de configuração, porque a placa de vídeo emulada está sempre lá.
SPICE. Um protocolo de exibição remota mais rico, útil para melhor desempenho num convidado de mesa, para som ou para redirecionar dispositivos locais. Exige um aplicativo cliente no seu computador e um tipo de vídeo adequado no convidado, ou seja, é uma escolha deliberada e não um padrão.
O terminal serial. Um console de texto puro, sem gráficos. É esse que fica acinzentado.
O console de contêiner. Contêineres não emulam hardware algum, então o console deles é um mecanismo completamente diferente. Por isso "o console não funciona" num contêiner e numa máquina virtual são dois problemas distintos com duas respostas distintas.
Por que o console de texto fica indisponível
Ele precisa de uma porta serial, e máquinas virtuais não têm uma enquanto alguém não adicionar. Sem porta serial não há console serial, e a entrada do menu simplesmente fica apagada.
No hospedeiro usado para verificar isso, quatro de oito máquinas virtuais não tinham porta serial nenhuma. Nessas quatro a entrada fica acinzentada de forma permanente, e em lugar nenhum da tela aparece a palavra "serial".
A metade que as pessoas adicionam e ainda assim veem tela preta
Adicionar a porta à máquina virtual é o lado do hospedeiro. Existe um segundo lado, e pulá-lo produz o resultado mais confuso de todos: o console abre, conecta e não mostra nada.
O convidado também precisa estar falando naquele fio. Num convidado Linux moderno isso significa um serviço de login ligado ao dispositivo serial; em sistemas de inicialização antigos configura-se de outro jeito. Opcionalmente dá para mandar o carregador de inicialização enviar também as mensagens de boot para lá, e é justamente esse o sentido nos casos abaixo.
Um console serial em branco geralmente não quer dizer quebrado. Quer dizer que lá dentro ninguém está falando naquela porta.
Por que se dar ao trabalho
O console gráfico é mais fácil, então a pergunta honesta é: por que alguém se incomodaria? Os motivos são específicos, e cada um é um momento em que o console gráfico deixa você na mão.
Pânicos do kernel e mensagens de inicialização. Quando um convidado falha antes de terminar de subir, o texto interessante passa voando numa tela que você não consegue rolar para trás. Um console serial entrega esse texto como texto.
Copiar e colar que se comporta como terminal. Porque é texto, e não a imagem de um texto.
Um layout de teclado quebrado. Quando o console gráfico mapeia suas teclas errado, um console de texto costuma continuar funcionando.
Acesso de rede perdido. Ambos os consoles sobrevivem a isso, mas o de texto continua utilizável quando o convidado está mal demais para desenhar uma tela.
Qual escolher
Para uma olhada de rotina numa máquina em execução, pegue o console gráfico; ele está sempre lá e não pede nada.
Para um convidado que você espera ter que resgatar algum dia, prepare o console serial antes de precisar dele. Fazer isso durante um incidente significa editar uma configuração que você não alcança, numa máquina em que você não consegue entrar. A lição inteira está nessa ordem.
Para uma carga de mesa em que a experiência importa, o SPICE compensa a instalação do cliente.
Para um contêiner, use o console dele e trate a solução de problemas como assunto separado.
O que o Atlas faz
O Atlas não constrói um quinto console. Quando você abre o console de um convidado a partir do Atlas, ele entrega você ao console gráfico do próprio Proxmox VE, de propósito, porque reimplementar aquilo significaria uma segunda coisa em que confiar e uma segunda coisa que pode quebrar.
Onde o Atlas ajuda é antes: nas tarefas que mandam você para um console em primeiro lugar. Boa parte das visitas ao console não são sessões de depuração, mas uma única mudança de configuração que não tinha tela. Essas moram na interface.
O console é para o dia em que algo está realmente errado. O objetivo é que terças-feiras comuns não exijam um.
Fontes
A documentação oficial do Proxmox. Em inglês, e é ela que dá a palavra final neste assunto.