“Ctrl + Alt + F12”有什么作用?

我不小心按了Ctrl + Alt + F12 ,我的显示器变成了黑色…然后我不得不重新启动..它对我的系统做了什么? 还有Alt + F8F10的function是什么?

Ctrl + Alt + F n (或者不在X11中时仅按Alt + F n ,GUI)切换到第n个虚拟控制台 ( tty n )。

我们经常将虚拟控制台称为可用的文本控制台。 所以我们经常说有六个虚拟控制台,可以通过Alt + F1Alt + F6访问 (如果你想在切换时在GUI中按住Ctrl )。 我们经常说, 然后 ,分别是GUI,可以使用Alt + F7切换(返回)。

但实际上,GUI通常运行的tty7 也是一个虚拟控制台。 它只是不能用作文本​​控制台,因为它没有为它运行gettygetty运行tty1tty6 (默认情况下)。 getty将虚拟控制台设置为像终端一样使用并运行login以提示输入用户名和密码。

您可以通过过滤 ps的输出来查看正在运行的getty命令:

 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 ),因此X11(提供GUI)使用的是虚拟控制台。

高于 tty7虚拟控制台也存在。 通常情况下,他们既没有为他们奔跑, 也没有使用X11。 使用function键可以使用上述键组合访问前12个虚拟控制台(因为键盘通常只有12个编号的function键)。 即使它们没有发生任何事情,它们也可以访问

因此,当你按Ctrl + Alt + F12时 ,你会得到一个空白屏幕,因为你现在在tty12 ,它根本没有运行。

作为一个有趣的练习,您可以尝试运行:

 sudo /sbin/getty -8 38400 tty12 

然后按Alt + F12 (或Ctrl + Alt + F12,如果您在GUI中而不是前6个虚拟控制台之一)。

这将带您到tty12 ,它现在有一个登录屏幕,可用作终端。

(如果您想在更高编号的虚拟控制台上永久创建可用的基于文本的控制台,那么您应该配置 init以自动为它们运行getty 。如上所述手动运行getty ,或者即使您要将该行添加到a启动脚本,您无法在注销虚拟控制台后再次登录,因为getty不会自动再次运行。此外,还有一些其他问题以生产方式运行getty – 例如, 登录后,您的登录shell中可能无法使用bash 作业控件 。如果您想将更多虚拟控制台用作基于文本的终端模拟器 ,我建议您单独提出一个问题。)

这是一个简短的解释:

以下按键用于前往终端(黑色背景,白色字母方式):

Ctrl + Alt + F1 – 将用户发送到tty1或第一终端

Ctrl + Alt + F2 – 将用户发送到tty2或第二终端

Ctrl + Alt + F3 – 将用户发送到tty3或第3终端

Ctrl + Alt + F4 – 将用户发送到tty4或第4终端

Ctrl + Alt + F5 – 将用户发送到tty5或第5终端

Ctrl + Alt + F6 – 将用户发送到tty6或第6终端

对于GUI终端(其中X通常在运行,或者更好地说,当Unity出现并且一切看起来都很好时,你登陆的位置。启动GUI的默认值是F7 ):

Ctrl + Alt + F7 – 将用户发送到第一个GUI终端

Ctrl + Alt + F8 – 将用户发送到第二个GUI终端

Ctrl + Alt + F9 – 将用户发送到第3个GUI终端

Ctrl + Alt + F10 – 将用户发送到第4个GUI终端

Ctrl + Alt + F11 – 将用户发送到第5个GUI终端

Ctrl + Alt + F12 – 将用户发送到第6个GUI终端

这里需要注意的是,您可以通过按相应的键从一个终端转到另一个终端。 您还应该注意,由于您正在运行X服务器的一个实例(一个Unity运行),因此您只能使用F7为GUI终端工作。 如果您打开另一个X Server会话,它将在F8中启动,您可以通过按正确的键在两者之间切换。 您可以保持这样做总共(默认)6次,这将是F7F12

你可以通过点击来从任何TTY屏幕回到Ubuntu中的任何普通GUI:
Ctrl + Alt + F7

虽然这些其他答案是正确的,但在我的情况下,当发生这种情况时,我无法切换回或执行到我的机器的典型SSH连接。 我无法弄清楚Ctrl + Alt + F12是什么,但无论如何,它使我的屏幕变黑并且我的输入完全死亡(甚至从更改回tty1-tty7)。 我不确定我的案子是否是一次性的情况,或者这是否是一个常见问题。

我能够使用-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: [] _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:[] [] _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] [] ? try_to_wake_up+0x3d/0x350 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369387] [] ? __ww_mutex_lock+0x7e/0xa0 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369401] [] ? drm_modeset_lock+0x47/0xd0 [drm] Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369411] [] ? drm_atomic_get_connector_state+0x2d/0x170 [drm] Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369417] [] ? __drm_atomic_helper_set_config+0x271/0x340 [drm_kms_helper] Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369422] [] ? drm_fb_helper_pan_display+0x17a/0x280 [drm_kms_helper] Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369424] [] ? __internal_add_timer+0x1a/0x50 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369444] [] ? intel_fbdev_pan_display+0x16/0x60 [i915] Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369446] [] ? fb_pan_display+0xc9/0x150 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369447] [] ? bit_update_start+0x1a/0x40 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369448] [] ? fbcon_switch+0x49d/0x610 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369450] [] ? redraw_screen+0x165/0x240 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369451] [] ? vc_allocate+0x2a/0x1c0 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369453] [] ? complete_change_console+0x3a/0xd0 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369454] [] ? vt_ioctl+0x6d5/0x1260 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369462] [] ? drm_ioctl+0x1db/0x460 [drm] Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369473] [] ? tty_ioctl+0x340/0xc30 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369474] [] ? brightness_store+0x5b/0x70 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369475] [] ? handle_mm_fault+0x898/0x1350 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369477] [] ? do_vfs_ioctl+0x9f/0x600 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369478] [] ? SyS_ioctl+0x74/0x80 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369479] [] ? 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  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 [] _raw_spin_lock_irqsave+0x1e/0x39 Oct 23 09:02:52 BC-LINPC-02 kernel: [11410.369494] RSP  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显卡i915。

我的猜测是我的配置是一个孤立的案例 – 但我认为值得一提,以防万一这种情况发生得更为广泛。

从另一个盒子:

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

-S是必需的,但在键入密码时不会屏蔽密码。