Co robi „Ctrl + Alt + F12”?

99

Przez przypadek nacisnąłem Ctrl+ Alt+, F12a wyświetlacz zmienił kolor na czarny ... Potem musiałem zrestartować komputer. Co to zrobiło z moim systemem? Również co to Alt+ F8do F10zrobienia?

użytkownik 146550
źródło
2
Powiązane (ale nie duplikat): Cofanie z Ctrl - Alt - F1
Eliah Kagan
5
TL; DR w przypadku BLACKOUT i CHCĘ POWRÓT do GUI: Ctrl + Alt + F7
andilabs
Wystarczy nacisnąć Ctrl + Alt + F7
Zarko Jovic

Odpowiedzi:

144

Naciśnięcie Ctrl+ Alt+ (lub po prostu +, gdy nie jest w X11 , GUI) powoduje przejście do n- tej wirtualnej konsoli ( ).FnAltFnttyn

Często mówimy o wirtualnej konsoli jako użytecznej konsoli tekstowej. Często mówimy, że jest sześć wirtualnych konsol, dostępnych za pomocą Alt+ F1za pomocą Alt+ F6(przytrzymanie Ctrlrównież, jeśli jesteś w GUI, gdy chcesz się przełączyć). Często mówimy, że wtedy osobno jest GUI, które można przełączyć (z powrotem) na Alt+ F7.

Ale w rzeczywistości, tty7tam gdzie zwykle działa GUI, jest także wirtualna konsola. Po prostu nie nadaje się jako konsola tekstowa, ponieważ nie ma gettydla niego uruchomionej funkcji. gettybiegnie tty1przez tty6(domyślnie). gettyustawia wirtualną konsolę, która ma być używana jako terminal, i uruchamia się loginz prośbą o podanie nazwy użytkownika i hasła.

Można zobaczyć uruchomione gettypolecenia, filtrując dane wyjściowe 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

Ponieważ tty7jest to pierwsza wirtualna konsola, która nie jest skonfigurowana tak, aby zachowywać się jak terminal (tzn. Nie gettydziała dla niej), to jest to, którego używa X11 (który zapewnia GUI).

Konsole wirtualne wyższe niż tty7istnieją również. Po prostu zwykle nie mają gettydla nich biegania, ani X11 ich nie używa. Pierwsze 12 wirtualnych konsol jest dostępnych za pomocą kombinacji klawiszy opisanych powyżej za pomocą klawiszy funkcyjnych (ponieważ klawiatura zwykle ma tylko 12 numerowanych klawiszy funkcyjnych). Są dostępne, nawet jeśli nic się na nich nie dzieje.

Tak więc, gdy naciśniesz Ctrl+ Alt+ F12, pojawi się pusty ekran, ponieważ jesteś teraz włączony tty12, na którym nie ma nic uruchomionego.

Jako ciekawe ćwiczenie możesz spróbować uruchomić:

sudo /sbin/getty -8 38400 tty12

Następnie naciśnij Alt+ F12(lub Ctrl+ Alt+, F12jeśli korzystasz z GUI zamiast jednej z pierwszych 6 wirtualnych konsol).

Spowoduje to przejście do tty12, który ma teraz ekran logowania i może być używany jako terminal.

(Jeśli chcesz trwale utworzyć użyteczne konsole tekstowe na konsolach wirtualnych o wyższych numerach, powinieneś skonfigurować init uruchamianie gettyich automatycznie. Gdy gettyuruchomisz je ręcznie, jak wyżej, lub nawet jeśli chcesz dodać tę linię do skryptu uruchamiania, nie będziesz mieć możliwości ponownego zalogowania się po wylogowaniu z wirtualnej konsoli, ponieważ gettynie uruchomi się ponownie automatycznie. Ponadto istnieją inne problemy działające gettyw ten sposób do użytku produkcyjnego - na przykład kontrola zadań może nie być dostępne w powłoce logowania , po zalogowaniu. Jeśli chcesz, aby więcej konsol wirtualnych było używanych jako tekstowe emulatory terminalibash , Zalecam osobne pytanie na ten temat).

Eliah Kagan
źródło
51

Oto krótkie wyjaśnienie:

Następujące klucze służą do przejścia do terminala (czarne tło, białe litery):

Ctrl+ Alt+ F1- wyśle ​​użytkownika do tty1lub 1. terminala

Ctrl+ Alt+ F2- wyśle ​​użytkownika do tty2lub drugiego terminala

Ctrl+ Alt+ F3- wyśle ​​użytkownika do tty3lub trzeciego terminala

Ctrl+ Alt+ F4- wyśle ​​użytkownika do tty4lub do 4. terminala

Ctrl+ Alt+ F5- wyśle ​​użytkownika do tty5lub do 5. terminala

Ctrl+ Alt+ F6- wyśle ​​użytkownika do tty6lub do 6 terminala

W przypadku terminali GUI (gdzie X zwykle działa, lub lepiej mówiąc, gdzie lądujesz, gdy pojawia się Unity i wszystko wygląda dobrze. Domyślny, w którym uruchamiasz GUI F7):

Ctrl+ Alt+ F7- wyśle ​​użytkownika do 1. terminala GUI

Ctrl+ Alt+ F8- wyśle ​​użytkownika do 2. terminala GUI

