Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Venez tester Fedora 30 Beta !

#1 06/11/2018 10:34:44

jeanyves44
Membre
Inscription : 28/08/2005
Messages : 101

Problème de display sous root

Bonjour,

je suis passé hier de Fedora 28 à Fedora 29, sans trop de problèmes, sauf un truc.

J'ai un souci avec le display sous root.

Par exemple, j'ai ceci

[~]# echo 'bonjour' | xsel
xsel: Can't open display: (null)
: Inappropriate ioctl for device

ou avec gvim :

[~]# gvim
E233: ouverture du display impossible
Appuyez sur ENTRÉE ou tapez une commande pour continuer

Je n'avais pas de problème sous Fedora 28, et je n'ai pas de problème sous mon compte "user".

Est-ce un problème de DISPLAY mal configuré ? J'ai essayé sous root :

export DISPLAY=:0

Cela modifie les messages d'erreur sans résoudre le problème

[~]# echo 'bonjour' | xsel
No protocol specified
xsel: Can't open display: (null)
: Resource temporarily unavailable

Merci de votre aide

--

Jean-Yves

Hors ligne

#2 06/11/2018 12:32:15

nouvo09
Accro à Fedo !
Lieu : Paris
Inscription : 22/09/2005
Messages : 21 482

Re : Problème de display sous root

Tu fais ces manips sous environnement graphique ou dans une console ?


C'est pas parce que c'est difficile qu'on n'ose pas,
c'est parce qu'on ose pas que c'est difficile !

Hors ligne

#3 07/11/2018 16:57:41

jeanyves44
Membre
Inscription : 28/08/2005
Messages : 101

Re : Problème de display sous root

Bonjour,

je fais cela dans un terminal (le terminal GNOME) après avoir ouvert une session graphique "GNOME".

Je viens de faire le test en me connectant sur une session Cinnamon et sur une session MATE et je n'ai pas le problème.

Hors ligne

#4 07/11/2018 17:01:23

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 6 792
Site Web

Re : Problème de display sous root

Bonjour

voici un petit test rapide sur ma fedora qui devrait donner des pistes:

[edouard@latitude ~ ]$ xhost +
access control disabled, clients can connect from any host
[edouard@latitude ~ ]$ sudo gedit
[sudo] Mot de passe de edouard : 
########### ICI gedit se lance avec les droits root ###########
[edouard@latitude ~ ]$ xhost -   
access control enabled, only authorized clients can connect
[edouard@latitude ~ ]$ sudo gedit
No protocol specified
Unable to init server: Impossible de se connecter : Connexion refusée

(gedit:4988): Gtk-WARNING **: 15:59:24.543: cannot open display: :0

Après, je ne le répéterais jamais assez, lancer une appli graphique en root est très dangereux et rarement nécessaire.

Le soucis vient sûrement du passage à Wayland. Par défaut le contrôle d'accès est activé.

Hors ligne

#5 07/11/2018 18:57:46

jeanyves44
Membre
Inscription : 28/08/2005
Messages : 101

Re : Problème de display sous root

Bonjour,

Effectivement, ouvrir une appli graphique sous root n'est pas une bonne pratique, mais c'est ma machine perso..... alors je suis un peu laxiste....

Je peux tout à fait résoudre mon problème en améliorant mes pratiques et je pense effectivement qu'il doit y avoir du Wayland autour de mon problème, mais je ne suis pas suffisamment compétent pour savoir où se situe le pb.

Merci à nouvo09 et madko

--

Jean-Yves

Hors ligne

#6 07/11/2018 19:41:30

winmandrake
Membre
Inscription : 08/07/2008
Messages : 1 056

Re : Problème de display sous root

Wayland est beaucoup plus strict sur les droits d'affichage que x11.
C'est peut être pour cette raison que Gnome te pose soucis.

Comme dis madko, lancer une application graphique en root n'est pas le mieux, encore moins une session complète.


Mon pc : AMD R5-2400G sur Asus Prime B450M-A, 16 Go ram, Nvidia 1050Ti (4Go), SSD Samsung 850 EVO (250 Go) + black caviar de 1To.

Hors ligne

#7 08/11/2018 10:18:44

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 6 792
Site Web

Re : Problème de display sous root

Mais avec la commande

xhost +

ça ne passe toujours pas ?

Avec quelle commande passe tu en root ? Le mieux serait sudo cmd, ou sudo -i pour éviter de perdre des variables d'environnement indiquant l'accès au serveur graphique.

Hors ligne

#8 08/11/2018 12:31:47

jeanyves44
Membre
Inscription : 28/08/2005
Messages : 101

Re : Problème de display sous root

non cela ne passe pas avec "xhost +"

mon ouverture de session se passe habituellement ainsi :
  - J'allume mon PC
  - GRUB m'affiche un menu entre les 3 dernières versions de Fedora et un vieux Windows XP (Dual boot)
  - je choisi la dernière version de Fedora (n°29 mainternant)
  - j'arrive sur l'écran de choix de l'utilisateur
  - C'est mon ordi perso -> il n'y a que moi
  - je peux aussi choisir (bouton "roue crantée") mon environnement graphique parmi "Cinnamon, GNOME et MATE)
  - je prends GNOME
  - après ouverture de mon environnement graphique, j'ouvre le terminal "Terminal de GNOME 3.30.2"
  - je passe sous root via ''su -"
  - j'exécute  : echo "bonjour" | xsel et j'ai un message d'erreur

si je fais "xhost +" (sous user) cela donne

[~]$ xhost +
access control disabled, clients can connect from any host

