1

[nosmile]yop,

Plus par curiosité qu'autre chose, je voulais essayer de lancer des applications graphiques par SSH, depuis un serveur auquel je n'ai de toutes façons accès que par SSH. Pour l'instant, après avoir installé beaucoup de choses et fait quelques manipulations hasardeuses, je ne suis arrivé absolument à rien.

- J'ai installé (apt-get) xfree86, ou xorg, ou les deux, j'en sais rien mais il me semble avoir vu défiler les deux dans la liste
- J'ai installé quelques trucs manquants (une font "xfont-fixed" qui manquait par exemple)

Si je lance naïvement un startx depuis mon Putty (j'ai coché l'option "X11 forwarding"), je me mange pas mal de lignes incompréhensibles, puis ça fige et rien ne se passe :
xauth:  creating new authority file /home/rca/.serverauth.2703

_XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6
_XSERVTransOpen: transport open failed for inet6/ks355468.kimsufi.com:0
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6

X Window System Version 7.1.1
Release Date: 12 May 2006
X Protocol Version 11, Revision 0, Release 7.1.1
Build Operating System: UNKNOWN
Current Operating System: Linux ks355468.kimsufi.com 2.6.24.2-xxxx-std-ipv4-32 #4 SMP Wed Feb 13 16:50:04 CET 2008 i686
Build Date: 24 January 2008
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Mon Mar 24 18:56:01 2008
(==) Using config file: "/etc/X11/xorg.conf"
(EE) AIGLX: Screen 0 is not DRI capable
    xkb_keycodes             { include "xfree86+aliases(azerty)" };
    xkb_types                { include "complete" };
    xkb_compatibility        { include "complete" };
    xkb_symbols              { include "pc(pc105)+fr(latin9)" };
    xkb_geometry             { include "pc(pc105)" };
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
>                   Ignoring extra symbols
Errors from xkbcomp are not fatal to the X server

J'ai cru comprendre que les erreurs que j'obtiens (AIGLX et XKEYBOARD) ne devraient pas empêcher le tout de fonctionner, mais toujours est-il que je n'ai quand même rien. Je suis aussi tombé sur des histoires de "xhost +" et autres "export DISPLAY="mon_ip:0", mais d'une part ça n'a rien changé, d'une autre ça reste très obscur.

Bref, comme à chaque fois que je tente de faire quelque chose sous Linux, ça n'a réussi qu'à m'énerver donc j'ai tout laissé tomber. Existe-t-il un moyen simple de faire ce que je voudrais faire (sachant que, histoire de troller un peu, "démarrer > exécuter > mstsc.exe" fonctionne en 10 secondes chrono), ou bien faut-il obligatoirement chercher 3 jours sur google avant d'avoir une chance d'y comprendre quelque chose ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2

Edited_891

3

est-ce une volonté que de nécessairement passer par la couche X ? ou est-ce que tu veux accéder à distance à des applications graphiques sur une autre machine ?
Si tu es dans le second cas, sous KDE, lancer krfb (menu K > internet > partage de bureau, sous une Kubuntu) sur la machine "serveur", et utiliser Krdc (menu K > internet > connexion à un bureau distant, sous une Kubuntu), fonctionne plutôt pas mal ; je l'utilise parfois d'un de mes pc vers l'autre.

