O que "Ctrl + Alt + F12" faz?


Respostas:


145

Pressionar Ctrl+ Alt+ (ou apenas + quando não estiver no X11 , a GUI) alterna para o enésimo n console virtual ( ).FnAltFnttyn

Frequentemente, falamos sobre um console virtual como um console de texto utilizável . Por isso, costumamos dizer que existem seis consoles virtuais, acessíveis com Alt+ F1a Alt+ F6(mantendo pressionado Ctrltambém se você estiver na GUI quando quiser alternar). E costumamos dizer que então , separadamente, é a GUI, que pode ser alterada (de volta) para com Alt+ F7.

Mas, de fato, tty7onde a GUI normalmente é executada, também é um console virtual. Apenas não é utilizável como um console de texto, porque não está gettyfuncionando. gettyé executado por tty1completo tty6(por padrão). gettyconfigura um console virtual para ser usado como um terminal e é executado loginpara solicitar um nome de usuário e senha.

Você pode ver os gettycomandos em execução filtrando a saída de ps:

ek@Kip:~$ ps ax | grep -v grep | grep getty
 1127 tty4     Ss+    0:00 /sbin/getty -8 38400 tty4
 1150 tty5     Ss+    0:00 /sbin/getty -8 38400 tty5
 1171 tty2     Ss+    0:00 /sbin/getty -8 38400 tty2
 1172 tty3     Ss+    0:00 /sbin/getty -8 38400 tty3
 1175 tty6     Ss+    0:00 /sbin/getty -8 38400 tty6
11231 tty1     Ss+    0:00 /sbin/getty -8 38400 tty1

Como tty7é o primeiro console virtual que não está configurado para se comportar como um terminal (ou seja, não gettyestá rodando para ele), esse é o X11 (que fornece a GUI).

Consoles virtuais maiores que os tty7existentes também. É que, normalmente, eles não estão gettyconcorrendo, nem o X11 os usa. Os primeiros 12 consoles virtuais são acessíveis com as combinações de teclas descritas acima usando as teclas de função (porque um teclado normalmente possui apenas 12 teclas de função numeradas). Eles são acessíveis mesmo que nada esteja acontecendo neles.

Assim, quando você pressiona Ctrl+ Alt+ F12, você obtém uma tela em branco porque agora está ligada tty12, que não tem nada em execução.

Como um exercício interessante, você pode tentar executar:

sudo /sbin/getty -8 38400 tty12

Em seguida, pressione Alt+ F12(ou Ctrl+ Alt+ F12se você estiver na GUI, em vez de um dos 6 primeiros consoles virtuais).

Isso o levará a tty12, que agora possui uma tela de login e é utilizável como um terminal.

(Se você deseja criar permanentemente consoles baseados em texto utilizáveis ​​em consoles virtuais de maior número, configure-os init para executá getty-los automaticamente. Quando gettyexecutado manualmente como acima, ou mesmo se você incluir essa linha em um script de inicialização, você não poderá fazer o login novamente depois de sair do console virtual, porque gettynão será executado automaticamente novamente.Além disso, existem alguns outros problemas gettydessa maneira para o uso em produção - por exemplo, o controle da tarefa pode não ser disponível no seu shell de logon , após o login. Se você deseja tornar mais consoles virtuais utilizáveis ​​como emuladores de terminal baseados em textobash , Recomendo fazer uma pergunta separada sobre isso.)


52

Aqui está uma breve explicação:

As seguintes teclas destinam-se ao terminal (fundo preto, letras brancas):

Ctrl+ Alt+ F1- Enviará o usuário para tty1ou 1º terminal

Ctrl+ Alt+ F2- Enviará o usuário para tty2ou o segundo terminal

Ctrl+ Alt+ F3- Enviará o usuário para tty3ou terceiro terminal

Ctrl+ Alt+ F4- Enviará o usuário para tty4ou 4º Terminal

Ctrl+ Alt+ F5- Enviará o usuário para tty5ou 5º Terminal

