web-dev-qa-db-fra.com

Comment exécuter une application gui à partir de la ligne de commande?

J'ai besoin de lancer un programme GUI à partir de la ligne de commande sur une machine sur laquelle j'ai SSH. Je n'ai pas besoin d'interagir avec elle ou de voir la fenêtre, il suffit de la faire fonctionner. Lorsque j'essaie de le lancer, j'obtiens:

ubuntu@ip-35-163-23223429-46:~/photoscan-pro$ ./photoscan.sh 
photoscan: cannot connect to X server

Y a-t-il quelque chose que je fais? Je suis sur Ubuntu 12.04. Merci!

2
nickponline

Dans le script, avant le lancement de l'application, ajoutez cette ligne:

export DISPLAY=:0.0

Cela indique au programme qu'il doit s'exécuter dans l'AFFICHAGE avec ID: 0.0 au lieu du terminal où est appelé, qui (pour autant que je sache) renvoie au TTY7.

En d'autres termes, l'envoie à l'environnement graphique. Vous pouvez également l'utiliser localement, en lançant un programme sur le bureau à partir d'un terminal virtuel. Je l'utilise par exemple lorsque compiz plante et qu'il n'y a pas de menus ou d'icônes pour le redémarrer:

export DISPLAY=:0.0 && compiz --replace
0
animaletdesequia