I'd like to access an
agetty
terminal, which I'd normally access with ⎈ Control+⎇ Alt+F2
Existem dois erros, um dos quais aponta para uma resposta, uma das várias respostas possíveis.
O primeiro erro é que o FreeBSD não possui agetty
("getty alternativo") do Wietse Venema. Tem BSD getty
comum. Então essa nomenclatura está errada. Na verdade, não há necessariamente um getty
em execução em cada terminal virtual do kernel, dependendo do que está configurado em /etc/ttys
.
O segundo erro é que normalmente se acessam os múltiplos terminais virtuais do kernel com apenas ⎇ Alt e uma tecla de função no FreeBSD. O ⎈ Control é supérfluo e necessário apenas quando um servidor X está em primeiro plano. Os servidores X só reconhecem acordes que tenham tanto ⎈ Controle + ⎇ Alt , mas os mapeamentos de teclado dados ao próprio kernel, que é o que manipula isso quando um servidor X não está no primeiro plano, só na verdade requerem ⎇ Alt , como fizeram no SCO Multiscreen (onde isso se originou):
% sed -n -e '1,4p;/ 068 /p' /usr/share/vt/keymaps/uk.kbd # $FreeBSD$ # alt # scan cntrl alt alt cntrl lock # code base shift cntrl shift alt shift cntrl shift state 068 fkey10 fkey22 fkey34 fkey46 scr10 scr10 scr10 scr10 O %
É claro que um pode enviar um acorde ⎈ Controle + ⎇ Alt para o sistema operacional convidado, e há duas maneiras de fazer isso:
- Ative as teclas adesivas no convidado. Use as teclas de aderência para colocar o modificador ⎈ Control para baixo e, em seguida, pressione ⎇ Alt + F2 . O suporte a chaves pegajosas é uma coisa da GUI, note. Isso não ajudará se uma sessão da GUI não estiver em primeiro plano.
- Alterne para o console do monitor do QEMU e use o comando
sendkey
. Isso pode enviar uma grande variedade de acordes para o sistema operacional convidado. Neste caso em particular, seriasendkey ctrl-alt-f2
. Então mude de volta do console do monitor, é claro.
Os usuários do Ubuntu, incluindo o muru aqui, sugeriram o comando chvt
. Isso é pensar no Linux. Não há nenhum comando chvt
no FreeBSD. Eu escrevi um e forneci-o no conjunto de ferramentas; mas o sistema operacional não vem com um fora da caixa.
Meu chvt
é principalmente para uso com terminais virtuais de espaço do usuário e o padrão é head0
, mas ele também pode manipular os terminais virtuais do kernel. Um seria para esse propósito invocá-lo (supondo que alguém tenha os privilégios para acessar /dev/ttyv0
) como:
chvt 1@ttyv0
A ferramenta fornecida fora da caixa é vidcontrol
, que para essa tarefa específica seria invocada (supondo que alguém tenha os privilégios para acessar /dev/ttyv0
) como:
vidcontrol -s 2 < /dev/ttyv0
Leitura adicional
- " Monitorar ". QEMU . Wikilivros.
- Jonathan de Boyne Pollard (2018).
chvt
. Guia nosh . Softwares. - Soren Schmidt, Sascha Wildner, et al. (2016-01-19).
vidcontrol
Manual de Comandos Gerais do FreeBSD . freebsd.org. - Qual é a diferença entre getty e agetty?
- link