Ctrl+ Alt+ F6- Enviará o usuário para tty6ou 6º Terminal

Para terminais da GUI (onde o X normalmente está em execução, ou melhor, onde você pousa quando o Unity aparece e tudo parece bom. O padrão onde você inicia a GUI seria F7):

Ctrl+ Alt+ F7- Enviará o usuário para o 1º terminal da GUI

Ctrl+ Alt+ F8- Enviará o usuário para o 2º Terminal da GUI

Ctrl+ Alt+ F9- Enviará o usuário para o terceiro terminal da GUI

Ctrl+ Alt+ F10- Enviará o usuário para o quarto terminal da GUI

Ctrl+ Alt+ F11- Enviará o usuário para o 5º Terminal da GUI

Ctrl+ Alt+ F12- Enviará o usuário para o 6º Terminal da GUI

O que deve ser observado aqui é que você pode ir de um terminal para o outro pressionando as teclas correspondentes. Você também deve observar que, uma vez que você está executando uma instância do servidor X (uma unidade executando), você terá apenas F7trabalho para os terminais da GUI. Se você abrir outra sessão do X Server, ela será iniciada F8e você poderá alternar entre as duas pressionando as teclas corretas. Você pode continuar fazendo isso por um total (padrão) de 6 vezes, o que seria de F7até F12.


1
Pode haver mais de 6 terminais GUI, dos quais alguns são inacessíveis?
ζ--

@hexafraction Eu posso imaginar o usuário digitando no terminal algo como "sudo xinit -: 4 vt14", em que 4 seria o número da sessão e 14 seria o terminal virtual.
Luis Alvarado

Eu sei que é possível emitir um comando, só não tenho certeza se ele irá processar se ligado em pelo software,
ζ--

Ok, eu tentei e funciona, mas o problema que acho será como mudar para ele usando o teclado;). Quero dizer CTRL + ALT + F21 ??
Luis Alvarado

1
Não, minha pergunta é se o X.Org corta os VTs aos 12 anos ou se há inacessíveis ao teclado disponíveis para acesso ao software.
ζ--

5

Você pode voltar a qualquer GUI normal no Ubuntu a partir de qualquer uma das telas TTY pressionando:
Ctrl+ Alt+F7


Você poderia adicionar uma resposta à pergunta? Sua resposta está dando uma solução que funcionará, mas o usuário perguntou o que faz com que alt-f8, alt-f ...
pim

Não funciona para mim no Ubuntu 18.04
CodeBy 04/04

4

Embora essas outras respostas estejam corretas, no meu caso, não consegui voltar ou fazer uma conexão SSH típica com minha máquina quando isso ocorreu. Eu não conseguia descobrir o que era Ctrl+ Alt+ F12, mas o que quer que fosse, fazia minhas telas escurecerem e minha entrada desaparecer completamente (mesmo da mudança de volta para tty1-tty7). Não tenho certeza se meu caso é uma situação pontual ou se esse é um problema comum.

