Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comportement étrange en console

8 réponses
Avatar
luc schimpf
Bonjour,
depuis quelques temps, lorsque je me logue en root dans un émulateur de
terminal
que ce soit konsole ou xterm ou autre, j'ai le message suivant:

bash: impossible de régler le groupe de processus du terminal (-1):
Ioctl() inapproprié pour un périphérique
bash: pas de contrôle de tâche dans ce shell

J'ai essayé de changer l'interpréteur de commande, mais avec dash à la
place de bash, j'ai le même comportement mis à part que le message est
en anglais.

Quelqu'un aurait-il une idée pour revenir à un comportement normal ?

Ah oui, j'oubliais, je suis sous Debian testing, je sais testing c'est
pas stable, mais quand même….
Merci,
Luc

--

Luc Schimpf
www.au-ptit-bon-air.eu

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/4F5B116A.5070004@free.fr

8 réponses

Avatar
steve
Salut Luc,

J'ai posté un message le 23 février concernant exactement le même
problème. Et toujours pas de solution en vue.


Le 10-03-2012, à 09:31:38 +0100, luc schimpf () a écrit :

Bonjour,
depuis quelques temps, lorsque je me logue en root dans un émulateur
de terminal
que ce soit konsole ou xterm ou autre, j'ai le message suivant:

bash: impossible de régler le groupe de processus du terminal (-1):
Ioctl() inapproprié pour un périphérique
bash: pas de contrôle de tâche dans ce shell

J'ai essayé de changer l'interpréteur de commande, mais avec dash à
la place de bash, j'ai le même comportement mis à part que le
message est en anglais.



Tu peux faire :

export LC_ALL=C

pour les avoir en anglais.


steve

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
luc schimpf
Le 10/03/2012 12:26, steve a écrit :
Salut Luc,

J'ai posté un message le 23 février concernant exactement le même
problème. Et toujours pas de solution en vue.


Le 10-03-2012, à 09:31:38 +0100, luc schimpf () a écrit :

Bonjour,
depuis quelques temps, lorsque je me logue en root dans un émulateur
de terminal
que ce soit konsole ou xterm ou autre, j'ai le message suivant:

bash: impossible de régler le groupe de processus du terminal (-1):
Ioctl() inapproprié pour un périphérique
bash: pas de contrôle de tâche dans ce shell

J'ai essayé de changer l'interpréteur de commande, mais avec dash à
la place de bash, j'ai le même comportement mis à part que le
message est en anglais.


Tu peux faire :

export LC_ALL=C

pour les avoir en anglais.


steve



Voilà qui est fait:

bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell

ceal dit, que ce soit en français ou en anglais, google n'est pas d'une
grande aide sur ce coup là.

--

Luc Schimpf
www.au-ptit-bon-air.eu

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
steve
>>J'ai essayé de changer l'interpréteur de commande, mais avec dash à
>>la place de bash, j'ai le même comportement mis à part que le
>>message est en anglais.
>Tu peux faire :
>
>export LC_ALL=C
>
>pour les avoir en anglais.
>
>
>steve
>
Voilà qui est fait:

bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell

ceal dit, que ce soit en français ou en anglais, google n'est pas
d'une grande aide sur ce coup là.




c'est ce que je m'étais aussi dit :-)

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
luc schimpf
Le 10/03/2012 12:51, steve a écrit :
J'ai essayé de changer l'interpréteur de commande, mais avec dash à
la place de bash, j'ai le même comportement mis à part que le
message est en anglais.


Tu peux faire :

export LC_ALL=C

pour les avoir en anglais.


steve



Voilà qui est fait:

bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell

ceal dit, que ce soit en français ou en anglais, google n'est pas
d'une grande aide sur ce coup là.



c'est ce que je m'étais aussi dit :-)



J'ai fait un strace -f konsole

mais je ne suis pas compétent du tout pour exploiter le résultat.
Néanmoins, j'ai relevé plusieurs lignes du type:

