# Lenteur perceptible à la fermeture d'un terminal loggué sous root

**URL:** <https://www.debian-fr.org/t/lenteur-perceptible-a-la-fermeture-dun-terminal-loggue-sous-root/80458>\
**Category:** Support Debian\
**Created:** [Octobre 23, 2019, 5:48 UTC](https://www.debian-fr.org/t/lenteur-perceptible-a-la-fermeture-dun-terminal-loggue-sous-root/80458 "2019-10-23T17:48:32Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![guiguitarux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/guiguitarux/32/10039_2.png) [@guiguitarux](https://www.debian-fr.org/u/guiguitarux)\
**Post date:** [Octobre 23, 2019, 5:48 UTC](https://www.debian-fr.org/t/lenteur-perceptible-a-la-fermeture-dun-terminal-loggue-sous-root/80458/1 "2019-10-23T17:48:32Z")

</div>

Salut, Je tourne sous buster / xfce4.

Alors, qu’on soit bien d’accord, il ne s’agit pas d’une panne, mais voilà ce que j’ai constaté :

Si j’ouvre un terminal en user simple et que je ferme la fenêtre, rien à constater.

Si j’ouvre un terminal, que je me loggue en root et que je ferme la fenêtre, là je constate une latence lors de la fermeture de la fenêtre.

Question : est-ce normal ?

---

<div class="post-metadata">

**Author:** ![littlejohn75](https://www.debian-fr.org/user_avatar/www.debian-fr.org/littlejohn75/32/3840_2.png) [@littlejohn75](https://www.debian-fr.org/u/littlejohn75)\
**Post date:** [Octobre 23, 2019, 10:21 UTC](https://www.debian-fr.org/t/lenteur-perceptible-a-la-fermeture-dun-terminal-loggue-sous-root/80458/2 "2019-10-23T22:21:12Z")

</div>

> [@guiguitarux](#):
>
> Si j’ouvre un terminal,

Comment ? Avec le menu Applications (la petite souris) puis émulateur de Terminal ?

> [@guiguitarux](#):
>
> que je me loggue en root

Comment ? En tapant

```plaintext
su -
sudo bash
# autre
command -p sudo bash

```

Pourriez-vous préciser exactement comment vous procédez pour fermer la fenêtre ? C’est là le point essentiel.

Je suppose que vous vous précipitez pour attraper la souris et faites un exercice inutile de contrôle des mouvements de la main pour bien viser le coin supérieur droit de la fenêtre et cliquer précisément sur la croix qui s’est mise à rougir.

> [@guiguitarux](#):
>
> je ferme la fenêtre, là je constate une latence lors de la fermeture de la fenêtre.
> 
> Question : est-ce normal ?

Si vous procédez comme je l’ai indiqué ci-dessus la réponse est oui 😂

Et pourquoi donc ? Parce que avec xfce4, vous pouvez ouvrir plusieurs fenêtres émulateur de Terminal, éventuellement avec plusieurs onglets, il n’y aura qu’un seul processus `xfce4-terminal`

```plaintext
fp2@debpacha:/tmp$ pstree -a -G 4980
xfce4-terminal --zoom=1 --hide-menubar --hide-toolbar
  ├─bash
  │ └─watch --interval 30 ./wbattr
  ├─bash
  ├─bash
  ├─bash
  ├─bash
  ├─bash
  │ └─man pstree
  │ └─pager
  ├─bash
  │ └─pstree -a -G 4980
  ├─{gdbus}
  └─{gmain}
fp2@debpacha:/tmp$ 
fp2@debpacha:/tmp$ ps -edf | fgrep terminal
fp2 4284 30356 0 23:16 pts/6 00:00:00 grep -F --color=auto terminal
fp2 4980 2922 0 14:14 ? 00:00:12 xfce4-terminal --zoom=1 --hide-menubar --hide-toolbar
fp2@debpacha:/tmp$ 

```

Dans cette sortie je reconnais les cinq onglets d’une fenêtre dans ‹&nbsp;Espace de travail 1&nbsp;› et deux fenêtres dans ‹&nbsp;Espace de Travail 2&nbsp;›, une fenêtre pour retrouver les options de `pstree` et une autre fenêtre dans laquelle j’ai tapé mes commandes `pstree` et `ps ...`.  
Si maintenant je veux fermer la fenêtre qui affiche `man pstree`, comme elle est recouverte par la fenêtre `Firefox` je ne vais pas perdre mon temps à mettre Firefox en icône, sélectionner le bon terminal,.. je bascule via Alt Tab pour qu’elle apparaisse au premier plan, j’appuie sur ‹&nbsp;q&nbsp;› pour quitter la commande `man` et sur Ctrl D (ou ‹&nbsp;exit&nbsp;›) pour mettre fin proprement le shell interactif ce qui fait disparaître ipso facto la fenêtre.  
Si je relance un `pstree` j’ai une entrée `bash` en moins.

Maintenant, dans votre cas, on a un seul terminal qui contient un bash interactif de l’utilisateur uid=1000, lequel shell est le père d’un autre shell interactif de root uid=0.  
On pourrait avoir deux sources de latence possible dans votre manière de procéder

- En cliquant sur la croix, le signal de fermeture n’est pas envoyé au bon processus interactif
- quand les shells sont fermés, faire disparaître la fenêtre et éventuellement arrêter le processus `xfce4-terminal` qui n’a plus de raison d’être (étape sans vraie latence à mon avis).

En résumé : il suffit de procéder logiquement à la fermeture des shells empilés dans la fenêtre  
Si l’invite est du genre `root@machine:..#` Ctrl D affiche `# exit`  
L’invite devient `utilisateur@machine:...$` Ctrl D ferme le shell et la fenêtre.

Conclusion : on utilise le clavier, c’est plus rapide, plus simple et plus logique.

Cordialement,  
Regards,  
Mit freundlichen Grüßen,  
مع تحياتي الخالصة

* * *

F. Petitjean  
Ingénieur civil du Génie Maritime.

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »  
Pierre Dac

---

<div class="post-metadata">

**Author:** ![guiguitarux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/guiguitarux/32/10039_2.png) [@guiguitarux](https://www.debian-fr.org/u/guiguitarux)\
**Post date:** [Octobre 24, 2019, 7:18 UTC](https://www.debian-fr.org/t/lenteur-perceptible-a-la-fermeture-dun-terminal-loggue-sous-root/80458/3 "2019-10-24T07:18:07Z")

</div>

Mon test était basé sur la manipulation suivante :

- j’ouvre une fenêtre xfce4-terminal
- je me loggue en root avec su -
- je ferme la fenêtre avec le pointeur de la souris (car souvent je ferme tous les autres fenêtres dans la foulée)

---

<div class="post-metadata">

**Author:** ![littlejohn75](https://www.debian-fr.org/user_avatar/www.debian-fr.org/littlejohn75/32/3840_2.png) [@littlejohn75](https://www.debian-fr.org/u/littlejohn75)\
**Post date:** [Octobre 24, 2019, 10:48 UTC](https://www.debian-fr.org/t/lenteur-perceptible-a-la-fermeture-dun-terminal-loggue-sous-root/80458/4 "2019-10-24T10:48:39Z")

</div>

Je sais bien que j’ai été un peu long dans mes explications.

> [@guiguitarux](#):
>
> je ferme la fenêtre avec le pointeur de la souris (car souvent je ferme tous les autres fenêtres dans la foulée)

Je suppose que maintenant vous avez compris pourquoi en fermant à la souris une fenêtre terminal, vous faites disparaître toutes les fenêtres Terminal car vous donnez le signal d’arrêter le seul processus `xfce4-terminal` qui gère toutes les fenêtres et onglets de ce type.

On peut à la limite considérer que ce choix d’implémentation est discutable du point de vue ergonomique car si dans un espace de travail vous ouvrez un terminal puis après avoir passé une ou deux commandes vous décidez que vous n’avez plus besoin de _ce_ terminal, vous fermez avec un clic sur la croix de fermeture vous envoyez ad patres tous les autres terminaux dans tous les espaces de travail (que par définition vous ne voyez pas sur votre espace de travail actuel). C’est limite du grand n’importe quoi.

Pour l’histoire de la latence, il faudrait creuser plus avant mais c’est vraisemblablement parce-que un shell interactif avec uid=0 (root) n’apprécie pas vraiment de voir son processus parent disparaître sans crier gare (le shell dans lequel vous avez tapé `su -` et qui a donné naissance au shell root en question ).

Cordialement,  
Regards,  
Mit freundlichen Grüßen,  
مع تحياتي الخالصة

* * *

F. Petitjean  
Ingénieur civil du Génie Maritime.

« On ne perd pas son temps en aiguisant ses outils. »  
Proverbe français

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Octobre 24, 2019, 12:33 UTC](https://www.debian-fr.org/t/lenteur-perceptible-a-la-fermeture-dun-terminal-loggue-sous-root/80458/5 "2019-10-24T12:33:22Z")

</div>

Gnome à la courtoisie d’avertir

su - pour passer root puis clic pour fermer la fenêtre

 ![Capture%20d%E2%80%99%C3%A9cran%20du%202019-10-24%2014-32-39](https://www.debian-fr.org/uploads/default/original/2X/8/8399475a3529192d148ba7f0d55dcc64dbc74f70.png)

---

<div class="post-metadata">

**Author:** ![littlejohn75](https://www.debian-fr.org/user_avatar/www.debian-fr.org/littlejohn75/32/3840_2.png) [@littlejohn75](https://www.debian-fr.org/u/littlejohn75)\
**Post date:** [Octobre 24, 2019, 3:03 UTC](https://www.debian-fr.org/t/lenteur-perceptible-a-la-fermeture-dun-terminal-loggue-sous-root/80458/6 "2019-10-24T15:03:37Z")

</div>

> [@grandtoubab](#):
>
> Gnome à la courtoisie d’avertir

Pour le choix du mot `courtoisie` vous avez mon approbation et celle de Boileau 😃  
Et après essai de ma part, nous avons effectivement un bug de `xfce4-terminal`  
Je crée une fenêtre pour lancer des commandes privilégiées

```plaintext
fp2@debpacha:~$ pstree -a -G 4642
xfce4-terminal --zoom=1 --hide-menubar --hide-toolbar
  ├─bash
  │ └─watch --interval 30 ./wbattr
  ├─bash
  ├─bash
  ├─bash
  ├─bash
  │ └─pstree -a -G 4642
  ├─bash
  ├─bash
  │ └─sudo bash
  │ └─bash
  ├─{gdbus}
  └─{gmain}
fp2@debpacha:~$ 

```

Je lance mes commandes et je ferme la fenêtre en cliquant sur la croix : la fenêtre disparaît immédiatement (sans demande de confirmation, et testé aussi avec une commande `watch` dans le terminal )

```plaintext
fp2@debpacha:~$ pstree -a -G 4642
xfce4-terminal --zoom=1 --hide-menubar --hide-toolbar
  ├─bash
  │ └─watch --interval 30 ./wbattr
  ├─bash
  ├─bash
  ├─bash
  ├─bash
  │ └─pstree -a -G 4642
  ├─bash
  ├─{gdbus}
  └─{gmain}
fp2@debpacha:~$ 

```

Et une entrée `bash -> sudo bash _> bash` en moins ! (la fenêtre ou l’onglet associé aussi)

Par contre mon histoire de sans crier gare de faire disparaître des terminaux dans un autre espace de travail ce n’est heureusement pas le cas Dieu Merci !

Comme j’ai pris l’habitude d’être bête et discipliné et de fermer méthodiquement chaque onglet/fenêtre je n’utilise en pratique jamais le clic de souris sur la croix pour fermer une fenêtre.  
Pour les onglets d’un terminal Ctrl D  
Pour les onglets de Firefox Ctrl W  
Pour les onglets de `elinks` c (close)

La logique de l’empilement des programmes et interpréteurs de commandes me convient, par exemple

```plaintext
ssh utilisateur@serveur
tmux attach -t 0

```

Je retrouve ma session (texte)  
Quand j’ai terminé

```plaintext
# sortie de tmux
<Prefix>D
# sortie du shell de connexion
Ctrl D

```

Avec = Ctrl B par défaut, mais que j’ai paramétré à Ctrl A comme pour `screen`

Je n’utilise quasiment jamais l’explorateur de fichiers `Thunar` (d’ailleurs c’est seulement maintenant que c’est lui qui gère les raccourcis .desktop sur le Bureau) et je préfère largement pour visualiser un pdf Avis\_de\_taxe\_d\_habitationxxxx.pdf me rendre via `cd` dans le répertoires des impôts et copier dans le presse papier le nom exact du fichier que je veux visualiser (`ls -lt | head` ou autre) et de lancer

```plaintext
xdg-open <lefichier>
# ou
zathura <lefichier>

```

La partie est remplie par l’ordinateur raccourci Shift Ctrl V  
L’avantage de `zathura` c’est que pour ajuster le zoom, je n’ai pas besoin de la souris, les touches ‹&nbsp;+&nbsp;› et ‹&nbsp;-&nbsp;› fonctionnent (et même les flèches pour se déplacer) et la sortie c(est ‹&nbsp;q&nbsp;› (quit). C’est nettement plus rapide que le `evince` lancé par défaut

```plaintext
fp2@debpacha:/data/docs/impots$ xdg-open Avis_de_taxe_d_habitation_CAP_2019.pdf
fp2@debpacha:/data/docs/impots$ 
(evince:11281): Gtk-WARNING **: Allocating size to EvSidebar 0x556a098f0520 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

fp2@debpacha:/data/docs/impots$ 

```

Au moins, avec `zathura` il n’y a pas de messages d’avertissements ou d’erreurs qui viennent polluer le terminal.

Ce message vous est proposé dans le cadre d’une campagne de promotion de l’utilisation de la ligne de commandes, des applications qui se pilotent au clavier et de la lecture des pages de manuel.

Cordialement,  
Regards,  
Mit freundlichen Grüßen,  
مع تحياتي الخالصة

* * *

F. Petitjean  
Ingénieur civil du Génie Maritime.

« Ce que l’on conçoit bien s’énonce clairement,  
Et les mots pour le dire arrivent aisément. »  
Boileau De L’Art poétique (Chant I)

---

<div class="post-metadata">

**Author:** ![guiguitarux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/guiguitarux/32/10039_2.png) [@guiguitarux](https://www.debian-fr.org/u/guiguitarux)\
**Post date:** [Octobre 24, 2019, 3:11 UTC](https://www.debian-fr.org/t/lenteur-perceptible-a-la-fermeture-dun-terminal-loggue-sous-root/80458/7 "2019-10-24T15:11:00Z")

</div>

> [@littlejohn75](#):
>
> Pour l’histoire de la latence, il faudrait creuser plus avant mais c’est vraisemblablement parce-que un shell interactif avec uid=0 (root) n’apprécie pas vraiment de voir son processus parent disparaître sans crier gare (le shell dans lequel vous avez tapé `su -` et qui a donné naissance au shell root en question ).

Je pense aussi.

Toutefois, merci beaucoup pour le partage de toutes ces explications. C’est cool de voir des passionnés s’investir dans nos interrogations qui ne sont pas forcément prioritaires. 👍
