curto: tmux
não pode exibir todos os 256 itens em uma fonte
longo:
Refira-se ao código-fonte, que é um pouco estranho desde então (veja KBD - Ferramentas do teclado Linux página da web) prefere tarballs, mas você pode usar o conselho do git-cloning para conseguir pesquisar a origem . O showconsolefont
programa faz isso
- abre o dispositivo especificado,
- verifica que é um console ,
- obtém o modo atual, para ver se está usando UTF-8,
- torna um mapa de tela fictício (trivial)
- obtém o mapa de tela atual
- imprime a matriz ...
- para cada linha , ela remapeia os caracteres na matriz para mostrar a fonte
- restaura o modo e mapa de tela para o console
O motivo pelo qual showconsolefont
pode mostrar 256 itens (em vez de dizer 256 - 32 caracteres de controle) é porque ele remapeia os códigos enviados diretamente para o console. Na verdade, isso seria 33 controles porque 0x9b
é tratado de maneira diferente. Perto o suficiente. showconsolefont
está escrevendo caracteres que parecem ser imprimíveis, mas é linha a linha mudando os caracteres que são realmente desenhados.
Uma coisa que você pode perceber é que todas as alterações no dispositivo de console usam o descritor de arquivo para o dispositivo real, enquanto a matriz de caracteres é gravada na saída padrão. Quando você executa este fora tmux, esses são o mesmo dispositivo . Mas rodando dentro tmux
, a saída padrão é para um diferente dispositivo (um pseudo-terminal, que separa o mapeamento especial dos caracteres. Se você redirecionar o shell para o console, por exemplo,
$ tmux
$ sudo su -
# exec >/dev/console
# showconsolefont
você poderá ver parte dos personagens interessantes. Mas o pseudo-terminal não mostrará o retorno de linha / feed de linha como esperado, e a linha de status para tmux
pode não ser desenhada corretamente:
versus(foradetmux
):
Pode haver uma maneira de definir os modos de terminal do root para obter uma saída legível, mas isso não é o que showconsolefont
ou tmux
farão sem algum trabalho.