[Display]impossible en root depuis Terminal (RÉSOLU)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
Avatar de l’utilisateur
L_Indien
Chu Ko Nu
Messages : 401
Inscription : dim. 14 nov. 2010, 09:47
Localisation : En mouvement perpétuel...

[Display]impossible en root depuis Terminal (RÉSOLU)

Message par L_Indien »

Bijour ti le monde,

Depuis que j'ai effectué une MàJ (de fin septembre ou début octobre, ne sais plus trop), il m'est impossible, sous la session client, de lancer en root une application avec une interface graphique depuis le terminal. Je suis obligé de lancer startx...

Pour une manip ou deux, rien de bien grave. Mais quand j'ai besoin de plus ... Je suis obligé d'alterné entre la session client et la session root.

Ex :
Je suis logué en client, et je souhaite utiliser geany pour effectuer des modifications (dans fstab pour l'ex.). Donc la commande est la suivante

Code : Tout sélectionner

# geany /etc/fstab
mais nan, c'est pas possible... c'est pas possible

Code : Tout sélectionner

Geany: cannot open display
Donc, je dois faire

Code : Tout sélectionner

# startx
et puis sous root, lancer geany.


Vous ne savez pas comment on peut exécuter, en root depuis un terminal sous la session client, une application avec l'interface graphique ?

Merci pour les conseils.
Dernière modification par L_Indien le mar. 09 oct. 2012, 12:23, modifié 1 fois.
Différence entre windows et linux
Linux est multi-tâches, windows est multi-taches.
L'Indien de la Douche - Soutient L'April
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [Display]impossible en root depuis Terminal

Message par oktoberfest »

Salut,

c'est un peu confus.
Quand tu es loggué en utilisateur lambda (ce que tu nommes client), c'est un login sur un tty ou un environnement graphique ?
Par ce que pour moi geany est une application graphique, il te faut forcément lancer X avant.
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17612
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Display]impossible en root depuis Terminal

Message par benjarobin »

Il faut utiliser kdesu ou gksu
Ou alors modifier (ajouter des variables d'environnement) le fichier .bashrc de root pour pouvoir avoir accès au X de ton utilisateur
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
L_Indien
Chu Ko Nu
Messages : 401
Inscription : dim. 14 nov. 2010, 09:47
Localisation : En mouvement perpétuel...

Re: [Display]impossible en root depuis Terminal

Message par L_Indien »

Salut,

Merci pour les réponses.

oktoberfest a écrit :Salut,

c'est un peu confus.
Quand tu es loggué en utilisateur lambda (ce que tu nommes client), c'est un login sur un tty ou un environnement graphique ?
Oui, je me logue (logue auto avec slim) dans un environnement graphique qui est openbox.
oktoberfest a écrit :Par ce que pour moi geany est une application graphique, il te faut forcément lancer X avant.
C'est la configuration actuelle.
oktoberfest a écrit :Il faut utiliser kdesu ou gksu
Merci pour les infos... Oui, mais non... Le message d'erreur est très légèrement différent (histoire deux quoi... lol) mais le résultat est le même...

Code : Tout sélectionner

# kdesu 
kdesu: cannot connect to X server 
# gksu
(gksu:1204): Gtk-WARNING **: cannot open display:
oktoberfest a écrit :Ou alors modifier (ajouter des variables d'environnement) le fichier .bashrc de root pour pouvoir avoir accès au X de ton utilisateur
Je vois par là et vous tiens au courant...

Encore merci pour les infos.
Différence entre windows et linux
Linux est multi-tâches, windows est multi-taches.
L'Indien de la Douche - Soutient L'April
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17612
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Display]impossible en root depuis Terminal

Message par benjarobin »

kdesu ou gksu se lance en utilisateur malheureux !!!
Par exemple kdesu geany, c'est une sorte de sudo mais pour application graphique
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
L_Indien
Chu Ko Nu
Messages : 401
Inscription : dim. 14 nov. 2010, 09:47
Localisation : En mouvement perpétuel...

Re: [Display]impossible en root depuis Terminal

Message par L_Indien »

Bijour,

Merci pour les infos benjarobin...
Disons, que maintenant je ne suis plus malheureux ;-), car j'ignorais les commandes mais un peu plus motivé pour l'utilisation directement depuis la ligne de commande sous root.
Je suis allé voir du côté de .bashrc, qui est absent du répertoire root (je pense que c'est pour ça...).
Suite au tuyau du forum [/root/.bashrc] chargement du fichier de config. (résolu), je suis allé voir le fichier /etc/skel/.bashrc, mais il est presque vide :

Code : Tout sélectionner

#
# ~/.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
C'est normal ?

Merci pour les conseils.
Différence entre windows et linux
Linux est multi-tâches, windows est multi-taches.
L'Indien de la Douche - Soutient L'April
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [Display]impossible en root depuis Terminal

Message par tuxce »

Quel est le rapport avec le bashrc ?
Je ne comprends pas pourquoi tu demandes si c'est normal ? normal par rapport à quoi?
Avatar de l’utilisateur
L_Indien
Chu Ko Nu
Messages : 401
Inscription : dim. 14 nov. 2010, 09:47
Localisation : En mouvement perpétuel...

Re: [Display]impossible en root depuis Terminal

Message par L_Indien »

Suite aux conseils de benjarobin, je suis allé voir le .bashrc pour éxecuter, depuis une connexion graphique sous un compte client, des applications avec des interfaces graphiques, mais en root.
Hélas, le fichier est pratiquement vierge. Est-ce normal ?

Merci pour les réponses.
Différence entre windows et linux
Linux est multi-tâches, windows est multi-taches.
L'Indien de la Douche - Soutient L'April
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [Display]impossible en root depuis Terminal

Message par oktoberfest »

Salut,

oui c'est normal. Si tu ne mets rien dans le fichier, il ne se remplit pas tout seul :) Et en plus ne vas pas regarder dans /etc/skel/.bashrc, c'est juste un squelette. Modifies plutôt le fichier .bashrc de ton utilisateur/root.
Pourquoi tu n'utilises pas simplement gksu ou kdesu pour lancer tes applis en root (comme l'indique benjarobin) ? C'est tellement simple et évite de modifier quelque fichier de configuration que ce soit.
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
Avatar de l’utilisateur
L_Indien
Chu Ko Nu
Messages : 401
Inscription : dim. 14 nov. 2010, 09:47
Localisation : En mouvement perpétuel...

