Forum Linux.debian/ubuntu problème avec la commande cssh

Posté par  .
Étiquettes :
0
21
nov.
2007
Bonjour,

je viens d'installer la commande cssh sur ma distrib Ubuntu 7.10 Geitsy , j'ai donc une interface graphique.

Pas de problèmes à l'install mais quand je lance ma commande, j'ai le message d'erreur suivant:
Can't find DISPLAY -- guessing `unix:0' at /usr/bin/cssh line 1639
Connection to server failed -- (version 11.0)
No protocol specified
at /usr/bin/cssh line 1639

cette ligne correspond à ca:
# only get xdisplay if we got past usage and help stuff
$xdisplay = X11::Protocol->new();


VOila je sais pas trop quoi faire si quelqu'un peut m'aider ca serait cool :)

BOnne journée
  • # DISPLAY ?

    Posté par  . Évalué à 1.

    Bonjour,

    Pour essayer de comprendre ce qu'il se passe, il faudrait que tu nous donnes plus d'informations.
    Que vaut la variable DISPLAY dans la session où tu lances cssh ? (résultat d'un "echo $DISPLAY")
    Comment es-tu connecté sur ta machine Ubuntu? As-tu ouvert une session graphique (par le gestionnaire de connexion ou en exécutant startx) ou bien t'es-tu connecté à distance ?

    Ces éléments devraient nous permettre de comprendre ce qui ne fonctionne pas bien.

    A+
    JJD
    • [^] # Re: DISPLAY ?

      Posté par  . Évalué à 1.

      Merci de ta réponse :)
      Alors je lance ma commande depuis mon evironnement graphique, pas de putty, j'ouvre simplement une vinite de commande depuis mon interface. Cette interface se lance toute seule sans startx.

      POur ta variable, voila ce que me retourne la commande:
      echo $DISPLAY
      :0.0

      Je sais pas si ca te parle

      ++
      • [^] # Re: DISPLAY ?

        Posté par  . Évalué à 1.

        Est-ce que tu as lancé la commande "echo $DISPLAY" avec le même utilisateur que la commande cssh ?

        Les messages d'erreur indiquent :
        -1 : que la variable DISPLAY n'existe pas dans l'environnement où tu lances cssh (cf "Can't find DISPLAY")
        -2 : que l'utilisateur qui exécute cssh n'a pas les droits pour utiliser le DISPLAY :0.0 (serveur X local).

        Est-ce que tu exécutes cssh avec un sudo ou après avoir ouvert une session sous un user différent (su) ?
        Si c'est bien ça, quel est l'intérêt ? Tu peux préciser le user distant pour les connexions SSH avec l'option -l (valable pour tous les serveurs SSH) ou en précisant les différents serveurs sous la forme user@host (tu n'as pas besoin de lancer cssh sous root pour ouvrir une session ssh sur un serveur en tant que root).
        • [^] # Re: DISPLAY ?

          Posté par  . Évalué à 1.

          Ca marche en non root c'est cool je le saurai pour la prochaine fois. merci pour tout en tout as.

          PS: comme que je suis presque tout le temps root, est ce que c'est quand même possible de le lancer avec ce user ?

          Thx
          • [^] # Re: DISPLAY ?

            Posté par  . Évalué à 1.


            PS: comme que je suis presque tout le temps root

            Mal ... TRÈÈÈÈS mal !

            Sinon si tu tiens absolument à rester root et t'exposer à des risques de pétage de système par étourderie, en tant que user tu fais un xhost +localhost pour autoriser tout le monde venant de localhost à se connecter au serveur X puis soit tu fais pas un su - mais un bête su (le - te permettant d'avoir l'environnement du root) soit tu places ta variable à la main à coup de export DISPLAY=0:0.
            • [^] # Re: DISPLAY ?

              Posté par  . Évalué à 1.

              La méthode la plus simple pour lancer des applications graphiques sous le user root est certainement de le faire avec gksu ou gksudo (au lieu de su ou sudo pour les applications non graphiques).

              Ainsi, "gksudo cssh" devrait fonctionner mais, comme dit par Gérald, il faut éviter de faire ce genre de chose quand ce n'est pas nécessaire.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.