Что делает «Ctrl + Alt + F12»?

99

Я случайно нажал Ctrl+ Alt+, F12и мой дисплей стал черным ... Затем мне пришлось перезагрузиться. Что это сделало с моей системой? Кроме того, что делает Alt+ , F8чтобы F10делать?

user146550
источник
2
Связанный (но не дубликат): Отмена от Ctrl - Alt - F1
Элия ​​Каган
6
TL; DR в случае BLACKOUT и ХОТИТЕ ВЕРНУТЬСЯ в GUI: Ctrl + Alt + F7
andilabs
Просто нажмите Ctrl + Alt + F7
Zarko Jovic

Ответы:

145

Нажатие Ctrl+ Alt+ (или просто +, когда нет в X11 , GUI) переключается на n- ю виртуальную консоль ( ).FnAltFnttyn

Часто мы говорим о виртуальной консоли в качестве полезной текстовой консоли. Поэтому мы часто говорим, что есть шесть виртуальных консолей, доступных с Alt+ F1по Alt+ F6(удерживая Ctrlтоже, если вы находитесь в графическом интерфейсе, когда хотите переключиться). И мы часто говорим, что тогда , отдельно, это GUI, который можно переключить (назад) на Alt+ F7.

Но на самом деле, tty7где обычно работает GUI, это тоже виртуальная консоль. Он просто не может использоваться в качестве текстовой консоли, потому что он не gettyработает для него. gettyработает tty1через tty6(по умолчанию). gettyустанавливает виртуальную консоль для использования в качестве терминала и запускает loginзапрос имени пользователя и пароля.

Вы можете увидеть gettyкоманды, которые работают, отфильтровав вывод 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

Поскольку tty7это первая виртуальная консоль, которая не настроена так, чтобы вести себя как терминал (т. gettyЕ. Для нее не запущено no ), именно эту X11 (которая предоставляет графический интерфейс) использует.

Виртуальные консоли выше, чем tty7существуют также. Это просто , что, обычно, они ни были gettyработы для них, ни они не имеют X11 , используя их. Первые 12 виртуальных консолей доступны с помощью комбинаций клавиш, описанных выше, с использованием функциональных клавиш (поскольку клавиатура обычно имеет только 12 пронумерованных функциональных клавиш). Они доступны, даже если с ними ничего не происходит.

Таким образом, когда вы нажимаете Ctrl+ Alt+ F12, вы получаете пустой экран, потому что вы сейчас включены, на tty12котором вообще ничего не работает.

В качестве интересного упражнения вы можете попробовать выполнить:

sudo /sbin/getty -8 38400 tty12

Затем нажмите Alt+ F12(или Ctrl+ Alt+, F12если вы используете графический интерфейс, а не одну из первых 6 виртуальных консолей).

Это приведет вас к тому tty12, что теперь имеет экран входа в систему и может использоваться в качестве терминала.

(Если вы хотите , чтобы постоянно создавать пригодные для использования текстовых консолей на более пронумерованные виртуальных консолях, то вы должны настроить init для запуска gettyна них автоматически. При gettyзапуске вручную , как описано выше, или даже если вы должны были добавить эту строку в скрипт для запуска, у вас не будет возможности снова войти в систему после выхода из виртуальной консоли, потому что gettyон не будет автоматически запускаться снова. Кроме того, существуют некоторые другие проблемы, выполняющиеся gettyтаким образом для производственного использования - например, управление заданиями может не выполняться. доступно в вашей оболочке входа в систему после входа в систему. Если вы хотите, чтобы больше виртуальных консолей можно было использовать в качестве текстовых эмуляторов терминалаbash Я рекомендую задать отдельный вопрос об этом.)

Элия ​​Каган
источник
52

Вот краткое объяснение:

Следующие ключи предназначены для входа в Терминал (черный фон, белые буквы):

Ctrl+ Alt+ F1- Отправит пользователя на tty11-й Терминал

Ctrl+ Alt+ F2- Отправит пользователя на tty22-й Терминал

Ctrl+ Alt+ F3- Отправит пользователя на tty33-й Терминал

Ctrl+ Alt+ F4- Отправит пользователя на tty44-й Терминал

Ctrl+ Alt+ F5- Отправит пользователя на tty55-й терминал

Ctrl+ Alt+ F6- Отправит пользователя на tty66-й терминал

Для терминалов с графическим интерфейсом (где X обычно работает, или, точнее сказать, куда вы приземляетесь, когда появляется Unity и все выглядит хорошо. По умолчанию, где вы запускаете GUI F7):

Ctrl+ Alt+ F7- Отправит пользователя на 1-й терминал GUI

Ctrl+ Alt+ F8- отправит пользователя на 2-й терминал GUI