Le problème doit bien avoir un rapport avec Wayland car je n'ai pas le problème avec les environnements Cinnamon, Gnome classique, Gnome sur Xorg et MATE mais seulement avec "GNOME"

En fait (je ne sais pas si c'est le bon test), j'ai ouvert chaque session graphique et regardé les variables XDG_SESSION_TYPE et   WAYLAND_DISPLAY. Seule la session sous "GNOME" affiche wayland.

Par ailleurs, j'ai remarqué que de changer de session utilisateur sans rebooter ne modifiait pas correctement les environnements graphiques. Donc j'ai rebooté mon PC pour chaque environnement avant de tester les 2 variables ci-dessus.

Voila.

D'un côté, comme déjà dit, ouvrir une appli graphique sous root c'est pas une bonne idée, donc mon problème n'est pas un vrai problème

D'un autre côté, j'aime bien comprendre

Hors ligne

#9 08/11/2018 12:44:05

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 6 792
Site Web

Re : Problème de display sous root

Le problème vient de ton "su -" le - te fait vraiment changer d'environnement (fait disparaitre par ex la variable $DISPLAY). D'où mon conseil de passer par sudo -i

Si tu tiens vraiment à su, utilise le sans le -.

$ echo $DISPLAY
:0
(c'est important d'avoir une valeur)
$ xhost +
$ su
# echo $DISPLAY
:0
# gedit (ou autre)
# exit
$ xhost -

Est-ce que ça ça marche ?

Hors ligne

#10 08/11/2018 13:15:51

jeanyves44
Membre
Inscription : 28/08/2005
Messages : 101

Re : Problème de display sous root

Cela fonctionne parfaitement. Merci

Par contre, j'ai toujours (plus de 15 ans) passé sous root avec "su -". Il faut que je revois mes habitudes et les conséquences de cela.

Et il faut que je regarde "xhost"

Merci madko pour ton aide

Hors ligne

#11 08/11/2018 15:21:57

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 6 792
Site Web

Re : Problème de display sous root

En fait, pour avoir toutes les info, "su -" c'est l'équivalent de "su -l root", ou le "-l" pour "login" indique qu'il faut ouvrir un véritable shell de connexion. Au final, "su" seul permet de se transformer temporairement en un autre utilisateur (Switch User) depuis son shell utilisateur de connexion initiale. Alors que le "-l" te déconnecte puis reconnecte sur le shell de l'utilisateur demandé (souvent root). Te faisant perdre toutes les variables liées à la session graphique par ex de l'utilisateur de départ. Avec l'explication du -login on retient plus facilement la différence entre su et su - (je trouve).

Même si les 2 usages sont différents, ils ont pourtant chacun leur utilité. Pour passer en root, le "su -" te permet d'être vraiment dans un environnement isolé, en rapport avec le compte root. Alors que le "su" te permet d'être comme root, mais dans ton environnement utilisateur. Le 2e cas est donc plus proche de ce que tu cherches à faire, et il est aussi plus proche de l'usage de sudo qui est maintenant la meilleure méthode, en tout cas celle conseillée sur Fedora (et d'autres) pour passer une commande en root (ou autres).

Il y a eu pas mal de sujet sur su vs sudo ici sur le forum, et justement sudo a en plus la force de pouvoir être configuré pour indiquer quelle variables d'environnement il peut garder ou non. Ce qui est bien plus difficile avec su.

A noter aussi que comme ce n'est qu'une question de variables d'environnement, tu aurais pu t'en sortir avec "su -" (avec toujours xhost + avant), mais tu aurais du repositionner ces variables à la main. Avant, il y a 15 ans par ex (au hasard), ça se limitait à repositionner $DISPLAY. Mais je suis sûr qu'aujourd'hui, il y a peut être d'autres variables, plus compliqué, comme des jetons pour wayland, et d'autres chemin vers DBUS et compagnie.

Pour finir, avec la tendance depuis des décennies à isoler finement les bouts de code/programme à pouvoir s’exécuter avec des droits élevés, la conséquence est d'avoir de plus en plus de difficulté à lancer des appli complète en tant que root sur un environnement graphique. Il y a peut être même une volonté de bloquer ce cas d'usage. Il faut dire que, c'est historique, Xorg n'a plus besoin de tourner en root que depuis quelques années seulement, et son successeur/concurrent wayland, avec l'avantage de la jeunesse, à directement adhéré à ce principe. Et dans la pratique, c'est vrai que l'affichage d'une fenêtre, d'une appli graphique, bref l'interface utilisateur, elle, n'a pas besoin de privilèges si élevés...

Désolé pour le pavé et bonne continuation

Hors ligne

#12 08/11/2018 16:34:32

jeanyves44
Membre
Inscription : 28/08/2005
Messages : 101

Re : Problème de display sous root

Tu n'as pas à être désolé de prendre de ton temps pour fournir une explication détaillée, dans un français impeccable.

On voit trop souvent sur les forums des questions posées par des utilisateurs qui ne prennent pas le temps de faire l'effort  de rédiger convenablement, et des réponses expéditives par des experts fatigués de répondre pour la nième fois, incompréhension mutuelle amenant à des propos stériles.

Je te remercie très sincèrement Madko pour ton aide.

Bonne continuation

--

Jean-Yves

Hors ligne

#13 08/11/2018 17:13:59

Nednet
Membre
Lieu : aux alentours de Toulouse
Inscription : 07/12/2015
Messages : 453

Re : Problème de display sous root

Pereil, super merci Madko pour ce bout de lecture tellement éclairant smile


Il n'y a aucune honte à ne pas savoir
mais beaucoup à ne pas apprendre

Hors ligne

Pied de page des forums