Slashdot Mirror


X Server Now Available For Android

New submitter mkwan writes "The open-source X Server for Android has hit beta and is now available for download through the Android Market. On Australian networks at least, smartphones are assigned publicly-accessible IP addresses, so it should be possible to display many Linux applications on an Android smartphone simply by setting the DISPLAY environment variable to the phone's IP address followed by :0" The source is available under the MIT license (or Apache; the project page and story disagree) over at Google Code. It doesn't support all of the X protocol and there's no Xlib implementation (i.e. no X11 apps on the device yet except via the NDK if you're lucky), but it is a reimplementation of the X server in Java for Android. You can run remote applications at least.

23 of 131 comments (clear)

  1. Sounds funky but by mSparks43 · · Score: 4, Informative

    Why?

    1. Re:Sounds funky but by ByOhTek · · Score: 3, Informative

      Same reason as SSH - it's a convenient platform. It'd be nice, if I needed to do something work related (or access something on my home machine) to have an available X session.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    2. Re:Sounds funky but by Tubal-Cain · · Score: 4, Funny

      How dare you defile vim with X11!

    3. Re:Sounds funky but by GameboyRMH · · Score: 5, Funny

      Maybe we can run a Linux desktop environment. And then add some common apps that are used among many POSIX-compliant operating systems. And then get rid of all the stuff that requires Google services, and add a compiler so we can run whatever we want.

      We could call this flavor of Android the Generally Normal User-environment Linux, or GNU/Linux for short.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    4. Re:Sounds funky but by jedidiah · · Score: 3, Informative

      Quite. X is just a remote graphics framework. The app could be created with a tablet in mind. It doesn't have to be a conventional desktop app. You can treat the phone as a peripheral for your TV or or PC without dealing with the nonsense of IR transmitters.

      Run any app you like. Skip the nonsense with walled gardens.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    5. Re:Sounds funky but by ByOhTek · · Score: 2

      Why is the North Korea of text editors, the most patriotic?

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    6. Re:Sounds funky but by gstoddart · · Score: 2

      To run the most patriotic of text editors, vim.

      Bah, real vi doesn't use X ... it just requires a console.

      You guys and your "almost vi" with your namby pamby file menus and clicky buttons.

      --
      Lost at C:>. Found at C.
    7. Re:Sounds funky but by Anthony+Mouse · · Score: 2

      If I understand the summary correctly, it allows apps designed for X to use your phone as the display.

      Which is actually a lot better, if you think about it. It lets you have an app 'running' on your Android device anywhere, but with the performance of your 8-core 4GHz x86 PC at home.

    8. Re:Sounds funky but by harrkev · · Score: 4, Informative

      No, you probably CAN'T play games. Really, I just played around with it. Close to useless.

      For example, nedit won't start. Emacs won't start. You CAN start an xterm, and then have access to all terminal goodness, but there are SSH clients for Android that will do just as well.

      The feat if truly impressive, but not enough of "X" is implemented to make it much more than a toy.

      When you try to run something serious, this is what you get:

      X Error: BadImplementation (server does not implement operation) 17
          Major opcode: 20 (X_GetProperty)
          Resource id: 0x0
      X Error: BadLength (poly request too large or internal Xlib length error) 16
          Major opcode: 72 (X_PutImage)
          Resource id: 0x0

      Cool concept, but it needs more work to be truly usable for anything beyond "xeyes" or "xclock."

      --
      "-1 Troll" is the apparently the same as "-1 I disagree with you."
    9. Re:Sounds funky but by serviscope_minor · · Score: 2

      The BadImplementation error is because there's no ICCCM-compliant window manager running.

      Are you sure? I thought any window at any nesting level could have arbitrary properties (indexed by atoms). It sounds like the XGetProperty call is unimplemented. If that's the case, then running an ICCCM WM is impossible.

      --
      SJW n. One who posts facts.
  2. Crap. The WORST SECURITY thing to tell people. by Anonymous Coward · · Score: 5, Insightful

    Doing what the article says requires you to use "xhost +" as the magic cookie requirements will not have been met.

    Second, even with the magic cookie, all transmissions to/from the X server are unencrypted - which means your magic cookie (the password to the X server) is passed in cleartext for anyone to see.

    Having an X server on android is usefull, but also get ssh. That will securely route the X protocol (with encryption) from a remote (to the android display) system and with proper display.

    1. Re:Crap. The WORST SECURITY thing to tell people. by Unknown+Lamer · · Score: 3, Interesting

      Well, the article implies that he hasn't implemented xhost security yet so it's kind of a moot point right now :)

      Note this is not X.org, but a new implementation of an X11 server in Java. Which is pretty neat if you ask me.

      --

      HAL 7000, fewer features than the HAL 9000, but just as homicidal!
  3. SSH, I hope? by fuzzyfuzzyfungus · · Score: 5, Insightful

    I hope that nobody would actually consider a remote X session without tunnelling over ssh...

    1. Re:SSH, I hope? by iamgnat · · Score: 2

      I miss the insecure days of trolling my co-workers with an app that made their mouse move one pixel in a random direction (was great on one guy who used hot edges to switch desktops and the mouse got stuck in the corner constantly switching desktops). Alternatively my office mate had a pop up window come up that would stay a few pixels away from their cursor. The scary part was the SA that was half through ordering replacement hardware before we came clean...

  4. more like... by ByOhTek · · Score: 2

    Millions of androids were oblivious... ... and continued doing what they were previously doing.

    It's a niche tool, but for those of us who are in that niche, it's nice to see it available.

    --
    Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
  5. Reinveting the Wheel, Backwards by Microlith · · Score: 2, Insightful

    I suppose this should be interesting, but mostly it strikes me as dumb. Mostly as a result of Google having reinvented the wheel by creating an entirely new and no more efficient or effective rendering and windowing subsystem for Android, then having the rest of the open source community chase along behind them. I suppose that's not terribly surprising, seeing as how Android was proprietary out of the gate until Google bought them.

    In other news, I'll hope that my N900 holds out and that another device, probably one from Samsung running Tizen, comes along before it fails.

    1. Re:Reinveting the Wheel, Backwards by GameboyRMH · · Score: 2

      If only Maemo could run on a Droid 4 I wouldn't have to worry so much about my N900...

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    2. Re:Reinveting the Wheel, Backwards by lucian1900 · · Score: 2

      Actually, X11 has been tried before on mobiles and was often found lacking. Android's rendering and windowing is just better than X11.

  6. NX by Guillermito · · Score: 2

    Hopefully this will enable the implementation of the NX technology ( http://en.wikipedia.org/wiki/NX_technology ) on Android, since using the X protocol directly over the public Internet is terribly slow.

    1. Re:NX by bgarcia · · Score: 2

      We have Chrome remote desktop, which allows accessing other machine's desktops using any chrome browser, and we now have Chrome for Android. I have to think that eventually these two things will work together to give remote desktop client abilities to Android phones.

      --
      I'm a leaf on the wind. Watch how I soar.
  7. More Practical Suggestion by spoonboy42 · · Score: 2

    I already use my Android phone to do some light remote work. I use ConnectBot http://code.google.com/p/connectbot/ to SSH into a remote workstation. For graphical apps, I set up port forwarding for VNC (there's a menu option for it in connectbot) and use AndroidVNC http://code.google.com/p/android-vnc-viewer/

    I have my VNC server set to only accept connections from localhost (and it's firewalled, too), so that only connections which are forwarded and encrypted via SSH wind up being accepted. This way I get secure remote access, the VNC protocol tends to be less bandwidth-intensive than raw X, and it preserves my session in case I get disconnected.

    Don't get me wrong, an X server on Android is a cool technical achievement, but existing SSH and VNC clients for Android are a more practical and secure way of accessing your workstations/servers on the go.

    --
    Anonymous Luddite: "What do you think of the dehumanizing effects of the Internet?"
    Andy Grove: "Not Much."
  8. I am so happy. by guantamanera · · Score: 2

    Is like getting lots of free apps at once. I think lots of people don't know that you can just display the one application that you need to run a not the whole screen.

  9. Why? by Rix · · Score: 2

    What can you do with X that you can't do with ssh?