A noter, cela dit :
- jamais testé via internet (donc, je sais pas ce que ça donne en terme de vitesse autrement qu'en réseau local)
- j'ai jamais trouvé comment paramétrer le tout pour que ça travaille à la résolution du client, et non du serveur (ce qui me lourde, vu que mon portable a une résolution inférieure à mon fixe... )
- ça fait pas mal de temps que ça vit plus dans kde 3.5 ; mais parait-il qu'il y a pas mal de boulot de fait à ce niveau là dans KDE 4
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

4

Je sais qu'à l'IUT on peut utiliser vncviewer pour avoir un environment graphique X par ssh, après je ne sais pas si ça demande d'installer des trucs particuliers côté serveur.
Trout are freshwater fish and have under water weapons.
Trout are very valuable and immensely powerful.
Keep away from the trout.
Why should it mean that the fish in the sea are all unable to sing? Fish fish fish fish fish.
I wish that I could get my hands on a dozen fish!

5

pour ma part, un ssh -CX sur les machines de la fac (qui ont déjà X installé) fonctionne sans soucis, sans avoir fait de manipulations
Tekken Punch !!! beuh Love Hina déjà fini ... :'(
Japan-A-Radio
Vertyos@| les modos sont des enculés
Vertyos@| y'a des queues partout, un vrai bonheur'

6

fabetal_ (./5) :
pour ma part, un ssh -CX sur les machines de la fac (qui ont déjà X installé) fonctionne sans soucis

j'avais essayé, quand j'étais à la fac, justement ; c'était insuportable de lenteur ^^ (mais ça venait peut-être de l'environnement, aussi : on était 50 sur un serveur, plutôt que d'avoir chacun un vrai pc ^^ )
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

7

nan c'est x11 distant qui rame par def grin

pour bien comprendre:
situation 1
-ta machine locale est en linux 'desktop' avec un serveur x, donc.
-ta machine distante exécute le processus

dans ce cas, il suffit de faire "ssh -X user@distant" pour transférer la sortie X distante sur le serveur local.

sinon
situation 2
-ta machine locale est en windows
-ta machine distante est en unix

il ne sert à rien de lancer startx dans putty, car ça va lancer le serveur sur la machine distante qui a pas forcément d'écran, hin hin grin

ce qu'il te faut c'est un serveur X pour windows (triso) le meilleur c'est celui de cygwin, même si c'est pas le plus simple. Dans le setup, il faut afficher la liste complète des packages, sélectionner juste xorg-x11 (il prendra automatiquement les dépendances) et démarrer cygwin bash shell, qui démarrera le serveur x et un xterm. Ensuite tu prends putty, tu actives x11 forwarding dans la partie "tunneling" et tu laisses tout par défaut. Les apps distantes s'afficheront en local.
bon, faut pas s'attendre à des étincelles hein, ça marche sur GDI grin

quand c'est pas fait pour mais qu'on veut quand même, faut s'attendre a devoir hacker grin

8

Alors j'ai pas tout lu toutes les réponses mais c'est très simple en fait:
il te faut un serveur X donc tu peux installer Xming et dans putty tu as juste à cocher X11 forwarding. Xming est compilé avec mingw donc pas besoin de cygwin et tout le tralala.

Pour essayer ensuite, tu as juste à lancer putty et xming (dans n'importe quel ordre) et à lancer un programme X (pas de startx à lancer vu que xming est le serveur X).

Moi je l'utilise très souvent et ça marche bien, par contre c'est un peu lent hehe
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

9

ok donc première info, il faut un serveur X (effectivement ça parait logique, j'y avais pas pensé)

en revanche ça plante bien avant ça, puisque cf post ./1 le startx ne fonctionne même pas (3 erreurs en haut du log, mais aucune info disponible dessus, et puis freeze une fois arrivé en bas, j'ai attendu 20 minutes avant de ctrl+c) :/
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

10

En fait ce que tu as fait dans le premier post c'est demander à la machine distante de démarrer XWindow.
En est-elle capable localement ?

Il faut savoir que toutes les actions seront effectuée par la machine serveur, si il y a un problème de configuration réseau ou d'affichage ça ne donnera pas grand chose.

Si tu arrives à te connecter en SSH il serait intéressant de commencer soft:
ssh -XC utilisateur@serveur

Ensuite tu peux tenter de lancer des programmes graphiques comme abiword ou autre pour verifier si l'affichage fonctionne.

11

ZikZak (./10) :
En fait ce que tu as fait dans le premier post c'est demander à la machine distante de démarrer XWindow.En est-elle capable localement ?

Manifestement non, d'où le but de ce topic, le log que j'ai posté, etc; si ça marchait il ne resterait plus grand chose à faire ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

12

Si j'ai bien compris les posts précédents, tu n'as pas à exécuter de startX sur le serveur distant

Ce n'est que le serveur X local qui bosse.

Or, de ce que j'ai compris, le log que tu poste, c'est quand tu fais un startx sur le serveur distant
avatar
pedrolane stoppe la chute des chevaux

La DNC-Team : un club plein de mystères

13

tu n'as pas à lancer startx par ssh parce que c'est fait pour démarre le serveur X. si ça marchait (je sais si en théorie c'est possible) ça lancerait le serveur X sur la machine distante, or toi il te le faut sur la machine locale.
T'as juste à lancer ton serveur x sous windows, te connecter en ssh en activant le X forwarding et lancer tes applis par ssh.
(cross)
avatar

14

./12 ./13 ouais c'est ça

Pour faire très clair je récapitule:
1. installer Xming et putty qui sont . (Avec le putty normal ça marche aussi).
2. lancer Xming
3. lancer putty
4. dans les options de putty, cocher "X11 forwarding" (laisser "X Display location" vide, il utilisera le serveur X local).
5. se connecter à un serveur ssh avec putty
6. lancer un programme fenêtre, par exemple xclock
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

15

ah oué, ça a l'air de marcher ^^

et malgré ça, il y a une raison logique qui explique les 150 erreurs que je me prends en lançant startx ? (ok j'ai pas d'écran sur ce serveur, mais ça devrait pas être si grave que ça quand même... un windows sans écran ça l'empêche pas de booter :/)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

16

Mais linux boote très bien sur ton serveur. Là, il ne s'agit que d'une interface graphique qui effectivement se crispe et ne veut pas démarrer si elle n'a pas de sortie video. Il est normal que X s'arrête s'il n'a pas de sortie, c'est moins bête que de rester lancé et de bouffer des ressources pour rien faire il me semble
avatar
pedrolane stoppe la chute des chevaux

La DNC-Team : un club plein de mystères

17

Heu oui, mais il pourrait afficher juste une erreur genre "pas de moniteur disponible", et surtout se terminer proprement. Là il reste lancé, il cherche à faire je ne sais quoi, et le seul moyen de l'arrêter c'est un kill barbare. Je trouve pas ça moins "bête", au contraire :/

(et c'est ce qui me fait supposer qu'il y a au moins un autre problème que le simple fait qu'il n'y ait pas d'écran)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

18

a mon avis c'est parce que le linux sur ta kimsufi est une édition desktop qui cherche à démarrer des trucs pour faire du compiz et qu'à mon avis, un dédié, ça n'a aucune cg de branchée (sans parler d'écran) ou alors juste un framebuffer qui ne supporte aucune extension.

l'absence d'écran n'a aucune raison de planter le démarrage d'x11, une connexion VGA est analogique et en sortie seule (la detection de l'ecran est pas obligatoire)

d'autre part il semble se plaindre de l'absence ou incompatibilité du clavier et/ou souris.

edit: oué, DRI c'est direct rendering interface, ie accès direct au hard de la cg. Si tu voulais que ça boote (sans rien voir) il faudrait mettre le driver vidéo à "vesafb" dans xorg.conf (driver framebuffer de base, là il y a quoi? radeon? nv?)

19

AIGLX pê grin

Sinon, le fait qu'il reste vivant, c'est pas super propre, je pensais qu'il avait le bon goût de se terminer
avatar
pedrolane stoppe la chute des chevaux

La DNC-Team : un club plein de mystères

20

bon enfin du moins pour le reste ça fonctionne, mci, v voir si firefox veut bien se lancer ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

21

Zephyr (./15) :
et malgré ça, il y a une raison logique qui explique les 150 erreurs que je me prends en lançant startx ? (ok j'ai pas d'écran sur ce serveur, mais ça devrait pas être si grave que ça quand même... un windows sans écran ça l'empêche pas de booter :/)
[semi-troll]Déjà que X est connu pour t'envoyer chier quand tu as une carte graphique qui-va-bien, un écran qui-va-bien, un clavier qui-va-bien et une souris qui-va-bien MAIS que tu l'as regardé de travers... essayer de le démarrer sur une bécane qui n'est pas configurée pour, c'est du suicide grin[/semi-troll]
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

22

Pour clarifier les choses pour ceux que ça intéresse de comprendre les raisons profondes du problème :

X est basé sur un concept très particulier de « serveur graphique » et de « clients ». Il permet de dissocier la machine qui lance l'application de celle qui affiche les fenêtres. En général, on tourne sur une seule machine, et on ne voit pas cette distinction : on lance X en pensant lancer « l'interface graphique », puis on éxécute les applications et elles s'affichent dessus.

En réalité, à chaque fois que vous pensez lancer une application graphique, vous lancez en réalité un « client », qui lit la variable d'environnement DISPLAY pour trouver le serveur auquel il va se connecter (et sur lequel les graphiques s'afficheront). D'habitude, la variable DISPLAY vaut en général ":0", ce qui signifie en gros de se connecter au serveur local.

Maintenant, imaginons qu'on veuille faire tourner des applications sur une machine distante et les afficher sur sa machine à soi : il faut d'abord lancer un serveur X chez soi, puis indiquer à la machine distante comment se connecter au serveur X souhaité (c'est ce que fait l'option -X de ssh), et enfin lancer les applications qu'on veut sur celle-ci (il suffit de les exécuter avec une bonne valeur dans la variable DISPLAY). En particulier, il n'est pas nécéssaire de lancer X sur la machine distante. Par contre il faut souvent l'avoir installé, car les applications qu'on veut pouvoir lancer peuvent dépendre de certaines librairies du serveur X.
avatar
I'm on a boat motherfucker, don't you ever forget

23

les outils du genre NXFree (qui parait-il va beaucoup plus vite qu'un simple X11 forwarding), ça impose d'installer tout plein de trucs à coté et d'adapter l'environnement pour l'utiliser, ou bien c'est transparent et ça ne nécessite qu'une installation de chaque coté (serveur/client) pour fonctionner ?

(btw ça me semble curieux d'avoir conçu un truc qui a l'air d'être à la base prévu pour fonctionner en réseau, mais dont les performances sont aussi mauvaises quand on l'utilise autrement qu'en local)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

24

Zephyr (./23) :
btw ça me semble curieux d'avoir conçu un truc qui a l'air d'être à la base prévu pour fonctionner en réseau, mais dont les performances sont aussi mauvaises quand on l'utilise autrement qu'en local

faut voir que quand ça a été conçu, la notion de "réseau" était sûrement pas la même qu'aujourd'hui....
Aujourd'hui, on dit réseau, on pense tout de suite à Internet... A l'époque, Internet, bah...
J'imagine que le contexte c'était plus un gros serveur et des terminaux se connectant dessus - alors que maintenant, on est plus sur une logique de serveur moins gros (voire réduits aux fonctionnalités de partage / centralisation de fichiers, et de services type mail/svn/http/...), et de machines individuelles plus performantes
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

25

dualmoo (./22) :
X est basé sur un concept très particulier de « serveur graphique » et de « clients ». Il permet de dissocier la machine qui lance l'application de celle qui affiche les fenêtres. En général, on tourne sur une seule machine, et on ne voit pas cette distinction : on lance X en pensant lancer « l'interface graphique », puis on éxécute les applications et elles s'affichent dessus.

En réalité, à chaque fois que vous pensez lancer une application graphique, vous lancez en réalité un « client », qui lit la variable d'environnement DISPLAY pour trouver le serveur auquel il va se connecter (et sur lequel les graphiques s'afficheront). D'habitude, la variable DISPLAY vaut en général ":0", ce qui signifie en gros de se connecter au serveur local.
Maintenant, imaginons qu'on veuille faire tourner des applications sur une machine distante et les afficher sur sa machine à soi : il faut d'abord lancer un serveur X chez soi, puis indiquer à la machine distante comment se connecter au serveur X souhaité (c'est ce que fait l'option -X de ssh), et enfin lancer les applications qu'on veut sur celle-ci (il suffit de les exécuter avec une bonne valeur dans la variable DISPLAY). En particulier, il n'est pas nécéssaire de lancer X sur la machine distante. Par contre il faut souvent l'avoir installé, car les applications qu'on veut pouvoir lancer peuvent dépendre de certaines librairies du serveur X.

Deux petites infos en plus:
1. Lorsqu'on lance le serveur X, il faut qu'il autorise de pouvoir lire les trames envoyées par le réseau (pas d'option --no-listen-tcp qui est activée par défaut sous linux).
2. xhost permet de liste l'ensemble des adresses IP qui peuvent lancer des applications sur ton serveur X : xhost + fait que tout le monde peut.
3. xauth permet d'utiliser des certificats pour limiter les applications que tu as signé numériquement à se lancer (ssh -X le fait automatiquement -- en fait il fait un serveur x local sur ton client avec signature qui va forwardé au sein de la ligne ssh sur ton autre serveur X). Je sais çà fait 3.
Zephyr (./23) :
(btw ça me semble curieux d'avoir conçu un truc qui a l'air d'être à la base prévu pour fonctionner en réseau, mais dont les performances sont aussi mauvaises quand on l'utilise autrement qu'en local)

En fait, ce qui manque pour les connections internet, c'est un upload conséquent et un ping très faible.
Je l'utilise au boulot pour un client (via une ligne spécialisée) et ca ne rame pas du tout! Pourtant la connection ne fait que 6Mbits (DN/UP)et elle est partagée par 100 personnes.

26

oui, c'est bien sur le ping qui fait la réactivité smile

27

oki, effectivement le coup du ping plus mon upload pourri, ça explique peut-être le fait que ce soit aussi lent.

(faudra que je teste NX Free, en attendant si quelqu'un a la réponse à la 1ere partie du ./23... ^^)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

28

Zephyr (./15) :
et malgré ça, il y a une raison logique qui explique les 150 erreurs que je me prends en lançant startx ? (ok j'ai pas d'écran sur ce serveur, mais ça devrait pas être si grave que ça quand même... un windows sans écran ça l'empêche pas de booter :/)
bon le fait que tu n'aies pas d'écran n'est pas important, l'erreur AIGLX que tu as n'est pas fatale, l'erreur xkbcomp non plus, et manifestement les trois erreurs d'en haut ont à voir avec le fait qu'IPv6 n'est pas disponible sur la machine et ne le sont pas davantage. D'ailleurs normalement s'il y avait une erreur fatale ben ça terminerait et ça te rendrait la main...

et en fait je pense que s'il semble "freezer" et ne plus rien faire, c'est que... ça marche cheeky. En effet à la base startx est prévu pour être lancé depuis la console, quand tu es directement sur la machine. Il démarre le serveur graphique, et bascule l'affichage sur le moniteur principal en mode graphique, mais il ne rend pas la main sur la console (vu qu'a priori tu ne vas pas t'en servir en même temps) grin. (Sinon il faut l'avoir lancé en arrière-plan avec &, ou bien l'endormir avec Ctrl-Z)

Donc là je pense qu'il lance le serveur et puis qu'il attend tout simplement que le serveur termine pour te rendre la main. Mais forcément ça se voit pas parce que ta connexion ssh en tant que telle ne peut pas basculer sur un affichage graphique.
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

29

pour ssh il vaux mieux utiliser -Y plutot que -X et il FAUT que le serveur ssh distant soit configuré comme il faut ie :

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes


et "importer" un display ne demande pas d'utiliser startx, il faut lancer les applications a la main.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

30

Il ne faut pas lancer startx dans ton ssh -X, mais les applications X11 individuelles! startx essaie de lancer un nouvel X11 local (sur le serveur SSH), ça ne marche pas avec le X11 forwardé!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité