web-dev-qa-db-fra.com

Comment réparer un système Ubuntu non réactif?

J'utilise Ubuntu. Parfois, le système n'a aucune réponse avec la souris et le clavier. Existe-t-il un moyen de résoudre ce problème, sauf en appuyant sur le bouton de réinitialisation de la machine?

22
user297850

Si vous voulez un moyen de redémarrer, sans enregistrer les documents ouverts, mais sans appuyer sur le bouton de réinitialisation, il existe des moyens moins susceptibles de provoquer une perte de données. Premier essai Ctrl+Alt+F1. Cela devrait vous amener à une console virtuelle , comme ixtmixilix l'a dit. Une fois que vous êtes dans une console virtuelle, Ctrl+Alt+Delete va s'arrêter et redémarrer la machine.

Si cette technique ne fonctionne pas, il y a toujours Alt+SysRq+REISUB .

Quant à résoudre le problème sans redémarrer, sans plus d'informations sur ce qui se passe, il serait difficile de donner une bonne réponse. Si vous pouviez décrire les circonstances dans lesquelles cela se produit (la meilleure façon de le faire est de modifier votre question pour ajouter les informations), alors cela peut aider les gens à donner de bonnes réponses. L'autre chose à considérer est que, si votre ordinateur ne répond plus - surtout si cela prend plus de quelques secondes pour Ctrl+Alt+F1 pour faire apparaître une console virtuelle - alors vous avez presque certainement un bogue, et en le signalant vous pouvez à la fois aider la communauté et peut-être obtenir une réponse.

Problèmes d'interface graphique provoquant WM ou X11/Wayland ne répondant pas

