Вы, возможно, должны включить поддержку виртуализации в BIOS также...
Ctrl+Alt+Delete является на самом деле "волшебным" нажатием клавиши для совместимой с IBM PC аппаратной архитектуры, которая назвала бы сброс BIOS.
Так как такого рода вещь опасна для системы как Linux, решение было принято, чтобы сцепить те нажатия клавиш и сделать что-то еще вместо этого. Этим управляют init
и Вы видите то, что это делает путем заглядывания /etc/inittab
.
На моем Debian Сжимают систему:
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
Windows NT позже следовал примеру и превратил Ctrl+Alt+Delete в безопасную ключевую запись mode*.
В случае X, это так же сцепляет нажатия клавиш, но это просто kill
s сервер дисплея (который будет автоматически повторно метать икру, если Вы будете использовать менеджера по оформлению).
Некоторые системы (возможно, все, я не попробовал в некоторое время), можно все еще нажать Ctrl+Alt+Delete, прежде чем ОС загрузится для инициирования сброса BIOS.
*я не уверен, что они на самом деле называют им.
El kernel de Linux puede realizar un reinicio completo o enviar SIGINT al proceso de inicio con Ctrl + Alt + Supr
El propio kernel de Linux permite dos posibles comportamientos de Ctrl -Alt -Supr:
El comportamiento que se utiliza se puede seleccionar con:
reboot
llamada al sistema, verman 2 reboot
/proc/sys/kernel/ctrl-alt-del
Por lo tanto, si el comportamiento SIGINT está habilitado, el resultado de Ctrl + Alt + Supr depende completamente del controlador SIGINT que tenga su init.
Por ejemplo, BusyBox' 1.28.3 init ejecuta un comando arbitrario dado en /etc/inittab
como:
::ctrlaltdel:/sbin/reboot
Y aquí hay un ejemplo en C mínimo e interesante para uclibc:
#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;
}
Aquí hay una configuración fácil para probar esto .
Las distribuciones de Linux contemporáneas usan systemd
en lugar de SysV init. El comportamiento de ctrl -alt -delete combo es manejado por ctrl -alt -del.target, que está vinculado de forma predeterminada a reboot.target, pero podría configurarse en cualquier otro.
Lista de objetivos disponibles:
systemctl list-unit-files -t target
Presionar el combo más de 7 veces en 2 segundos (como mantener presionado )forzaría el reinicio inmediato por defecto (o la acción especificada porCtrlAltDelBurstAction
).
También es útil kbrequest.target
, pero no está habilitado de forma predeterminada.
/etc/inittab
используемый для? – StackExchange for All 08.07.2012, 15:07/etc/inittab
более или менее файл конфигурации дляinit
. – bahamat 08.07.2012, 21:01upstart
вместоinit
. Эквивалент на Ubuntuetc/init
каталог. (Отметьте нет/etc/init.d
). – bahamat 09.07.2012, 01:29/etc/init/control-alt-delete.conf
Что касается выскочки, все еще звонят выскочкуinit
, но это не традиционноеinit
. См. статью Wikipedia и страницу проекта. – Eliah Kagan 09.07.2012, 04:43/etc/init/control-alt-delete.conf
Что касается выскочки, все еще звонят выскочкуinit
, но это не традиционноеinit
. См. статью Wikipedia и страницу проекта. – Eliah Kagan 09.07.2012, 04:43