Consegui fazer o SSH com o sinalizador -T para desativar a "emulação de pseudo terminal" e foi muito doloroso trabalhar (esqueci um mundo sem bash .. ou qualquer sh), no entanto, consegui isso no / var / log /kern.log antes de pelo menos reiniciá-lo normalmente:

Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369331] BUG: unable to handle kernel NULL pointer dereference at 0000000000000a62
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369334] IP: [<ffffffff9cb4015e>] _raw_spin_lock_irqsave+0x1e/0x39
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369335] PGD 0 
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369335] Oops: 0002 [#1] SMP
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369353] Modules linked in: ctr ccm rfcomm ip6table_filter ip6_tables iptable_filter ip_tables x_tables tun efi_pstore pci_stub vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) vboxdrv(OE) bnep hp_wmi sparse_keymap intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm binfmt_misc irqbypass crct10dif_pclmul crc32_pclmul nls_iso8859_1 ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd intel_cstate uvcvideo videobuf2_vmalloc intel_rapl_perf arc4 videobuf2_memops videobuf2_v4l2 videobuf2_core videodev efivars joydev media iwlmvm mac80211 serio_raw btusb sg btrtl btbcm btintel bluetooth iwlwifi cfg80211 snd_seq_midi snd_seq_midi_event snd_hda_codec_hdmi snd_rawmidi rtsx_pci_ms snd_hda_codec_realtek snd_hda_codec_generic snd_seq rfkill memstick snd_hda_intel snd_hda_codec snd_seq_device snd_hda_core snd_hwdep lpc_ich snd_pcm shpchp snd_timer snd battery ac soundcore hp_accel mei_me hp_wireless lis3lv02d input_polldev mei tpm_infineon evdev parport_pc ppdev lp parport efivarfs autofs4 ext4 crc16 jbd2 fscrypto mbcache hid_microsoft hid_generic usbhid hid rtsx_pci_sdmmc mmc_core crc32c_intel psmouse wmi i915 video i2c_algo_bit thermal button drm_kms_helper fjes syscopyarea sysfillrect sysimgblt fb_sys_fops e1000e rtsx_pci ptp pps_core ahci libahci drm
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369368] CPU: 1 PID: 1110 Comm: Xorg Tainted: G           OE   4.8.2-040802-generic #201610161339
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369369] Hardware name: Hewlett-Packard HP EliteBook 840 G2/2216, BIOS M71 Ver. 01.16 08/26/2016
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369369] task: ffff9e0535b25500 task.stack: ffff9e05349f0000
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369371] RIP: 0010:[<ffffffff9cb4015e>]  [<ffffffff9cb4015e>] _raw_spin_lock_irqsave+0x1e/0x39
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369372] RSP: 0018:ffff9e05349f3a70  EFLAGS: 00010046
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369372] RAX: 0000000000000000 RBX: 0000000000000246 RCX: 0000000000000008
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369373] RDX: 0000000000000001 RSI: 0000000000000003 RDI: 0000000000000a62
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369373] RBP: 0000000000000000 R08: 0000000000000438 R09: 0000000000000898
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369374] R10: 0000000000000780 R11: 0000000000000898 R12: 0000000000000a62
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369374] R13: 0000000000000000 R14: ffff9e053986a800 R15: 0000000000000003
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369375] FS:  00007f76b8175a00(0000) GS:ffff9e054f440000(0000) knlGS:0000000000000000
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369376] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369376] CR2: 0000000000000a62 CR3: 0000000435136000 CR4: 00000000003406e0
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369377] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369377] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369377] Stack:
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369379]  000000000000000e ffffffff9c4a9dfd 0000004800000000 0000078000024414
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369380]  00000000faa01f96 ffff9e0534d02a58 ffffea000b023400 ffff9e0534d02a60
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369382]  ffff9e0534d02a5c ffff9e053986a800 ffff9e0534879000 ffffffff9cb3d9de
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369382] Call Trace:
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369385]  [<ffffffff9c4a9dfd>] ? try_to_wake_up+0x3d/0x350
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369387]  [<ffffffff9cb3d9de>] ? __ww_mutex_lock+0x7e/0xa0
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369401]  [<ffffffffc03308d7>] ? drm_modeset_lock+0x47/0xd0 [drm]
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369411]  [<ffffffffc033107d>] ? drm_atomic_get_connector_state+0x2d/0x170 [drm]
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369417]  [<ffffffffc0458681>] ? __drm_atomic_helper_set_config+0x271/0x340 [drm_kms_helper]
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369422]  [<ffffffffc045ab1a>] ? drm_fb_helper_pan_display+0x17a/0x280 [drm_kms_helper]
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369424]  [<ffffffff9c4ec7ba>] ? __internal_add_timer+0x1a/0x50
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369444]  [<ffffffffc0577876>] ? intel_fbdev_pan_display+0x16/0x60 [i915]
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369446]  [<ffffffff9c7e2459>] ? fb_pan_display+0xc9/0x150
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369447]  [<ffffffff9c7dcb0a>] ? bit_update_start+0x1a/0x40
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369448]  [<ffffffff9c7d9c3d>] ? fbcon_switch+0x49d/0x610
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369450]  [<ffffffff9c863da5>] ? redraw_screen+0x165/0x240
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369451]  [<ffffffff9c865f6a>] ? vc_allocate+0x2a/0x1c0
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369453]  [<ffffffff9c85ad9a>] ? complete_change_console+0x3a/0xd0
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369454]  [<ffffffff9c85b505>] ? vt_ioctl+0x6d5/0x1260
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369462]  [<ffffffffc031798b>] ? drm_ioctl+0x1db/0x460 [drm]
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369473]  [<ffffffff9c84fa30>] ? tty_ioctl+0x340/0xc30
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369474]  [<ffffffff9c7e1c6b>] ? brightness_store+0x5b/0x70
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369475]  [<ffffffff9c5c3bb8>] ? handle_mm_fault+0x898/0x1350
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369477]  [<ffffffff9c62901f>] ? do_vfs_ioctl+0x9f/0x600
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369478]  [<ffffffff9c6295f4>] ? SyS_ioctl+0x74/0x80
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369479]  [<ffffffff9cb401f6>] ? entry_SYSCALL_64_fastpath+0x1e/0xa8
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369492] Code: 98 ff 48 89 d8 5b c3 66 0f 1f 44 00 00 0f 1f 44 00 00 53 9c 58 0f 1f 44 00 00 48 89 c3 fa 66 0f 1f 44 00 00 31 c0 ba 01 00 00 00 <f0> 0f b1 17 85 c0 75 05 48 89 d8 5b c3 89 c6 e8 7e 94 98 ff 66 
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369493] RIP  [<ffffffff9cb4015e>] _raw_spin_lock_irqsave+0x1e/0x39
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369494]  RSP <ffff9e05349f3a70>
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369494] CR2: 0000000000000a62
Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.375145] ---[ end trace 27ab810be96982ee ]---

