# SSH : affichage sur 2ème display

**URL:** <https://www.debian-fr.org/t/ssh-affichage-sur-2eme-display/28143>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 11:10 UTC](https://www.debian-fr.org/t/ssh-affichage-sur-2eme-display/28143 "2016-02-20T23:10:30Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alfafa](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/e79b87/32.png) [@Alfafa](https://www.debian-fr.org/u/Alfafa)\
**Post date:** [Février 20, 2016, 11:10 UTC](https://www.debian-fr.org/t/ssh-affichage-sur-2eme-display/28143/1 "2016-02-20T23:10:30Z")

</div>

Bonjour,

Je suis en train de faire un petit script qui se connecte au serveur, exécute des commandes, affiche le résultat sur le display :1 du client.

Le programme est lancé à partir du dispaly :0 du client.  
Voici ce qu’il fait :

`#!/bin/sh
X :1 ##
xhost +<i_serveur> ##
ssh -X <username>@<ip_serveur> "script.sh"
`  
Le [script.sh](http://script.sh) contenant par exemple :

```auto
export DISPLAY=<ip_client>:1
xclock
```

Si je fais les lignes marquées par ## à la main, le script fonctionne.  
Le seul hic, c’est le “xhost”.  
Lorsque je lance un nouveau display, je suis obligé d’ouvrir un terminal sur celui-ci et d’y lancer un "xhost +"  
Il faut recommencer cela à chaque nouvelle ouverture du display :1

N’y aurait-il pas un moyen de mettre cette autorisation en dur quelque part ?  
Merci pour vos suggestions.

Alfafa

---

<div class="post-metadata">

**Author:** ![Mimoza](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mimoza/32/3858_2.png) [@Mimoza](https://www.debian-fr.org/u/Mimoza)\
**Post date:** [Février 20, 2016, 11:10 UTC](https://www.debian-fr.org/t/ssh-affichage-sur-2eme-display/28143/2 "2016-02-20T23:10:34Z")

</div>

J’ai du mal a saisir ton problème.

1. Tu lance un script sur une machine cliente
2. Le script se connecte a un serveur pour lancer un programme graphique
3. tu veut voir apparaitre sur ton client le programme graphique du serveur

Pour cela tu utilise xhost+\<IP\_client\> …

Alors a quoi te sert ssh -X  
Pour ce que je sais juste le «&nbsp;-X&nbsp;» doit suffire a faire apparaitre ton programme graphique sur ton client ![:108](https://www.debian-fr.org/uploads/default/original/1X/08429d01f54fb389a5bb2c12c142516b8d0fc6ba.gif "adr-ag")

---

<div class="post-metadata">

**Author:** ![Alfafa](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/e79b87/32.png) [@Alfafa](https://www.debian-fr.org/u/Alfafa)\
**Post date:** [Février 20, 2016, 11:10 UTC](https://www.debian-fr.org/t/ssh-affichage-sur-2eme-display/28143/3 "2016-02-20T23:10:36Z")

</div>

Tout à fait, cela suffit pour afficher sur le diplay :0  
Je veux faire l’affichage sur le display :1 sachant que mon script est lancé à partir du :0  
Je viens de trouver des infos sur xauth. Je vais tester ça.

```auto
$ xauth list $DISPLAY
toto/unix:0 MIT-MAGIC-COOKIE-1 1f9a10e88f290764fa3d72791fe60643
Puis :
$ xauth add toto/unix:0 MIT-MAGIC-COOKIE-1 1f9a10e88f290764fa3d72791fe60643
```

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 11:10 UTC](https://www.debian-fr.org/t/ssh-affichage-sur-2eme-display/28143/4 "2016-02-20T23:10:36Z")

</div>

`#!/bin/sh
X :1 ##
DISPLAY=:1
ssh -X <username>@<ip_serveur> "script.sh"
`  
Ça marche pas comme ça ?

---

<div class="post-metadata">

**Author:** ![Alfafa](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/e79b87/32.png) [@Alfafa](https://www.debian-fr.org/u/Alfafa)\
**Post date:** [Février 20, 2016, 11:10 UTC](https://www.debian-fr.org/t/ssh-affichage-sur-2eme-display/28143/5 "2016-02-20T23:10:48Z")

</div>

@MisterFreeze :  
Bravo, c’est la solution.

`#!/bin/sh
X :1 &
DISPLAY=:1
sleep 2
ssh -X user@192.168.0.12 "script.sh"`  
Il fallait en plus un petit sleep pour laisser le temps à X de se lancer.

Merci.  
Alfafa
