Есть ли в Linux эквивалент Ctrl+Alt+Del?

есть ли в Linux CTRL+ALT+DEL аналог?

23
задан Ciro Santilli 新疆改造中心 六四事件 法轮功
29.03.2023 16:25 Количество просмотров материала 2811
Распечатать страницу

9 ответов

X можно убить с помощью Ctrl+Alt+BackSpace и Ctrl+Alt+F1 (или с F2 по 6), Вы попадете на виртуальную консоль, где вы можете вводить команды, чтобы убить плохое приложение. Для возврата к GUI, нажмите Ctrl+Alt+F7.

12
отвечен Thariama 2023-03-31 00:13

под GNU / Linux [по крайней мере те, которые основаны на стиль инициализации SystemV], поведение ctrl+alt+del полагается на конфигурационный файл /etc/inittab где вы должны быть в состоянии прочитать строку типа:

<id>::ctrlaltdel:/sbin/shutdown -t3 -r now

(пример из дистрибутива ArchLinux), что означает, что система будет выключена, когда она получит комбинацию клавиш. Но вы можете сделать что-то еще, как*:

<id>::ctrlaltdel:/usb/bin/sudo make me a sandwich

(что гораздо полезнее :)

7
отвечен Kevin 2023-03-31 02:30

да, однако действие зависит от конфигурации desktop manager. В KDE отображается диалоговое окно, в котором можно выбрать перезапуск или остановку системы.

2
отвечен xdevel2000 2023-03-31 04:47

в консоли Linux, по умолчанию в большинстве дистрибутивов, Ctrl+Alt+Del ведет себя как в MS-DOS-перезагружает систему.

в GUI, Ctrl+Alt+Backspace убьет текущий X-сервер и запустит новый, таким образом ведя себя как последовательность SAK в Windows ( Ctrl+Alt+Del).

2
отвечен florin 2023-03-31 07:04

также вы можете создать ярлык для Alt+ Ctrl+Del в Linux, но есть некоторые другие, более интересные комбинации, которые вы могли бы знать.

удерживая Alt и SysRq (это Печать Экрана ключ) в то время как медленно набрав REISUB поможет вам безопасно перезапустить. REISUO сделает выключение, а не перезагрузка. См.REISUB-нежный перезапуск Linux для более подробной информации.

и вы, возможно, уже знаете это, но пресс Alt + Ctrl + любой из ключей из F1 до F6 чтобы получить консоль в любое время, которую вы можете использовать для входа в текстовый режим и использовать командную строку. Это было очень полезно когда я испортил свое окружение рабочего стола.

2
отвечен Thomas 2023-03-31 09:21

REISUB будет ближайшим эквивалентом. Волшебные ключи SysRq единственный путь подражать традиционным жестк-возвратам Windows / DOS в Линукс / UNIX.

для интерфейса, подобного менеджеру программ, используйте top и нажмите k для Kill.

Ctrl+Alt+Backspace по умолчанию отключено в X Servers > 1.6 (хотя некоторые дистрибутивы повторно включают его в файлах конфигурации, которые они отправляют). Хотя он не делает то, что окна Ctrl+Alt+Del делает в целом убийство X и исправление неправильного поведения программ предпочтительнее перезапуска машины.

1
отвечен James Broadhead 2023-03-31 11:38

в gnome есть функция "сочетания клавиш", которая позволяет настраивать сочетания клавиш.

менеджер процессов для Gnome называется gnome-system-monitor, поэтому, если вы: - Система; - Персональные настройки; - Сочетания клавиш и добавить gnome-system-monitor, как CTRL+ALT+DEL это должно работать для вас :)

0
отвечен Azz 2023-03-31 13:55

Да, это те же ключи, что и в Ubuntu, но они могут отличаться в зависимости от вашего дистрибутива.

0
отвечен karlphillip 2023-03-31 16:12

ядро Linux может либо перезагрузить жесткий или отправить SIGINT процесс инициализации на Ctrl + Alt + Del

поэтому, если поведение SIGINT включено, то вы можете сделать Ctrl + Alt + Del делать все, что ваш init хочет, чтобы это сделать.

само ядро Linux допускает два возможных поведения Из Ctrl-Alt-Del:

  • перезагрузка сразу
  • отправить SIGINT процессу инициализации

которое поведение использовано может быть выбранный с:

  • reboot системный вызов, см. man 2 reboot
  • /proc/sys/kernel/ctrl-alt-del

например, BusyBox ' 1.28.3 init выполняет произвольную команду, данную в /etc/inittab as:

::ctrlaltdel:/sbin/reboot

и вот минимальный интересный пример C для 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;
}

здесь простая настройка, чтобы попробовать это.

0
отвечен Ciro Santilli 新疆改造中心 六四事件 法轮功 2023-03-31 18:29

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх