Come riparare il sistema Ubuntu non responsive?


22

Uso Ubuntu. A volte, il sistema non ha alcuna risposta con mouse e tastiera. Esiste un modo per risolvere questo problema se non premendo il pulsante di ripristino sulla macchina?


1
è una domanda difficile perché non ci stai dando molto per continuare ... se fossi in me farei CTRL + ALT + F [1..6], accedessi e uccidere alcuni processi. ma quasi sempre so cosa rende la mia macchina non rispondente, mentre tu no. e inoltre, a volte scrivo programmi che so che non risponderanno, perché voglio l'output del programma.
ixtmixilix,

Sei sicuro che il sistema non risponda o funziona ancora ma i dispositivi di input smettono di funzionare?
Bobby,

Risposte:


35

Se vuoi un modo per riavviare, senza salvare documenti aperti, ma senza premere il pulsante di ripristino, ci sono modi che hanno meno probabilità di causare la perdita di dati. Innanzitutto, prova Ctrl+ Alt+ F1. Ciò dovrebbe portarti a una console virtuale , come ha detto ixtmixilix . Una volta che sei in una console virtuale, Ctrl+ Alt+ Deletesi spegne e riavvia il computer.

Se quella tecnica non funziona, c'è sempre Alt+ SysRq+REISUB .

Per quanto riguarda la risoluzione del problema senza riavviare, senza ulteriori informazioni su ciò che sta accadendo, sarebbe difficile dare una buona risposta. Se potessi descrivere le circostanze in cui ciò si verifica (il modo migliore per farlo è quello di modificare la tua domanda per aggiungere le informazioni), ciò potrebbe aiutare le persone a dare buone risposte. L'altra cosa da considerare è che, se il tuo computer non risponde, specialmente se ci vogliono più di alcuni secondi per Ctrl+ Alt+ F1per far apparire una console virtuale, allora quasi sicuramente hai un bug, e segnalandolo puoi entrambi aiutano la comunità e forse ottengono una risposta.

Problemi con la GUI che causano la mancata risposta di WM o X11 / Wayland

Ciò potrebbe accadere a causa di un'interazione tra un'applicazione e un gestore di finestre o il server X11 o Wayland. Un segno che questa è la natura del problema è se un'applicazione smette di rispondere e ti impedisce di inserire l'input con la tastiera o il mouse in altre finestre dell'applicazione. (Nessuna applicazione dovrebbe essere in grado di farlo; alcuni componenti della GUI devono contenere un bug perché ciò accada). Se è quello che sta succedendo, puoi terminare il processo offensivo in una console virtuale (come ha accennato ixtmixilix ):

  1. Premi Ctrl+ Alt+ F1.

  2. Accedi. Non vedrai nulla quando inserisci la password. È normale.

  3. Utilizzare un'utilità come psper capire il nome del processo del programma offensivo. A volte questo è facile in Ubuntu, altre volte no. Ad esempio, il nome di un processo Gestore archivio è file-roller. Se hai difficoltà a capirlo, di solito puoi trovare le informazioni online senza troppi problemi (o se non puoi, puoi pubblicare una domanda al riguardo).

    È possibile reindirizzare psl'output grepper restringere le cose. Supponiamo che sia stato il gestore degli archivi a causare il problema. Quindi potresti eseguire:

    ps x | grep file-roller
    

    Vedrai una voce per il tuo grepcomando, più una voce per file-roller.

  4. Tentativo di terminare il processo offensivo con SIGTERM. Ciò offre la possibilità di eseguire la pulizia dell'ultimo minuto come svuotare i buffer di file, segnalare ai server remoti che sta per disconnettersi (per i protocolli che lo fanno) e rilasciare altri tipi di risorse. Per fare ciò, usa il killcomando:

    kill PID

    dove si PIDtrova il numero ID del processo che si desidera terminare, ottenuto dall'esecuzione psnel passaggio 3.

  5. SIGTERMè un modo per chiedere fermamente a un processo di uscire. Il processo può ignorare quel segnale e lo farà in caso di malfunzionamento in determinate circostanze. Quindi dovresti controllare per vedere che ha funzionato. In caso contrario, uccidilo con SIGKILL, che non può ignorare e che funziona sempre tranne nel raro caso in cui il processo è in modalità di sospensione ininterrotta (o se non è realmente in esecuzione, ma è piuttosto un processo di zombi ).

    Puoi controllare entrambi per vedere se il processo è ancora in esecuzione e ucciderlo con SIGKILLse lo è, con un solo comando:

    kill -KILL PID

    Se ricevi un messaggio del genere , sai di ucciderlo con lavorato. Se non ricevi alcun output, sai che non ha funzionato. In quel caso, probabilmente lo ha fatto, ma vale la pena verificarlo eseguendolo di nuovo. (Premere il tasto freccia su per visualizzare i comandi precedenti, per facilitare la digitazione.)kill: (PID) - No such processSIGTERMSIGTERMSIGKILL

  6. In rari casi per i propri processi o sempre con processi appartenenti a rootun altro utente oltre a te stesso, è necessario interrompere il processo come root. Per fare ciò, anteporre sudo (incluso lo spazio finale) prima dei killcomandi precedenti . Se i comandi sopra non funzionano o ti viene detto che non hai l'accesso necessario per terminare il processo, provalo come rootcon sudo.

(A proposito, kill -KILLè lo stesso come il molto popolare kill -9. Mi raccomando kill -KILL, perché SIGKILLnon è garantito di avere 9il suo numero di segnale su tutte le piattaforme. Funziona su x86, ma questo non significa che sarà necessariamente funziona in tutto il mondo. In questo modo, kill -KILLè più probabile che finisca con successo il processo rispetto a kill -9. Ma sono equivalenti su x86, quindi sentiti libero di usarlo lì se vuoi.)

Se sai che non ci sono altri processi con lo stesso nome di quello che vuoi uccidere, puoi usare al killallposto di kille il nome del processo invece del numero ID del processo.

Un processo che monopolizza le risorse della CPU

Se un processo viene eseguito alla massima priorità possibile o molto vicino (o per dirlo in modo più corretto, o alla minima precisione possibile ), potrebbe potenzialmente rendere la tua interfaccia utente grafica completamente o quasi completamente non rispondente. Tuttavia, in questa situazione, probabilmente non saresti in grado di passare a una console virtuale ed eseguire comandi (o forse anche riavviare).

Se un processo o una combinazione di processi in esecuzione a priorità normale o moderatamente elevata stanno rallentando la macchina, dovresti essere in grado di ucciderli utilizzando la tecnica nella sezione precedente. Ma se sono programmi grafici, puoi anche ucciderli facendo clic sul pulsante Chiudi nelle loro finestre: l'ambiente desktop ti darà la possibilità di ucciderli se non rispondono. Se questo non funziona, ovviamente puoi (quasi) ucciderli sempre con kill -KILL.

Problemi di I / O

L' I / O con errori può causare una mancata risposta prolungata (anche perpetua). Ciò può essere dovuto a un bug del kernel e / o driver buggy. Una soluzione parziale è quella di evitare operazioni di lettura e / o scrittura pesanti e simultanee (ad esempio, non copiare due file di grandi dimensioni contemporaneamente, in due processi di copia simultanei; non copiare un file di grandi dimensioni mentre si guarda un video HD o si installa un SO in una macchina virtuale).

Ciò è ovviamente insoddisfacente e la vera soluzione è trovare il problema e segnalarlo. A meno che tu non stia eseguendo un kernel mainline da kernel.org , i bug del kernel dovrebbero essere segnalati contro il pacchetto linuxin Ubuntu (dal momento che Ubuntu offre build speciali del kernel che integrano patch specifiche per la distro, e le segnalazioni di bug non confermate contro un kernel mainline verranno rifiutate in kernel.org ). Dovresti farlo eseguendo ubuntu-bug linux(o apport-cli linux) sul computer interessato. Vedi prima la documentazione di segnalazione bug di Ubuntu ; spiega come farlo correttamente.

