Forum Linux.général équivalent citrix sur linux

Posté par .
1
23
août
2010
Bonjour,

Je cherche un équivalent à Citrix sur Linux.
Sans être expert citrix, cela sert globalement à ouvrir des sessions windows à distance à partir d'un client, disons, léger (déport clavier/souris, écran et stockage).

Pour linux, je connais:
- ssh, mais c'est pas graphique
- vnc, mais il faut ouvrir une session sur la machine distante
- X en remote (couplé à SSH), mais faut un serveur X sur la machine client.

j'utilise les 3 avec satisfaction mais cela ne correspond pas à un besoin clients légers / plusieurs sessions.

Merci de vos lumières.
  • # x11VNC

    Posté par . Évalué à 1.

    x11vnc peut-etre ?
    • [^] # Re: x11VNC

      Posté par (page perso) . Évalué à 3.

      Oui, x11vnc pour le serveur, et xtightvnc pour le client : J'utilise cette configuration chez moi, et cela marche très bien.

      Si des besoins de chiffrage sont nécessaire, tunnel SSH ou l'option "-s" (je ne l'ai pas testé avec x11vnc)

      Ou alors, il y a le mécanisme utilisé par Ubuntu : Vino , qui se base en fait sur VNC
      • [^] # Re: x11VNC

        Posté par . Évalué à 1.

        En ce qui concerne VNC, je ne sais pas faire autrement que
        - lancer le serveur X
        - lancer le serveur vnc
        - lancer le client vnc
        Toutes ces opérations nécessite des accès que n'auront pas mes utilisateurs.

        Dans la solution que je cherche, le client en se connectant lance une session graphique pour lui et peut lancer des applications comme un client lourd (comme citrix pour windows en fait).
        • [^] # Re: x11VNC

          Posté par (page perso) . Évalué à 5.

          Avec les explications que tu donnes en-dessous, c'est un peu plus clair :

          Cas 1:
          - Le serveur Linux a un serveur X, et un mécanisme de auto-login pour un utilisateur physique (local)
          - Si cet utilisateur lance "x11vnc", alors il peut partager son écran complet avec un tier. A noter que "x11vnc" peut-être lancer automatiquement, au démarrage de la session
          - Le tier n'a accès qu'à cet écran
          - Lorsque le tier se déconnecte, le serveur X reste dans l'état actuel, et les applications (lancées par l'utilisateur local ou à distance), restent lancées

          Cas 2:
          - Pas de serveur X
          - Un serveur VNC (et non pas x11vnc)
          - Un utilisateur se connecte à distance pour ouvrir sa propre session, via la fenêtre de login (kdm, gdm, xdm, autre)
          - il est seul à pouvoir voir son écran
          - lorsqu'il se déconnecte, toutes les applications lancées par lui sont tuées
          - A noter que plusieurs utilisateurs peuvent se connecter en parallèle, chacun ayant sa propre session

          Cas 3:
          - Pas de serveur X (à vérifier)
          - Un serveur NX ou FreeNX
          - Un utilisateur se connecte à distance pour ouvrir sa propre session, via la fenêtre de login (kdm, gdm, xdm, autre)
          - il est seul à pouvoir voir son écran
          - lorsqu'il se déconnecte, il existe un mode qui permet de "sauvegarder" sa session. Les applications graphiques restent donc lancées dans la mémoire du serveur.
          - L'utilisateur peut alors se reconnecter au serveur quand il le désire, et ouvrir soit une nouvelle session, soit poursuivre la session en cours
          - A noter que plusieurs utilisateurs peuvent se connecter en parallèle, chacun ayant sa propre session

          J'ai expliqué ces différentes subtilités dans cette conférence que j'ai donné :
          http://olivieraj.free.fr/fr/linux/information/prise_en_main_(...) (et pages suivantes)
  • # Rdesktop ?

    Posté par . Évalué à 4.

    Et rdesktop, c'est pas bien ? Je ne travaillais qu'avec ça, au boulot…
    • [^] # Re: Rdesktop ?

      Posté par . Évalué à 1.

      Ce qui n'est pas clair dans ma question est que la cible est un linux.
      rdesktop est un client linux qui permet d'accéder en remote à un windows.
      d'autre part, il y a une limitation forte au nombre de client qui peuvent se connecter (2 je crois).
      • [^] # Re: Rdesktop ?

        Posté par . Évalué à 2.

        Dans ce cas :

        - X en remote (couplé à SSH), mais faut un serveur X sur la machine client.

        Non, le serveur X tourne sur ton terminal, à ce moment (c'est l'idée). Par contre, il faut quand même un dæmon XDMCP et des applications graphiques (donc, en général, le programme du serveur X se trouve quand même sur la machine distante).
        • [^] # Re: Rdesktop ?

          Posté par . Évalué à 2.

          OK. Moinssez-moi. J'avais mal lu les mots « machine cliente ».
  • # Free Nx ?

    Posté par (page perso) . Évalué à 2.

    http://www.nomachine.com/features.php

    If you choose open source because you don't have to pay, but depend on it anyway, you're part of the problem.evloper) February 17, 2014

    • [^] # Re: Free Nx ?

      Posté par . Évalué à 2.

      Oui, c'est une solution que j'ai essayé de creuser car j'ai lu des articles comme quoi c'était open source. Mais en allant sur le site de l'éditeur, je n'ai rien trouvé de tel.
      Il y a du 'free like a beer' mais pas de 'free like in freedom'.
  • # redefinir ton besoin ?

    Posté par . Évalué à 2.

    j'ai pas tout compris alors je pose des questions.

    - tu veux te connecter à un poste windows depuis un linux ? alors c'est le protocole RDP qu'il faut utiliser, et donc un client sachant le gerer (TSClien par exemple)

    - tu veux partager un serveur linux pour permettre à des "clients legers" d'avoir une session sur le serveur, alors c'est vers
    -- X11 et plus particulierement XDMCP que tu peux te tourner (les stations graphiques de l'epoque tournaient deja comme ca)
    -- ou bien vers le projet LTSP qui converti des machines lights en terminal graphique (OS sur le serveur, chargé via le reseau au demarrage, puis XDMCP pour le graphique)
    • [^] # Re: redefinir ton besoin ?

      Posté par . Évalué à 1.

      Veuillez m'excuser pour mon manque de clareté principalement dû au fait que j'ai un peu de marge sur le détail du cas d'utilisation.

      La machine cible (=serveur) serait un Linux.
      La machine légère (=client) serait se moins de contraint possible: linux, windows, android, ipad, etc.

      Le problème de X11 est qu'il nécessite un serveur X sur la machine cliente.
      Le problème de LTSP est que j'ai déjà un client léger (ou pas ^^) et que je souhaite lui ajouter le minimum de couche logiciel.
  • # La même chose, mais tu n'aimes pas ?

    Posté par (page perso) . Évalué à 4.

    Tu souhaites la même chose que: citrix, cela sert globalement à ouvrir des sessions windows à distance

    Mais tu te plains que: vnc, mais il faut ouvrir une session sur la machine distante

    J'avoue ne pas comprendre.

    Ou alors tu n'as pas utilisé vnc correctement.
    vnc permet soit de te connecter à la console graphique (donc les clavier/souris/écran réels), soit de te connecter à une session qui s'ouvre pour chaque connexion vnc.
    Et ça sait même faire les deux en même temps. Pas moyen d'exiger plus :-)
    • [^] # Re: La même chose, mais tu n'aimes pas ?

      Posté par . Évalué à 2.

      > soit de te connecter à une session qui s'ouvre pour chaque connexion vnc.

      Oui je ne dois pas utiliser VNC correctement :/
      Pour moi, il faut
      - lancer une session graphique local
      - lancer le serveur vnc
      -
      Et donc limiter l'usage à 1 personne.

      Je trompe donc ?
      Si oui comment procéder pour démultiplier la puissance de vnc ?
      • [^] # Re: La même chose, mais tu n'aimes pas ?

        Posté par . Évalué à 2.

        Oui et non, il me semble que tu doit lancer un processus TTY en écoute par client sur le serveur.
        Par contre, ce que je ne comprend pas, c'est l'utilité de la chose. Que vont faire tes clients sur le serveur? Ne pourraient 'ils pas faire la même chose via une interface web? cela règlerai tout tes problèmes...
        A quoi sert ton serveur?
        • [^] # Re: La même chose, mais tu n'aimes pas ?

          Posté par . Évalué à 2.

          Oui, si je n'avais pas de besoin, je ne chercherais pas de solution :)

          Sérieusement. Comme l'exemple du navigateur est un peu confondant, je vais prendre un autre exemple. Une application cliente, hyper mal foutu qui a besoins de protocoles hyper ésotérique et gourmand pour communiquer avec un serveur. Utilisable que sur le LAN pour diverse raison.
          Pour l'utiliser, la solution la plus simple est d'être sur place, derrière l'écran.
          Pour peu que tu ais 20 utilisateurs potentiels, il te faut 20 postes clients bien installés et configuré.
          Mais je souhaite que ces utilisateurs puissent y accéder en mobilité depuis des machines diverses et variées sans avoir à installer cette appli très particulière - d'où le "léger".

          Pour Windows, il y a des solutions dont la plus fonctionnelle est Citrix, je ne rentre pas dans les détails.

          Pour Linux, il y a les solutions que je mentionnais mais qui ont toutes leurs limitations, et surement d'autres mais que je ne connais pas.

          D'où mon post.

          Est ce que je suis plus clair ?
      • [^] # Re: La même chose, mais tu n'aimes pas ?

        Posté par . Évalué à 2.

        Tu peux ouvrir plusieurs instances VNC sans ouvrir de sessions graphiques.
        Une première sur le port 5901, une seconde sur le port 5902 etc.

        Par contre je ne l'ai pas fait depuis longtemps et je ne sait plus comment on fait ça proprement (avec un fichier de conf dédié à ça).

        De manière sale, tu peux lancer dans ton /etc/rc.local, un truc du genre
        su marcel -cvncserver :1
        su robert -cvncserver :2
        su ingrid -cvncserver :3
        ...
        • [^] # Re: La même chose, mais tu n'aimes pas ?

          Posté par . Évalué à 1.

          Ouvrir des sessions graphiques n'est pas un problème, je dirais même que c'est le besoin.
          L'idée est de déployer le minimum sur la machine d'accès, donc pas de serveur X, et de limiter les manipulations (genre ssh; lancer xvnc; lancer un vnc client).
          • [^] # Re: La même chose, mais tu n'aimes pas ?

            Posté par (page perso) . Évalué à 3.

            Ben, avec vnc tu n'as pas de serveur X sur la machine cliente, tu as juste un export graphique bitmap compressé - c'est le minimum (je ne vois pas comment faire moins - ou alors un terminal texte). Après, limiter les manipulations pour y accéder facilement côté client... ça peut se faire avec un script qui lance les choses nécessaires.
            Et du côté des clients, je crois qu'il y en avait un en Java (ie. juste à aller à une URL), mais sous Windows y'en a (UltraVNC par exemple), sous Linux aussi (tightvnc par exemple), sur iphone aussi il semble [1], j'ai vu passer vnc2go [2] qui tourne en "midlet"[3] Java, sur Android c'est au moins en projet[4], etc (cf Google).

            AMA, creuse un peu plus VNC avec le démarrage de plusieurs sessions distantes. Un petit cgi http du côté serveur VNC, qui te permette de démarrer éventuellement d'autres sessions et te fournisse des liens directs ainsi que le javascript du client vnc, et tout ça passera par le butineur de ta machine cliente.

            [1] http://www.iphonetouch.fr/jeux-iphone/vnc-iphone-controle-a-(...)
            [2] http://www.freeutils.net/vnc2go/
            [3] tiens, un que je ne connaissais pas
            [4] http://code.google.com/p/android-vnc-viewer/

            Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

  • # TSE libre

    Posté par . Évalué à 2.

    Détrompez-moi (disait la prise ...) mais Citrix c'est du TSE bien proprio dans le protocole, alors que VNC c'est juste de la prise en main à distance d'une machine.
    Donc c'est pas vraiment la même utilité ni utilisation.

    En gros, tu cherches du TSE libre (ah ben voila d'où ca vient le titre alors).

    Bon j'ai juste fais mon mariole, j'ai aucune réponse ou piste pour toi :-(.
    • [^] # Re: TSE libre

      Posté par . Évalué à 1.

      Merci d'avoir essayé :)
      En effet, Citrix fait un peu plus que VNC.
      C'est un mix entre un VNC est un forward X.
      C'est comme un VNC mais qui se lancerait à la connexion du client.

      Pour tout dire, ma solution préférée est ssh+forwardX mais ce n'est pas applicable à toutes les machines d'accès ni à tous les utilisateurs.

  • # freenx

    Posté par (page perso) . Évalué à 4.

    Rapide, fiable, multi session, open source, ... que demander de plus ;)

    http://freenx.berlios.de/
    • [^] # Re: freenx

      Posté par . Évalué à 2.

      Yes ! dans le mille, le lien qui me manquait pour une version libre de NX

      MERCI
  • # Session ou appli

    Posté par . Évalué à 1.

    Salut,

    Il me semble que tu as plusieurs façon d'utiliser Citrix :
    - ouverture de session distante
    - exécution d'une appli sur le serveur avec affichage local.

    Dans les deux cas, il te faut une application cliente sur le client (ça peut être en partie masqué si tu passes par l'interface web, mais il y a bien un client qui est téléchargé).

    Avec un serveur Linux, tu as aussi ces deux possibilités :
    - serveur X11 côté client et appli lancée sur le serveur (éventuellement avec un tunnel SSH) : ton serveur X (+ ton client SSH) est ton appli cliente
    - si tu veux une session distante, et bien X sert aussi ) à ça (éventuellement avec XDMCP).

    L'intérêt de Citrix est aussi de masquer la complexité en proposant une interface Web : il suffit de donner une URL pour accéder au service (et en plus, pour passer les firewalls, on encapsule tout dans le protocole universel : HTTP(S)). Par ailleurs, il me semble que c'est un peu plus réactif que du protocole X tout simple.

    Pour améliorer les choses, tu peux faire des essais avec d'autres produits,qui souvent sont des reverse proxy (avec éventuellement du chiffrement et de la compression) pour le protocole X11. Par exemple :
    - NX (version Free, elle existe bien, ou version payante de NoMachine : la version gratuite est limitée à un client).
    - XRDP : ça masque le protocole X11 derrière RDP : il suffit alors du client TSE standard sous Windows pour accéder à sa session (en la créant au besoin).

    Je ne pense pas que VNC soit vraiment adapté à tes besoins (obligation d'avoir un port TCP différent par session, et donc par client).

    Dis-nous si tu trouves ton bonheur.

    A+
    JJD
    • [^] # Re: Session ou appli

      Posté par . Évalué à 1.

      Le logiciel client n'est pas un problème.
      Le souci avec x11 est qu'il faut un serveur X sur la machine d'accès.

      Mon bonheur semble FreeNX (cf plus haut).
      Je vais tester.

      Merci de toutes vos réponses.
      • [^] # Re: Session ou appli

        Posté par . Évalué à 1.

        Je ne comprends pas bien : tu veux bien installer une appli cliente sur tes postes Windows, à condition que ce ne soit pas un serveur X ?
        Pourquoi ne pas considérer ce serveur X comme étant ton appli client ? (regarde du côté de WMing).

        Sinon, avec XRDP tu n'as rien à installer : il m'arrive de l'utiliser pour accéder à ma machine (sous Debian) depuis d'autres postes de l'entreprise (client TSE), mais je ne sais pas ce que cela donnerait avec de nombreuses connexions simultanées.
      • [^] # Re: Session ou appli

        Posté par (page perso) . Évalué à 2.

        >Le souci avec x11 est qu'il faut un serveur X sur la machine d'accès.
        >Mon bonheur semble FreeNX (cf plus haut).

        FreeNX, de la même façon que NX de NoMachine est un "accélérateur" du protocole X11, il nécessite lui aussi un serveur X11 sur la machine client, mais je ne vois pas comment tu voudrais faire autrement.
        C'est comme dire que tu veut faire du Citrix mais pas installer Windows sur le poste client, c'est pas possible.

        Des clients leger implementant le protocole X11 il y en a suffisament sur la marché pour pas se prendre la tête avec le "besoin d'avoir un serveur X11" ...
        • [^] # Re: Session ou appli

          Posté par . Évalué à 2.

          > C'est comme dire que tu veut faire du Citrix mais pas installer Windows sur le poste client, c'est pas possible.

          Heu, si. Tu peux lancer le client citrix comme une simple applet dans un navigateur.
          Je ne serais pas surpris qu'il y ai un client pour iOS.
  • # déporter une appli graphique avec ssh

    Posté par . Évalué à 2.

    C'est possible, il y a une option de X forwarding dans ssh. Par contre je sais pas si ça répond à tes besoins car je connais peu. Je n'utilise que rarement et que pour une appli à la fois.
  • # ulteo

    Posté par (page perso) . Évalué à 2.

    un navigateur "suffit" pour http://ulteo.com (bon ok faut aussi java iirc), on en a parlé sur DLFP :
    http://linuxfr.org/2009/04/25/25357.html
    http://linuxfr.org/2010/06/30/27075.html
  • # XVFB

    Posté par (page perso) . Évalué à 2.

    Xvfb permet d'avoir une grande quantité de serveurs X virtuels. C'est une solution intéressante lorsqu'elle est couplée avec un serveur VNC par exemple.

    Envoyé depuis mon lapin.

  • # neatx

    Posté par . Évalué à 2.

    Bonjour,

    Peut être devriez vous regarder du côté de neatx

    "Neatx is an Open Source NX server, similar to the commercial NX server from NoMachine."

    Liens d'informations:
    http://linuxfr.org/2009/07/17/25739.html
    http://code.google.com/p/neatx/
    http://en.wikipedia.org/wiki/Neatx

    Lien de mise en place
    http://people.binf.ku.dk/~hanne/b2evolution/blogs/index.php/(...)

    Si vous voulez tester, j'ai un serveur où neatx est installé.

    Cordialement

Suivre le flux des commentaires

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