Eu vejo algumas coisas intel'y lá, e algumas coisas da caixa virtual lá (não é uma VM, mas hospeda algumas vezes). Não tenho certeza qual é o problema exatamente. 4.8.2 kernel, neon do KDE, gráficos intel i915.

Meu palpite é que esse foi um caso isolado com minha configuração - mas achei que valeria a pena mencionar caso isso ocorresse mais amplamente.

De outra caixa:

ssh -T [user]@[host]
sudo -S reboot

O -S é necessário, mas não oculta sua senha enquanto você a digita.


Este askubuntu.com/q/992987/446253 poderia ser uma instância do mesmo problema?
XavierStuvw

Algo similar aconteceu comigo. Depois de muitas combinações de teclas e nada mudar, digitei acidentalmente a combinação de teclas da tela Bloquear ( CTRL-ALT-Lpor padrão) e, finalmente, a tela estava funcionando novamente. Então, se alguém está preso, tente isso!
CivMeierFan

@XavierStuvw Sei que este é um comentário antigo, mas pelo que me lembro desse problema, parece muito semelhante ao post. Gostaria de saber se o cara (EDIT: você! Lol) foi capaz de fazer o SSH, porque essa foi a parte que REALMENTE me deixou perplexo. Eu não conseguia abrir nenhum shell - o ssh (eu acredito) seria suspenso a menos que eu fizesse a bandeira -T. Eu acho que a maioria dos outros serviços (HTTP, etc) estava funcionando bem, mas qualquer coisa que funcionasse no meu contexto de usuário com um shell era um problema, eu acho.
Adam Plocher

0

Eu tive vários congelamentos de sistema recentemente, principalmente ao executar aplicativos wine. CTRL + ALT + F12 é a única combinação de teclas que me permite fazer uma reinicialização a quente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.