Problemi con la scheda grafica

Alcuni blocchi della GUI possono essere causati da problemi della scheda grafica. Ci sono alcune cose che puoi provare per alleviare questo:

  1. Cerca nel web per vedere se altre persone hanno riscontrato problemi simili con la stessa scheda video (e / o marca e modello di macchina) su Ubuntu o altre distribuzioni GNU / Linux. Potrebbero esserci soluzioni più specifiche di ciò che posso offrire in questa risposta, senza informazioni più specifiche di quelle attualmente presenti nella tua domanda.

  2. Verifica se sono disponibili diversi driver video da provare. Puoi farlo controllando Driver aggiuntivi; puoi anche cercare nel Web per vedere quali driver Linux sono disponibili per la tua scheda video. La maggior parte delle schede video proprietarie sono Intel, AMD / ATi o Nvidia (fare clic su tali collegamenti per visualizzare la documentazione della comunità sull'installazione e l'utilizzo dei driver proprietari per queste schede in Ubuntu). Per Intel, è meglio attenersi ai driver FOSS presenti in Ubuntu, ma ci sono ancora informazioni utili che è possibile utilizzare. Indipendentemente dalla carta in tuo possesso, queste informazioni generali potrebbero essere utili.

    Se al momento stai utilizzando driver proprietari, puoi provare a utilizzare driver proprietari diversi (ad esempio, direttamente da NVidia o AMD / ATi), oppure puoi provare a utilizzare i driver open source gratuiti.

  3. Prova a selezionare un tipo di sessione di accesso grafico che non richiede / utilizza l'accelerazione grafica. Per fare ciò, disconnettiti e nella schermata di accesso grafica fai clic sul logo Ubuntu o sull'icona a forma di ingranaggio vicino al tuo nome di accesso. Viene visualizzato un menu a discesa. Cambia la selezione da Ubuntu a Ubuntu 2D . Questo ti fa usare Unity 2D invece di Unity . (Se stai usando GNOME Shell , puoi invece selezionare GNOME Fallback / GNOME Classic .) In caso di dubbio e c'è una selezione che dice "nessun effetto", scegli quella, poiché è probabilmente la più sicura.

    Questa domanda contiene alcune ulteriori informazioni sulle diverse interfacce grafiche che puoi scegliere in Ubuntu.

  4. Nelle versioni più recenti di Ubuntu, puoi scegliere tra X.org e Wayland nella schermata di accesso. Qualunque cosa tu stia usando, prova l'altro. A volte un problema con Wayland può essere risolto usando X.org o viceversa.

  5. Segnalare un bug.

Speriamo che le informazioni di cui sopra abbiano fornito alcune informazioni generali su ciò che potrebbe causare questo tipo di problema. Dovrebbe anche servire a chiarire quali tipi di informazioni potrebbero essere utili da aggiungere alla domanda (a seconda dei dettagli specifici del problema), per consentire di ottenere una risposta ancora migliore. (O per migliorare questa risposta con informazioni aggiuntive specifiche per la tua situazione.)


1
Suggerimenti ben fatti per risolvere i blocchi.
Raffreddare Charac il

Se la tastiera smette di rispondere non è possibile utilizzare Ctrl + Alt + FN
szx

6

Sì, il modo più semplice per archiviarlo è abilitare le chiavi per uccidere il server Xorg e riavviare la sessione X.

Per abilitarlo, apri Impostazioni di sistema -> Opzioni layout tastiera (o usa il keyboardcomando nell'interfaccia Unity, premi AltF2) e seleziona questa opzione:

Ctrl + Alt + Backspace

inserisci qui la descrizione dell'immagine

Quindi quando si blocca, hit CtrlAltBackspaceucciderà X server e lightdm riavvierà l'interfaccia di accesso


Alt+Print+Kfarà lo stesso fuori dalla scatola, no?
Bobby,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.