Tha*_*ama 23
X 可以使用Ctrl+ Alt+杀死BackSpace,如果你点击Ctrl+ Alt+ F1(或 F2 到 6),你会被放到一个虚拟控制台,你可以在那里输入命令来杀死坏应用。要切换回 GUI,请点击Ctrl+ Alt+ F7。
Kev*_*vin 10
GNU / Linux下[至少基于该那些SystemV的init风格],行为ctrl+ alt+del依赖的配置文件/etc/inittab,你应该能够读取一行:
<id>::ctrlaltdel:/sbin/shutdown -t3 -r now
Run Code Online (Sandbox Code Playgroud)
(来自 ArchLinux 发行版的示例)这意味着系统将在收到组合键时关闭。但是您可能想做其他事情,例如*:
<id>::ctrlaltdel:/usb/bin/sudo make me a sandwich
Run Code Online (Sandbox Code Playgroud)
(这更有用:)
那么你可以创建快捷键Alt+ Ctrl+Del在Linux中,但有一些其他更有趣的组合,你可能想知道。
按住Alt和SysRq(这是Print Screen键)并REISUB在每个键之间输入几秒(我通常数到 5)秒将使您安全地重新启动。REISUO将关闭而不是重新启动。正如评论所指出的,这不是单个命令,而是许多命令的组合,每个命令都执行特定的操作。因此,我建议查看REISUB - 温和的 Linux 重启以了解更多详细信息。
你可能已经知道这一点,但按Alt+ Ctrl+中的任意键从F1以F6获得在任何时间,您可以在文本模式,并使用命令行中使用登录控制台。当我弄乱桌面环境时,这非常有用。
Linux 内核可以硬重启或向 init 进程发送 SIGINT Ctrl+ Alt+Del
因此,如果启用了 SIGINT 行为,那么您可以让++Ctrl做您的 init 想要它做的任何事情。AltDel
Linux 内核本身允许Ctrl++有两种可能Alt的行为Del:
可以通过以下任一方式选择使用哪种行为:
reboot系统调用,参见man 2 reboot/proc/sys/kernel/ctrl-alt-del例如,BusyBox' 1.28.3 init 执行任意命令,如下所示/etc/inittab:
::ctrlaltdel:/sbin/reboot
Run Code Online (Sandbox Code Playgroud)
这是 uclibc 的一个最小的有趣的 C 示例:
#define _XOPEN_SOURCE 700
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/reboot.h>
#include <unistd.h>
void signal_handler(int sig) {
write(STDOUT_FILENO, "cad\n", 4);
signal(sig, signal_handler);
}
int main(void) {
int i = 0;
/* Disable the forced reboot, enable sending SIGINT to init. */
reboot(RB_DISABLE_CAD);
signal(SIGINT, signal_handler);
while (1) {
sleep(1);
printf("%d\n", i);
i++;
}
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
这里有一个简单的设置来尝试一下。
例如,在 Ubuntu 20.10 上,它使用 systemd 作为 init,一切都已连接好,因此Ctrl++默认情况Alt下Del会在 GUI 上注销您。我怎样才能给 systemd 中的 CTRL-ALT-DEL 一个宽限期,这表明这是由 控制的/lib/systemd/system/ctrl-alt-del.target,但在我的系统上,这只是 的符号链接reboot.target,它似乎实际上是重新启动,而不仅仅是注销。也许比我更有耐心的人可以准确地弄清楚发生了什么。
| 归档时间: |
|
| 查看次数: |
65789 次 |
| 最近记录: |