Ctrl+ Alt+ F9- отправит пользователя в 3-й терминал GUI

Ctrl+ Alt+ F10- отправит пользователя в 4-й терминал GUI

Ctrl+ Alt+ F11- Отправит пользователя на 5-й терминал GUI

Ctrl+ Alt+ F12- Отправит пользователя в 6-й терминал GUI

Здесь следует отметить, что вы можете переходить от одного терминала к другому, нажимая соответствующие клавиши. Вы также должны отметить, что, поскольку вы работаете с одним экземпляром X-сервера (один работает с Unity), вы будете F7работать только с терминалами с графическим интерфейсом. Если вы откроете другой сеанс X-сервера, он начнется, F8и вы можете переключаться между ними, нажимая правильные клавиши. Вы можете продолжать делать это в общей сложности (по умолчанию) 6 раз, что будет F7до F12.

Луис Альварадо
источник
1
Может ли быть более 6 терминалов с графическим интерфейсом, некоторые из которых недоступны?
ζ--
@hexafraction Я могу представить, как пользователь печатает в терминале что-то вроде «sudo xinit -: 4 vt14», где 4 будет номером сеанса, а 14 - виртуальным терминалом.
Луис Альварадо
Я знаю, что можно выполнить команду, но не уверен, будет ли она отображаться, если на нее переключается программное обеспечение,
ζ--
Хорошо, я попытался, и это работает, но проблема, я думаю, будет состоять в том, как переключиться на него с помощью клавиатуры;). Я имею в виду CTRL + ALT + F21 ??
Луис Альварадо
1
Нет, мой вопрос заключается в том, отключает ли X.Org виртуальные терминалы в 12 часов или для них недоступны клавиатуры, недоступные для доступа к программному обеспечению.
ζ--
5

Вы можете вернуться к любому нормальному графическому интерфейсу в Ubuntu с любого экрана TTY, нажав:
Ctrl+ Alt+F7

Вивек Гупта
источник
Не могли бы вы добавить ответ на вопрос? Ваш ответ дает решение , которое будет работать, но пользователь спрашивает , что делает альт-f8, альт-п ...
Пим
Не работает для меня в Ubuntu 18.04
CodeBy
4

Хотя эти другие ответы верны, в моем случае я не смог переключиться назад или выполнить обычное SSH-соединение с моей машиной, когда это произошло. Я не мог понять, что было Ctrl+ Alt+ F12, но что бы это ни было, это заставляло мои экраны становиться черными, и мой ввод полностью умирал (даже от перехода обратно к tty1-tty7). Я не уверен, является ли мое дело одноразовым или это общая проблема.

Я смог использовать SSH с флагом -T, чтобы отключить «эмуляцию псевдотерминала», и работать с ним было довольно больно (я забыл мир без bash или любого другого sh), однако я все же получил это из / var / log /kern.log, прежде чем хотя бы грациозно перезагрузить его:

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

Я вижу там кое-какие интеллектуальные и виртуальные-ящики (это не виртуальная машина, а иногда пара). Не уверен, что проблема именно. 4.8.2 ядро, KDE неон, Intel Graphics i915.

Я предполагаю, что это был единичный случай с моей конфигурацией, но я подумал, что стоит упомянуть, если это произойдет более широко.

Из другой коробки:

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

Ключ -S необходим, но он не будет маскировать ваш пароль при вводе.

Адам Плохер
источник
Может ли этот askubuntu.com/q/992987/446253 быть экземпляром той же проблемы?
XavierStuvw
Нечто подобное случилось со мной. После многих комбинаций клавиш и ничего не меняясь, я случайно набрал комбинацию клавиш блокировки экрана ( CTRL-ALT-Lпо умолчанию), и, наконец, экран снова заработал. Так что, если кто-то там застрял, попробуйте это!
CivMeierFan
@XavierStuvw Я понимаю, что это древний комментарий, но из того, что я помню об этой проблеме, это звучит очень похоже на этот пост. Интересно, смог ли парень (РЕДАКТИРОВАТЬ: ты! Смеется) войти в него по SSH, потому что именно эта часть ДЕЙСТВИТЕЛЬНО сбила меня с толку. Я вообще не мог открыть никакой оболочки - ssh (я полагаю) просто зависнул бы, если бы я не сделал этот флаг -T. Я думаю, что большинство других служб (HTTP и т. Д.) Работали нормально, но я думаю, что все, что выполнялось в моем пользовательском контексте с оболочкой, было проблемой.
Адам Плохер
0

У меня было несколько зависаний системы в последнее время, в основном при запуске винных приложений. CTRL + ALT + F12 - единственная комбинация клавиш, которая позволяет выполнить «горячую» перезагрузку.

Кристофер
источник