Re: [Display]impossible en root depuis Terminal

Message par L_Indien »

oktoberfest a écrit :Salut,

oui c'est normal. Si tu ne mets rien dans le fichier, il ne se remplit pas tout seul :)
C'est sur, mais étant donné, que le soucis n'est arrivé qu'après une MàJ, je n'avais jamais entendu parler du fichier avant. Donc, encore moins comment le remplir.
oktoberfest a écrit :Et en plus ne vas pas regarder dans /etc/skel/.bashrc, c'est juste un squelette. Modifies plutôt le fichier .bashrc de ton utilisateur/root.
Pourquoi tu n'utilises pas simplement gksu ou kdesu pour lancer tes applis en root (comme l'indique benjarobin) ? C'est tellement simple et évite de modifier quelque fichier de configuration que ce soit.
Pourquoi faire simple quand on peut faire compliqué.... Nan, c'est juste que j'ai l'habitude de travailler comme çà... : un terminal pour le root (pour faire les opérations root), et un terminal client (pour faire les opérations client). Je trouve ça plus pratique.

Merci pour les conseils.
Différence entre windows et linux
Linux est multi-tâches, windows est multi-taches.
L'Indien de la Douche - Soutient L'April
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [Display]impossible en root depuis Terminal

Message par tuxce »

Ok, autant pour moi, j'avais pas vu le message de benjarobin et j'avais pas compris que tu ne voulais pas passer par kdesu ou autre ...

Normalement, il faut un fichier avec les permissions pour accéder à X. Ce fichier est pointé par la variable $XAUTHORITY dans la session de ton utilisateur.
Si tu lances un shell root, déclare cette variable :

Code : Tout sélectionner

export XAUTHORITY=le_meme_contenu_que_pour_l_utilisateur
Avatar de l’utilisateur
L_Indien
Chu Ko Nu
Messages : 401
Inscription : dim. 14 nov. 2010, 09:47
Localisation : En mouvement perpétuel...

Re: [Display]impossible en root depuis Terminal

Message par L_Indien »

Merci pour les réponses.
tuxce a écrit :Ok, autant pour moi, j'avais pas vu le message de benjarobin et j'avais pas compris que tu ne voulais pas passer par kdesu ou autre ...
Ché po grov ;-)
tuxce a écrit :Normalement, il faut un fichier avec les permissions pour accéder à X. Ce fichier est pointé par la variable $XAUTHORITY dans la session de ton utilisateur.
Si tu lances un shell root, déclare cette variable :

Code : Tout sélectionner

export XAUTHORITY=le_meme_contenu_que_pour_l_utilisateur
Je suis allé voir le fichier (en passant par mc, car il est illisible par geany, leafpad)

Code : Tout sélectionner

/home/indien/.Xauthority
il ne contient pas grand chose

Code : Tout sélectionner