ioctl(10, TIOCSCTTY <unfinished ...>
---
ioctl(10, TIOCSPGRP <unfinished ...>
---
ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS <unfinished ...>

Si ça parle à quelqu'un...





--

Luc Schimpf
www.au-ptit-bon-air.eu

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Stephane Chazelas
2012-03-10 09:31:38 +0100, luc schimpf:
Bonjour,
depuis quelques temps, lorsque je me logue en root dans un émulateur
de terminal
que ce soit konsole ou xterm ou autre, j'ai le message suivant:

bash: impossible de régler le groupe de processus du terminal (-1):
Ioctl() inapproprié pour un périphérique
bash: pas de contrôle de tâche dans ce shell


[...]

Que te disent

tty
lsof -p "$$"
ps -fjp "$$"
pstree -Alusp $$

?

--
Stephane

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Stephane Chazelas
2012-03-10 23:44:28 +0100, luc schimpf:
[...]
23:42 :/home/luc# ps -fjp "$$"
UID PID PPID PGID SID C STIME TTY TIME CMD
root 22694 22672 22694 22694 0 23:42 ? 00:00:00 /bin/bash

23:42 :/home/luc# pstree -Alusp $$
init(1)---yakuake(3321,luc)---bash(9617)---su(22672,root)---bash(22694)---pstree(22705)


[...]

Ce que se passe est que quelquechose demarre une nouvelle
session.

22694 est session-leader, mais pas de la session qui controle le
terminal (ca serait plutot 9617), donc il ne peut pas faire un
tcsetpgrp(3) sur ce terminal pas plus qu'un process dans un
autre yakuake ne le pourrait.

A priori, je ne vois que "su" qui puisse faire ca avant
d'executer bash, ou quoi que ce soit que su execute qui ensuite
execute bash. Ce n'est pas un comportement que j'aie observé
auparavant.

Mais je suis a la version 4.1.4 du package "login", et je
remarque que les changements de la version 4.1.5 introduisent:

* New upstream release: ▒
- su: Fix possible tty hijacking by dropping the controlling terminal when ▒
executing a command (CVE-2005-4890). Closes: #628843 ▒

Et effectivement, apres upgrade, j'ai le meme comportement et je
vois le "setsid(2)" de "su" si je fais "su -c bash" (mais pas
"su" tout court, ou "su -s /bin/bash").

Voir http://bugs.debian.org/cgi-bin/bugreport.cgi?bugb8843
pour les raisons du changement.

Donc, c'est une feature et pas un bug, mais une annoying feature
pour parer un probleme de securité improbable.

Le work-around: "su -s"

--
Stephane

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
luc schimpf
Le 11/03/2012 22:51, Stephane Chazelas a écrit :
Donc, c'est une feature et pas un bug, mais une annoying feature pour
parer un probleme de securité improbable. Le work-around: "su -s"



Merci pour ces infos très intéressantes, mais je viens de réaliser que
j'avais un alias dans mon bashrc:
su => sux
En supprimant l'alias tout rentre dans l'ordre.
Désolé pour le bruit, mais j'aurais appris plein de choses une fois de
plus donc merci à tous.

Luc


--

Luc Schimpf
www.au-ptit-bon-air.eu

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Stephane Chazelas
2012-03-12 00:15:00 +0100, luc schimpf:
Le 11/03/2012 22:51, Stephane Chazelas a écrit :
>Donc, c'est une feature et pas un bug, mais une annoying feature
>pour parer un probleme de securité improbable. Le work-around: "su
>-s"

Merci pour ces infos très intéressantes, mais je viens de réaliser
que j'avais un alias dans mon bashrc:
su => sux
En supprimant l'alias tout rentre dans l'ordre.
Désolé pour le bruit, mais j'aurais appris plein de choses une fois
de plus donc merci à tous.


[...]

Ok, donc c'est lié a ce changement de "su" car sux fait un "su
-c":

$ sh -x /usr/bin/sux
[...]
+ exec su -c eval $TERM; exec env TERM='screen-bce' DISPLAY=':0' $SHELL;

--
Stephane

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/