Cela peut se produire en raison d'une interaction entre une application et un gestionnaire de fenêtres - ou le serveur X11 ou Wayland. Un signe que c'est la nature du problème est si une application cesse de répondre et vous empêche d'entrer des entrées avec le clavier ou la souris dans d'autres fenêtres d'application. (Aucune application devrait être en mesure de le faire; certains composants de l'interface graphique doivent avoir un bogue pour que cela se produise.) Si c'est ce qui se passe, alors vous pouvez tuer le processus incriminé dans une console virtuelle (comme ixtmixilix fait allusion à):

  1. Presse Ctrl+Alt+F1.

  2. Connectez-vous. Vous ne verrez rien en entrant votre mot de passe. C'est normal.

  3. Utilisez un utilitaire comme ps pour déterminer le nom du processus du programme incriminé. Parfois, c'est facile dans Ubuntu, et d'autres fois non. Par exemple, le nom d'un processus Archive Manager est file-roller. Si vous avez du mal à le comprendre, vous pouvez généralement trouver les informations en ligne sans trop de problèmes (ou si vous ne le pouvez pas, vous pouvez poser une question à ce sujet).

    Vous pouvez diriger la sortie de ps vers grep pour affiner les choses. Supposons que ce soit le gestionnaire d'archives qui soit à l'origine du problème. Ensuite, vous pouvez exécuter:

    ps x | grep file-roller
    

    Vous verrez une entrée pour votre propre commande grep, plus une entrée pour file-roller.

  4. Essayez de tuer le processus incriminé avec SIGTERM . Cela lui donne la possibilité de faire un nettoyage de dernière minute comme vider les tampons de fichiers, signaler aux serveurs distants qu'il est sur le point de se déconnecter (pour les protocoles qui le font) et libérer d'autres types de ressources. Pour ce faire, utilisez la commande kill :

    kill PID

    PID est le numéro d'identification du processus du processus que vous souhaitez tuer, obtenu en exécutant ps à l'étape 3.

  5. SIGTERM est un moyen de demander fermement à un processus de se fermer. Le processus peut ignorer ce signal et le fera en cas de dysfonctionnement dans certaines circonstances. Vous devriez donc vérifier pour voir si cela a fonctionné. Si ce n'est pas le cas, tuez-le avec SIGKILL , qu'il ne peut ignorer et qui fonctionne toujours sauf dans les rares cas où le processus est en veille sans interruption (ou s'il n'est pas vraiment en cours d'exécution, mais est plutôt un processus zombie ).

    Vous pouvez à la fois vérifier si le processus est toujours en cours d'exécution et le tuer avec SIGKILL s'il l'est, avec une seule commande:

    kill -KILL PID

    Si vous obtenez un message comme kill: (PID) - No such process, vous savez que le tuer avec SIGTERM a fonctionné. Si vous n'obtenez aucune sortie, vous savez que SIGTERM n'a pas fonctionné. Dans ce cas, SIGKILL l'a probablement fait, mais cela vaut la peine de le vérifier en le réexécutant. (Appuyez sur la flèche vers le haut pour afficher les commandes précédentes, pour faciliter la saisie.)

  6. Dans de rares cas pour vos propres processus, ou toujours avec des processus appartenant à root ou à un autre utilisateur que vous-même, vous devez tuer le processus en tant que root. Pour ce faire, ajoutez Sudo (y compris l'espace de fin) avant les commandes kill ci-dessus. Si les commandes ci-dessus ne fonctionnent pas ou si l'on vous dit que vous ne disposez pas de l'accès nécessaire pour tuer le processus, essayez-le en tant que root avec Sudo.

(Soit dit en passant, kill -KILL Est le même que le très populaire kill -9. Je recommande kill -KILL Parce que SIGKILL n'est pas garanti d'avoir 9 comme numéro de signal sur toutes les plates-formes. Il fonctionne sur x86, mais cela ne signifie pas qu'il fonctionnera nécessairement partout. De cette façon, kill -KILL est plus susceptible de terminer le processus avec succès que kill -9 Mais ils sont équivalents sur x86, alors n'hésitez pas à les utiliser si vous le souhaitez.)

Si vous savez qu'il n'y a pas d'autres processus portant le même nom que celui que vous souhaitez tuer, vous pouvez utiliser killall au lieu de kill et le nom du processus au lieu du numéro d'identification du processus.

Un processus monopolisant les ressources CPU

Si un processus s'exécute à ou très près de la priorité la plus élevée possible (ou pour l'énoncer plus correctement, à ou près de la plus faible possible gentillesse ), il pourrait potentiellement rendre complètement votre interface utilisateur graphique , ou presque complètement, ne répond pas. Cependant, dans cette situation, vous ne pourrez probablement pas basculer vers une console virtuelle et exécuter des commandes (ou peut-être même redémarrer).

Si un processus ou une combinaison de processus exécutés avec une priorité normale ou modérément élevée ralentit votre machine, vous devriez pouvoir les tuer en utilisant la technique décrite dans la section ci-dessus. Mais s'il s'agit de programmes graphiques, vous pouvez également les tuer en cliquant sur le bouton de fermeture de leurs fenêtres - l'environnement de bureau vous donnera la possibilité de les tuer s'ils ne répondent pas. Si cela ne fonctionne pas, vous pouvez bien sûr (presque) toujours les tuer avec kill -KILL.

Problèmes d'E/S

Buggy Les E/S peuvent provoquer une absence de réponse prolongée (voire perpétuelle). Cela peut être dû à un bug du noyau et/ou des pilotes de buggy. Une solution de contournement partielle consiste à éviter des opérations de lecture et/ou d'écriture lourdes et simultanées (par exemple, ne copiez pas deux gros fichiers à la fois, en deux processus de copie simultanés; ne copiez pas un gros fichier tout en regardant une vidéo HD ou en installant un OS dans une machine virtuelle).

Ce n'est évidemment pas satisfaisant et la vraie solution est de trouver le problème et de le signaler. Sauf si vous exécutez un noyau principal depuis kernel.org , les bogues du noyau doivent être signalés par rapport au package linux dans Ubuntu (car Ubuntu propose des versions de noyau spéciales qui intègrent les correctifs spécifiques aux distributions et les rapports de bogues non confirmés par rapport à un noyau principal seront rejetés sur kernel.org ). Pour ce faire, exécutez ubuntu-bug linux (Ou apport-cli linux) Sur la machine concernée. Voir d'abord la documentation de rapport de bug Ubuntu ; il explique comment procéder correctement.

Problèmes de carte graphique

Certains blocages de l'interface graphique peuvent être causés par des problèmes de carte graphique. Vous pouvez essayer plusieurs choses pour y remédier:

  1. Recherchez sur le Web pour voir si d'autres personnes ont rencontré des problèmes similaires avec la même carte vidéo (et/ou la marque et le modèle de machine) sur Ubuntu ou d'autres distributions GNU/Linux. Il peut y avoir des solutions plus spécifiques que ce que je peux offrir dans cette réponse, sans informations plus spécifiques que ce qui est actuellement dans votre question.

  2. Vérifiez si différents pilotes vidéo sont disponibles pour vous. Vous pouvez le faire en archivant des pilotes supplémentaires; vous pouvez également rechercher sur le Web pour voir quels pilotes Linux sont disponibles pour votre carte vidéo. La plupart des cartes vidéo propriétaires sont Intel, AMD/ATI ou Nvidia (cliquez sur ces liens pour voir la documentation de la communauté sur l'installation et l'utilisation pilotes propriétaires pour ces cartes dans Ubuntu). Pour Intel, il vaut mieux s'en tenir aux pilotes FOSS qui sont présents dans Ubuntu, mais il y a toujours des informations utiles que vous pouvez utiliser. Quelle que soit votre carte, ces informations générales peuvent vous aider.

    Si vous utilisez actuellement des pilotes propriétaires, vous pouvez essayer d'utiliser différents pilotes propriétaires (par exemple, directement à partir de NVidia ou AMD/ATI), ou vous pouvez plutôt utiliser les pilotes open source gratuits.

  3. Essayez de sélectionner un type de session de connexion graphique qui ne nécessite/n'utilise pas d'accélération graphique. Pour ce faire, déconnectez-vous et sur l'écran de connexion graphique, cliquez sur le logo Ubuntu ou l'icône d'engrenage près de votre nom de connexion. Un menu déroulant s'affiche. Modifiez la sélection de Ubuntu à Ubuntu 2D. Cela vous fait utiliser Unity 2D au lieu de Unity . (Si vous utilisez GNOME Shell , vous pouvez sélectionner GNOME Fallback /GNOME Classic à la place.) En cas de doute et il y a une sélection qui dit "pas d'effets", choisissez-la, car c'est probablement la plus sûre.

    Cette question contient plus d'informations sur les différentes interfaces graphiques parmi lesquelles vous pouvez choisir dans Ubuntu.

  4. Dans les versions plus récentes d'Ubuntu, vous pouvez choisir entre X.org et Wayland sur l'écran de connexion. Quelle que soit celle que vous utilisiez, essayez l'autre. Parfois, un problème avec Wayland peut être résolu en utilisant X.org, ou vice versa.

  5. Signaler un bug.

J'espère que les informations ci-dessus ont transmis des informations générales sur ce qui pourrait être à l'origine de ce type de problème. Il devrait également servir à éclairer le type d'informations qui pourraient être utiles pour vous à ajouter à votre question (en fonction des détails spécifiques du problème), pour permettre d'obtenir une réponse encore meilleure. (Ou pour améliorer cette réponse avec des informations supplémentaires spécifiques à votre situation.)

36
Eliah Kagan

Oui, la façon la plus simple de l'archiver est d'activer les clés pour tuer le serveur Xorg et de relancer la session X.

Pour l'activer, ouvrez Paramètres système -> Options de disposition du clavier (ou utilisez la commande keyboard dans l'interface Unity, appuyez sur AltF2) et cochez cette option:

Ctrl + Alt + Retour arrière

enter image description here

Alors quand ça se bloque, frappez CtrlAltBackspace va tuer le serveur X et lightdm relancera l'interface de connexion

7
daisy