Ctrl+ Alt+ F9- wyśle ​​użytkownika do 3. terminala GUI

Ctrl+ Alt+ F10- wyśle ​​użytkownika do 4. terminala GUI

Ctrl+ Alt+ F11- wyśle ​​użytkownika do 5. terminala GUI

Ctrl+ Alt+ F12- wyśle ​​użytkownika do 6. terminala GUI

Należy tutaj zauważyć, że można przechodzić z jednego terminala do drugiego, naciskając odpowiednie klawisze. Powinieneś również zauważyć, że ponieważ używasz jednej instancji serwera X (jedna Unity), będziesz F7pracował tylko dla terminali GUI. Jeśli otworzysz inną sesję X Server, rozpocznie się ona F8i możesz przełączać się między nimi, naciskając odpowiednie klawisze. Możesz to robić w sumie (domyślnie) 6 razy, co byłoby F7maksymalnie F12.

Luis Alvarado
źródło
1
Czy może istnieć więcej niż 6 terminali GUI, z których niektóre są niedostępne?
ζ--
@ hexafraction Mogę sobie wyobrazić, że użytkownik pisze w terminalu coś w rodzaju „sudo xinit -: 4 vt14”, gdzie 4 to numer sesji, a 14 to terminal wirtualny.
Luis Alvarado,
Wiem, że można wydać polecenie, ale nie jestem pewien, czy będzie renderowane, jeśli zostanie włączone przez oprogramowanie,
ζ--
Ok próbowałem i działa, ale myślę, że problem będzie polegał na tym, jak przełączyć się na to za pomocą klawiatury;). Mam na myśli CTRL + ALT + F21 ??
Luis Alvarado,
1
Nie, moje pytanie brzmi: czy X.Org odcina VT na 12, czy też dostępne są na klawiaturze niedostępne dla dostępu do oprogramowania.
ζ--
5

Możesz wrócić do dowolnego normalnego GUI w Ubuntu z dowolnego ekranu TTY, naciskając:
Ctrl+ Alt+F7

Vivek Gupta
źródło
Czy możesz dodać odpowiedź na pytanie? Twoja odpowiedź daje rozwiązanie, które zadziała, ale użytkownik zapytał, co robi alt-f8, alt-f ...
pim
Nie działa dla mnie w Ubuntu 18.04
CodeBy
4

Podczas gdy te inne odpowiedzi są poprawne, w moim przypadku nie byłem w stanie przełączyć się ponownie lub nawiązać typowego połączenia SSH z moim komputerem, kiedy to się stało. Nie mogłem rozgryźć, co to było Ctrl+ Alt+ F12, ale cokolwiek to było, sprawiło, że moje ekrany stały się czarne, a moje dane wejściowe całkowicie zginęły (nawet po zmianie z powrotem na tty1-tty7). Nie jestem pewien, czy moja sprawa ma charakter jednorazowy, czy jest to częsty problem.

Byłem w stanie SSH z flagą -T, aby wyłączyć „emulację pseudo terminala” i praca z nim była dość bolesna (zapomniałem świata bez basha… ani żadnego sha), jednak dostałem to z / var / log /kern.log przed co najmniej wdzięcznym ponownym uruchomieniem:

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 ]---

Widzę tam trochę rzeczy inteligentnych i trochę rzeczy wirtualnych pudełek (to nie jest VM, ale czasami hostuje kilka). Nie jestem pewien, na czym dokładnie polega problem. Jądro 4.8.2, KDE neon, grafika Intel i915.

Domyślam się, że był to izolowany przypadek z moją konfiguracją - ale pomyślałem, że warto o tym wspomnieć, jeśli zdarza się to szerzej.

Z innego pudełka:

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

Opcja -S jest niezbędna, ale nie będzie maskować hasła podczas wpisywania.

Adam Plocher
źródło
Czy to askubuntu.com/q/992987/446253 może być przykładem tego samego problemu?
XavierStuvw
Coś podobnego mi się przytrafiło. Po wielu kombinacjach klawiszy i niczym się nie zmieniłem, przez przypadek wpisałem kombinację klawiszy ekranu blokady ( CTRL-ALT-Ldomyślnie), a potem ekran znów zaczął działać. Więc jeśli ktoś tam utknął, spróbuj tego!
CivMeierFan
@XavierStuvw Zdaję sobie sprawę, że to starożytny komentarz, ale z tego, co pamiętam, problem brzmi bardzo podobnie do tego postu. Zastanawiam się, czy facet (EDYCJA: ty! Lol) był w stanie w to wtrącić SSH, ponieważ ta część naprawdę mnie zaskoczyła. Nie mogłem w ogóle otworzyć żadnej powłoki - ssh (wierzę) po prostu się zawiesiłby, chyba że zrobiłem flagę -T. Myślę, że większość innych usług (HTTP itp.) Działała dobrze, ale myślę, że wszystko, co działało w moim kontekście użytkownika z powłoką, było problemem.
Adam Plocher
0

Ostatnio miałem kilka zawieszeń systemu, głównie podczas uruchamiania aplikacji do wina. CTRL + ALT + F12 to jedyna kombinacja klawiszy, która pozwala mi wykonać ciepły restart.

Krzysztof
źródło