Linux ha un CTRL+ ALT+ DELequivalente?
Linux ha un CTRL+ ALT+ DELequivalente?
Risposte:
X può essere ucciso usando Ctrl+ Alt+ BackSpace, e se premi Ctrl+ Alt+ F1(o da F2 a 6), verrai portato su una console virtuale dove puoi digitare i comandi per uccidere l'app difettosa. Per tornare alla GUI, premi Ctrl+ Alt+ F7.
In GNU / Linux [almeno quelli basati sullo stile init SystemV ], il comportamento di ctrl+ alt+ delsi basa sul file di configurazione in /etc/inittab
cui dovresti essere in grado di leggere una riga come:
<id>::ctrlaltdel:/sbin/shutdown -t3 -r now
(esempio da una distribuzione ArchLinux) che significa che il sistema verrà arrestato quando riceve la combinazione di tasti. Ma potresti voler fare qualcos'altro, come * :
<id>::ctrlaltdel:/usb/bin/sudo make me a sandwich
(che è molto più utile :)
Bene, puoi creare una scorciatoia per Alt+ Ctrl+ Delin Linux, ma ci sono altre combinazioni più interessanti che potresti conoscere.
Tenendo premuto Alte SysRq(che è il Print Screentasto) e digitando REISUBcon alcuni (di solito conto fino a 5) secondi tra ciascun tasto, si riavvierà in modo sicuro. REISUOfarà un arresto piuttosto che un riavvio. Come sottolineato da un commento, questo non è un singolo comando, ma una combinazione di molti comandi, ognuno dei quali fa una cosa specifica. Quindi consiglio di dare un'occhiata a REISUB - il gentile riavvio di Linux per maggiori dettagli.
E potresti già saperlo, ma premi Alt+ Ctrl+ qualsiasi tasto da F1a F6per ottenere una console in qualsiasi momento, che puoi utilizzare per accedere in modalità testo e utilizzare la riga di comando. Questo è stato molto utile quando ho incasinato il mio ambiente desktop.
reisub
veramente . Questo non è un singolo comando, ma una combinazione di 6 comandi, ognuno dei quali sta facendo qualcosa di specifico (cerca l'articolo di Wikipedia sulla chiave SysRq magica per i dettagli). Quindi, se colpisci i
troppo rapidamente dopo e
, puoi uccidere i programmi mentre sono ancora in fase di arresto, come ho fatto dopo aver letto questa risposta.
Sì, tuttavia l'azione da intraprendere dipende dalle configurazioni di desktop manager. In KDE mostra una finestra di dialogo per la quale puoi scegliere se riavviare o arrestare il sistema.
Nella console Linux, per impostazione predefinita nella maggior parte delle distribuzioni, Ctrl+ Alt+ Delsi comporta come in MS-DOS: riavvia il sistema.
Nella GUI, Ctrl+ Alt+ Backspaceucciderà l'attuale server X e ne avvierà uno nuovo, comportandosi così come la sequenza SAK in Windows ( Ctrl+ Alt+ Del).
REISUB sarebbe l'equivalente più vicino. Le chiavi Magic SysRq sono l'unico modo per emulare i tradizionali hard reset di Windows / DOS in Linux / UNIX.
Per un'interfaccia simile a Program Manager, usa top e premi 'k' per 'k'ill.
Ctrl+ Alt+ Backspaceè disabilitato di default in X Server> 1.6 (sebbene alcune distro lo riattivano nei file di configurazione che spediscono). Anche se non fa ciò che fa Windows Ctrl+ Alt+ Delin generale, uccidere X e correggere i programmi che si comportano male si preferisce al riavvio della macchina.
In gnome, c'è una funzione chiamata "Scorciatoie da tastiera" che ti consente di personalizzare le scorciatoie da tastiera.
Il gestore dei processi per Gnome si chiama gnome-system-monitor, quindi se vai a: - Sistema; - Preferenze; - Scorciatoie da tastiera e aggiungi gnome-system-monitor come CTRL+ ALT+ DELdovrebbe funzionare per te :)
Sì, sono le stesse chiavi di Ubuntu ma possono variare in base alla tua distribuzione.
Il kernel di Linux può riavviare o inviare SIGINT il processo di inizializzazione su Ctrl+ Alt+Del
Pertanto, se il comportamento di SIGINT è abilitato, allora puoi fare Ctrl+ Alt+ Delfare qualunque cosa il tuo init voglia che faccia.
Lo stesso kernel Linux consente due possibili comportamenti da Ctrl+ Alt+ Del:
Quale comportamento viene utilizzato può essere selezionato con:
reboot
chiamata di sistema, vedere man 2 reboot
/proc/sys/kernel/ctrl-alt-del
Ad esempio, Init 1.28.3 di BusyBox esegue un comando arbitrario dato /etc/inittab
come:
::ctrlaltdel:/sbin/reboot
Ed ecco un esempio C minimo interessante per 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;
}