Hi Lucian,

Nable has already contributed here and there as a reply to this mail. Also Reinhard pointed out that there indeed is an X-Server project for Android which is already in beta state.

I will inline go through your mail in detail below.

On Sa 21 Sep 2013 19:00:52 CEST Lucian Apetre wrote:

I summed up what x2go needs to be ported on Android:

Thanks for investigating yourself already. That gives a good relaxation on my time budget. Deep thanks!

nxproxy - an application that is needed to access remote desktop.
 NX protocol makes it possible to run any graphical application on any OS across any network.
  Consists of 2 part a server side and a client side. 
  For clients we have: Windows, Linux, MacOS, Solaris
 official site: http://www.nomachine.com/download.php

For X2Go we have ,,NX (redistributed)'' [1, 2]. We chose to maintain a redistributed version of the NoMachine stuff, as we have several patches [3] applied on top of NoMachines original sources.

The NX mechanism is this:

  o X2Go session runs in nxagent (we renamed it to x2goagent)
  o nxagent is an X-Server, highly adapted to handling X11 protocol over WAN
    connections (it is not X11 protocol anymore, it is NX protocol)
  o nxproxy runs on the client side
  o nxproxy understands NX protocol and translates it to X11 protocol

So, basically, you should test things first, to see if they are feasible:

  o ssh -X -> launch X11 applications via ssh with x11-forwarding on your
    Android device
  o nxproxy -> nxproxy: nxproxy can provide an X-Server like DISPLAY to
    applications. nxproxy does not understand the X11 protocol itself, but it
    knows how to compress it and how to apply some caching magic to it.
    The nxproxy on the client side forwards the NX protocol traffic then to
    the local (Android'ish) X-Server
  o x2goagent -> nxproxy: The x2goagent differs from other X-Servers. The
    NoMachine people found a way to reduce X11's round-trips [4] to a
    minimum. The nxproxy->nxproxy approach also reduces X11 traffic quite
    a lot, but with x2goagent->nxproxy things become really smooth.

vcxrsv  - an application that is an X display server a set of traditional sample X applications and tools, and a set of fonts
  we also can use xming from what i see in the code.
 i didn;t understand exactly what is the role of this x server on the application, i didn't find any doc on this.
  an x server for android:
  https://play.google.com/store/apps/details?id=au.com.darkside.XServer&hl=en

Yes, you should start playing with that one!!!

pulseaudio - an application used for sending application audio to another device.              PulseAudio is designed for Linux systems. It has also been ported to and tested on Solaris, FreeBSD, NetBSD, MacOS X, Windows 2000 and Windows XP. pulse audio can be replaced with AudioFlinger that is the native android audio system.
 http://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Android/

Cool! Did not know that.

Unclear issues:
1. can we use the x2go without the nxproxy, the protocol to compress data?

Yes and no. I am working on a non-x2goagent approach for X2Go. I am still unclear if that then will be pure X11, nxproxy->nxproxy or TigerVNC based. The idea is to make the X2Go Server (and later on also the client) pluggable concerning its display rendering strategies.

But at the moment, get prepared to porting nxproxy to Android.

If yes, I think that the porting can teoretically be made only using the X server for Android found here:
 https://play.google.com/store/apps/details?id=au.com.darkside.XServer&hl=en

The performance will be really really weak if you attempt using pure X11. That won't be much fun!!! It would also require changes in the X2Go Server code (which would not be a problem, if it became really necessary).

2. the x server application is running on the server machine or the client machine, or both? I notice that, for Win is running on the client side, is there a x server also on the server side?

There are two X-Servers involved:

  1. client-side local X-Server: on Linux this is the local X.org, on Windows
     we found that VcXsrv provides the best results. On Mac OS X we use
     XQuartz.

  2. x2goagent: with every X2Go session and instance of x2goagent is launched
     on the X2Go Server. The x2goagent can run in desktop mode or seamless
     application mode. In the Linux world it is very hard (if not impossible)
     to find a nested X-Server that provides both feature in one.

If there is any documentation to specify the processes used in x2go i will appreciate it.

Unfortuately, there is not. Best I can offer is the terminal session class [5] from Python X2Go. It should contain everything you need.

In addition to what has been written above. For making file transfer (folder sharing) available on Android you need an sftp-server on the Android device.

For further discussions on details may I invite you to join #x2go IRC channel on Freenode? Thanks!

Greets,
Mike

[1] http://code.x2go.org/gitweb?p=nx-libs.git;a=summary
[2] http://code.x2go.org/releases/source/nx-libs/
[3] http://code.x2go.org/gitweb?p=nx-libs.git;a=tree;f=debian/patches
[4] http://lwn.net/Articles/390389/
[5] http://code.x2go.org/gitweb?p=python-x2go.git;a=blob;f=x2go/backends/terminal/_stdout.py


--

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: mike.gabr...@das-netzwerkteam.de, http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb

Attachment: pgplidie6oOZs.pgp
Description: Digitale PGP-Unterschrift

_______________________________________________
X2Go-Dev mailing list
X2Go-Dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/x2go-dev

Reply via email to