....indien..0..MIT-MAGIC-COOKIE-1......,.Nr4(.8.!..
et avec LibreOffice

Code : Tout sélectionner

####indien##0##MIT-MAGIC-COOKIE-1##����,�Nr4(�8�!�
Blague à part a écrit :Si tu le dis.... c'est que c'est vrai
et le fichier /root/.Xauthority est vierge (nbre octets : 0) -- OK, ça c'est fait --.

J'ai éxecuter les commandes

Code : Tout sélectionner

export XAUTHORITY=/home/indien/.Xauthority

Code : Tout sélectionner

export XAUTHORITY=/home/indien/
et lu le wiki English Running X apps as root mais sans donner de résultat concluant.
Je profite du post pour te donner le contenu du fichier /etc/profile

Code : Tout sélectionner

# /etc/profile

#Set our umask
umask 022

# Set our default path
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"
export PATH

# Load profiles from /etc/profile.d
if test -d /etc/profile.d/; then
	for profile in /etc/profile.d/*.sh; do
		test -r "$profile" && . "$profile"
	done
	unset profile
fi

# Source global bash config
if test "$PS1" && test "$BASH" && test -r /etc/bash.bashrc; then
	. /etc/bash.bashrc
fi

# Termcap is outdated, old, and crusty, kill it.
unset TERMCAP

# Man is much better than us at figuring this out
unset MANPATH
Ai-je ratté ou mal fait une manip ? Dois-je me déconnecter pour que les changements soient effectifs ?
Dois-je sinon passer "en manuel", c'est à dire, faire toutes les applications que je souhate en root (une petite tiré tout de même) ?

Merci pour les conseils.
Différence entre windows et linux
Linux est multi-tâches, windows est multi-taches.
L'Indien de la Douche - Soutient L'April
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [Display]impossible en root depuis Terminal

Message par tuxce »

Effectivement pour te compliquer la vie ... :|
Je saisis pas pourquoi tu cherches à lire le fichier, mais comme tu y tiens :) :

Code : Tout sélectionner

xauth list
Sinon, pour ton souci, lance un terminal en tant qu'indien, puis:

Code : Tout sélectionner

declare -p XAUTHORITY DISPLAY
# tu copies la sortie
su -
# tu colles la sortie précédemment copiée
J'ai rajouté DISPLAY mais il n'est pas nécessaire si son contenu est :0
Sinon, le contenu de XAUTHORITY n'est pas forcément $HOME/.Xauthority, ça dépend de comment tu démarres ta session.

Je saisis pas pourquoi tu postes /etc/profile, mais j'ai peut être re raté une phrase.
Avatar de l’utilisateur
L_Indien
Chu Ko Nu
Messages : 401
Inscription : dim. 14 nov. 2010, 09:47
Localisation : En mouvement perpétuel...

Re: [Display]impossible en root depuis Terminal

Message par L_Indien »

Merci pour la réponse tuxce. Je postais justement un post en même temps pour dire où j'en étais.
tuxce a écrit :Effectivement pour te compliquer la vie ... :|
Je saisis pas pourquoi tu cherches à lire le fichier, mais comme tu y tiens :) :
xauth list
Merki.

tuxce a écrit :Sinon, pour ton souci, lance un terminal en tant qu'indien, puis:
declare -p XAUTHORITY DISPLAY
# tu copies la sortie
su -
# tu colles la sortie précédemment copiée

J'ai rajouté DISPLAY mais il n'est pas nécessaire si son contenu est :0
Sinon, le contenu de XAUTHORITY n'est pas forcément $HOME/.Xauthority, ça dépend de comment tu démarres ta session.
Je pense que ça équivaut à ce que j'ai fait.

Code : Tout sélectionner

# export DISPLAY=":0.0"
Les posts se sont croisés...
Croisement__de__Post___L_Indien a écrit :
L_Indien a écrit :Ai-je ratté ou mal fait une manip ?
Ratté ou mal fait je ne pense pas. Mais plutôt oublié de faire une manip... :

Code : Tout sélectionner

# export DISPLAY=":0.0"
L_Indien a écrit :Dois-je me déconnecter pour que les changements soient effectifs ?
Non, ça fonctionne tout de suite.

Donc, voici les manips que j'ai effectué :

Code : Tout sélectionner

# export DISPLAY=":0.0"

Code : Tout sélectionner

# export XAUTHORITY=/home/indien/.Xauthority
Et les sources :
Sur le wiki de ArchLinux : Running X apps as root
Sur coagul : Lancer une application depuis un autre utilisateur ou autre ordinateur
Et sur wikipédia (juste pour connaitre les variables d'environnement) : Variable d'environnement
tuxce a écrit :Je saisis pas pourquoi tu postes /etc/profile, mais j'ai peut être re raté une phrase.
Vu que sur le wiki anglais d'archlinux , il parle de /etc/profile, je me suis dis au cas où...

Merci pour les informations et conseils.
Différence entre windows et linux
Linux est multi-tâches, windows est multi-taches.
L'Indien de la Douche - Soutient L'April
Répondre