Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
X GUI Handhelds Hardware

Proxy Servers Lighten Up X 254

An anonymous reader writes "LinuxDevices.com is reporting on a compression and differential proxy scheme for X that makes it practical to xhost rich applications like Mozilla or a whole UNIX desktop over a 9.6Kbps connection (think cell phone with GSM modem). The company developing NX has a neat test drive set up -- and it is way zippier than VNC. There'll be a paper about it at the next LinuxKongress in Saarbrucken, Germany, and a call is out to OSS programmers to build on the GPL'ed NX library."
This discussion has been archived. No new comments can be posted.

Proxy Servers Lighten Up X

Comments Filter:
  • by botzi ( 673768 ) on Friday September 26, 2003 @08:48AM (#7063157)
    TestDrive is connected to the Internet by a 512Kbps DSL link.It runs NX Server Enterprise Edition, configured to execute, at the most, 20 concurrent Linux sessions.


    Hmmmmmmmmm......yup, they're definitely prepared to be a /. celebrity.....

  • Exactly (Score:3, Interesting)

    by Timesprout ( 579035 ) on Friday September 26, 2003 @08:48AM (#7063161)
    just how useful will mozilla be to me on my cell phone with its miniscule display, or any other full blown regular GUI based PC app for that matter?
  • LBX? (Score:5, Interesting)

    by kzinti ( 9651 ) on Friday September 26, 2003 @08:49AM (#7063175) Homepage Journal
    (Sorry, but I'm not able to read the PDF right now, and there doesn't appear to be a whole lot of technical info on the web site.)

    So can anyone address how this new product is any different or better than Low Bandwith X? LBX is also a proxy server that caches a lot of information local to the application cut down on traffic across the slow link to the actual X server. I've used it to run programs like XEmacs and XTerm across 56K links and it works very well. It's less useful at graphics-intensive programs like Gimp.
    • Re:LBX? (Score:5, Interesting)

      by Tet ( 2721 ) * <`ku.oc.enydartsa' `ta' `todhsals'> on Friday September 26, 2003 @08:58AM (#7063263) Homepage Journal
      It's very similar. You have a proxy at both ends, each designed to minimise round trips. Apparently NX is just better at it than LBX. I saw it demonstrated at the UKUUG Linux conference earlier this year, and it was very impressive. The talk was actually about CUPS, but the guy was demonstrating using slides from magicpoint or openoffice or similar. At the end of it, he said "Oh, by the way, these slides are running on a desktop in Italy, being remotely displayed here suing NX". Very impressive indeed...
      • Re:LBX? (Score:2, Funny)

        by Steffan ( 126616 )
        > "Oh, by the way, these slides are running on
        > a desktop in Italy, being remotely displayed here
        > suing NX".

        Oh...Was SCO involved?
        • actually, the name NX was used by NeXT for their remote-execution-local-display system. (well NXHost was the name)

          I hope Apple doesn't sue these guys :\
      • Re:LBX? (Score:5, Funny)

        by abe ferlman ( 205607 ) <bgtrio@nOSpaM.yahoo.com> on Friday September 26, 2003 @11:19AM (#7064504) Homepage Journal
        "Oh, by the way, these slides are running on a desktop in Italy, being remotely displayed here suing NX".

        That wouldn't have happened to be an SCO desktop, would it?

    • LBX sucks (Score:2, Informative)

      by linefeed0 ( 550967 )
      Keith Packard posted a postmortem of why LBX doesn't really work all that well [keithp.com]. Only a few small parts of the LBX protocol are actually useful, as it turns out.

      Keith seems to believe that the solution to X performance issues lies in the clients; and in the long run this may very well be true. However, NX takes the old proxy/agent paradigm pioneered by LBX and dxpc and does something useful with it finally.

      • Keith seems to believe that the solution to X performance issues lies in the clients; and in the long run this may very well be true. However, NX takes the old proxy/agent paradigm pioneered by LBX and dxpc and does something useful with it finally.

        Actually, that is not strictly true. It took some effort, but I compiled up NX from scratch (It is available under GPL). One of the things it does is provide an xlib replacement which you sneak under the program you want to run using LD_PRELOAD. That replaceme
    • Dunno about NX, but the last time I tried LBX with Mentor Graphics IC Station (a VLSI layout tool), the X server rendered outside the window...

      outside the framebuffer...

      and stomped on other memory. Kaboom!

      I don't know if the root cause of the problem was a buggy LBX or a buggy IC Station, but clearly more work was needed in that area.
      • I remember LBX being buggy. In fact, the reason I didn't use it more was it had a very bad habit of spontaneously dropping its connection to the X server. Since what I needed was to run XEmacs, I just ran it in TTY mode over a telnet session. It was almost as good, a bit faster, and dependable.

        I'd love to see NX succeed where LBX failed.
    • Basically, LBX is crap at reducing round-trip operations. About the only real value in LBX is the compression, which is something you could also get from an SSH tunnel (and indeed SSH tunnel's can /beat/ LBX). However the real killer to X performance is latency, even if you have plenty of bandwidth, X will react very poorly in the face of high-latencies (internet range latency, 50ms+), as its quite "chatty". LBX does very little to improve latency by eliminating round-trip operations - it has "smarts" for o
    • So can anyone address how this new product is any different or better than Low Bandwith X?

      Despite its complexity, LBX isn't much better than SSH compression [keithp.com].
  • by Viol8 ( 599362 ) on Friday September 26, 2003 @08:50AM (#7063184) Homepage
    I thought the only one was /usr/bin/fortune or have I missed something??
  • And how to kick it off right from a gdm login?
  • by idiotnot ( 302133 ) <sean@757.org> on Friday September 26, 2003 @09:00AM (#7063283) Homepage Journal
    Network transparancy is one of the shortcomings of X11 -- I mean, who would ever use this? They ought to figure out some directfb stuff for the cell phone or something. /typical x-hater statement

    This is cool -- and one of the reasons why X is cool. While it's aimed at mobile devices, it'll breathe new life into old hardware, too. Like my SS10, for instance -- it's too slow to run much anything other than NetBSD and an X server. But it runs remote apps fine. It could even make my old Mac Quadra useful as a basic X console.
  • by Hulver ( 5850 ) on Friday September 26, 2003 @09:00AM (#7063284) Homepage
    I wanted to run an X app on my home machine, and display it remotely.

    Just what X was made for I thought.

    First I tried straight X (over ssh -X -C of course). This is on a 256k upstream DSL link.

    The performance was pants. Really bad. At first I thought I must be doing something wrong. To be honest, Gimp wasn't too bad, but a Gnome 2 application like Xchat2 was really slow. Menus would take an age to display.

    I tried looking around for a low bandwidth solution, but couldn't find any free ones.

    I've ended up using VNC over SSH. It's much better than straight X. Plus it's got the added advantage that I can just leave the application running, and connect to it from anywhere.

    With X, there is no easy way (xmove was impractical) to leave an application running, and move it between desktops.

    • I regularly run pan remotely over X, and it works very good. And that's over a 128kbps link. Sometimes I run mozilla remotely, and it certainly runs fast enough.

      It's true though that X doesn't allow to store at the server instead of the client.
    • You overlooked lbx? (Score:5, Informative)

      by arth1 ( 260657 ) on Friday September 26, 2003 @10:01AM (#7063805) Homepage Journal
      I tried looking around for a low bandwidth solution, but couldn't find any free ones.

      I've ended up using VNC over SSH. It's much better than straight X.

      There is a free solution included with almost every X server -- lbx. If you want, you can even use lbx and tunnel it through ssh, although that doesn't improve things TOO much, as you add latency.

      To enable lbx, log in to the remote machine, make sure $DISPLAY is set correctly and execute something like this:
      #!/bin/sh

      PMGR=`fuser /tmp/proxymngr.lock 2>/dev/null`
      if [ "x$PMGR" = "x" ]; then
      /usr/X/bin/proxymngr >/tmp/proxymngr.lock 2>/dev/null &
      sleep 1
      fi
      HOSTNAME=`hostname`
      PROXY_MANAGER=local/$H OSTNAME:/tmp/.ICE-unix/6500,tcp/$HOSTNAME:6500
      ex port PROXY_MANAGER
      DISPLAY=`/usr/X/bin/xfindproxy -name lbx -server $DISPLAY`
      export DISPLAY
      Adjust /usr/X/bin to fit your system.

      Make sure that your X server (on your client) has lbx extensions enabled. If you use Hummingbird Exceed, for example, it's not enabled by default.

      Regards,
      --
      *Art
      • #!/bin/sh

        PMGR=`fuser /tmp/proxymngr.lock 2>/dev/null`
        if [ "x$PMGR" = "x" ]; then
        /usr/X/bin/proxymngr >/tmp/proxymngr.lock 2>/dev/null &
        sleep 1
        fi
        HOSTNAME=`hostname`
        PROXY_MANAGER=local/$H OSTNAME:/tmp/.ICE-unix/6500,tcp/$HOSTNAME:6500
        ex port PROXY_MANAGER
        DISPLAY=`/usr/X/bin/xfindproxy -name lbx -server $DISPLAY`
        export DISPLAY

        Well, that was easy, wasn't it?

    • The performance was pants. Really bad.

      Wow, that's a Britishism (I assume?) I'm going to adopt! Is it used only in a technical context or can you say "Ughh. This pizza is pants."?

      Or, for that trans-Atlantic flava -- "This pizza is mad pants!"

      • As another poster pointed out, "pants" is a generic term for bad in the UK however it is important to remember that "pants" in the UK specifically refers to underwear. Many a new arrival makes the faux pas of talking about trousers with the phrase pants. Many a giggle results. Hence referring to things as "pants" when they are bad.
    • With X, there is no easy way (xmove was impractical) to leave an application running, and move it between desktops.

      In what way was Xmove impractical? I run it on the remote server and have xmovectl clients to jump me around when I need to drag X applications around with me as I move IP address. It works fine.

      On the other hand, if anyone can point me at a way to secure Xmove so that I am the only user who can muck with my apps, that would be good... I'm not convinced that Xmove was built with security i

      • I have to use a Windows box at work, and I couldn't find a way of getting xmove to work well with it.

        Although the cygwin X server is excellent.

        Not that I spent a lot of time on it, as I already knew how to set up VNC, it seemed like an idea solution.

  • Text of PDF (Score:5, Informative)

    by Anonymous Coward on Friday September 26, 2003 @09:02AM (#7063304)
    UK UNIX User Group
    Linux Conference 2003
    The NX Project
    What is NX?
    - NX is a remote desktop system based on X-Window
    - Adds features to X-Window usually found in proprietary systems like MS RDP and Citrix ICA
    - Makes possible to run contemporary Unix applications over the Internet
    - Compresses the X protocol by an average factor of 50:1 and more
    - Allows users to work comfortably on 28.8Kbps or even 9.6 Kbps modem connections
    - Reduces X protocol round-trips nearly to zero
    - Implements image streaming algorythms to reduce the perceived latency
    - Is able to translate RDP and RFB foreign remote desktop protocols to X
    - Runs these foreign remote desktop sessions faster than their native protocols
    - It integrates with SMB to provide access to the client's file systems
    - It integrates with ARTSD and ESD to allow media playback
    - Adds server management tools to handle X, RDP and RFB sessions run by users
    - Architecture is designed to distribute the server workload between multiple nodes
    - It leverages SSH remote execution capabilities to avoid the need to run a new network server
    - It is able to encrypt and protect the network traffic by tunneling the connections through SSH
    - Server is intended to run on any Unix OS
    - Client runs on Linux, Windows, Solaris, Mac OS/X, Sony Playstation/2, MS Xbox and embedded devices like HP/Compaq iPAQ and Sharp Zaurus
    - NX core components and X compression libraries are released under the GPL license
    - NX client GUI (nxclient) and the NX server manager (nxserver) are commercial software
    - The NX client-server protocol is open
    - A library handling the client-server protocol and a compatible command-line NX client have been released under the GPL license
    - NoMachine has publicly offered its help to let OSS developers build a free implementation of both the nxclient GUI and the nxserver NX System Architecture X NX "protocol" (internet, modem) Local X display Local NX proxy system Remote NX proxy system Remote X application Windows Terminal Server, XP Prof. (Tight) VNCServer nxagent (based on Xnest) nxdesktop (based on rdesktop) nxviewer (based on vncviewer) RDP X RFB
    What features are missing?
    - X session persistence and reconnection - Better support of RENDER extension - Better support of X applications in seamless mode
    - Better support of SMB file-sharing and printing
    - Seamless access to client's peripherals and devices
    - A new multimedia architecture with native streaming of media formats
    - Better integration with Unix and Windows desktop environments to allow point-and-click remote execution of applications
    - Better server management tools, including a Web administration interface
    - An open API to let customers and developers to write server extensions What NX would like to become?
    - A convenient way to let users of mobile phones and other thin devices to get access to complex, rich applications
    - A server infrastructure by which people can easily run applications regardless they reside on the local machine or a remote server
    - A peer-to-peer computing environment where users can easily access computing resources, like storage and printers, on any server available on the Internet
    - A step in the direction of the "network desktop" envisioned by many
  • by Moderation abuser ( 184013 ) on Friday September 26, 2003 @09:07AM (#7063345)
    Always the problem with these things. ssh display forwarding and lbxproxy can both reduce the bandwidth used by X11 but both increase the latency, sometimes to unacceptable levels.

    On the corporate LAN we have 100Mbit switched and haven't noticed bandwidth being a problem. We have however noticed that both lbxproxy and ssh require more CPU in order to perform compression and buffering which *can* be a problem on a shared server if the number of concurrent sessions it can support drops by 20%.

    I guess if you want X to your phone then it could be an issue, but that's a fairly niche market.

  • Data over GSM? (Score:4, Insightful)

    by srslif16 ( 588208 ) on Friday September 26, 2003 @09:18AM (#7063420)
    Basically, data over GSM is a bad idea. The max speed is 9600 kbit/s. There are other alternatives, such as HSCSD (High Speed Circuit Switched Data) which will provide 56.6kbit/s, and GPRS (General packet Radio Service) which will give up to 384kbit/s (if using EDGE). Then, we have the 3G standards, CDMA2000 and WCDMA, with up to 2Mbit/s (close to the base station, and only if you're almost alone in the cell...) While the 3G isn't much available, GPRS is. Why you'd like to use the GSM for data is beyond me.
    • GPRS and HSCSD are just extensions to GSM. My GPRS and HSCSD phone is a GSM phone. As for HSCSD getting 56.6Kbps - that's not quite right - it gets upto 28.8kbps - the most it can manage is the equivalent of 2 simultaneous calls witho9ut the voice error correction. GPRS is about 64kbps but more often 20kbs, EDGE is hardly rolled out yet but practically it should acheive around 64kbps although the theoretical max is 384kbps.

      The speeds with HSCSD and GPRS are from my own personal use and in the UK only orang
    • Why you'd like to use the GSM for data is beyond me
      Because it might be all you have, especially in less developed countries? Hell, I'm considering running a laptop over my GSM phone at times, so the need is there.

      In any case, the technology is useful for other uses where bandwidth is tight (think remote offices in the Highlands of Scotland).

  • by B1ood ( 89212 )
    Better server management tools, including a Web administration interface

    Did I read this correctly? A project aiming to allow rich interfaces remotely is going to use a crippling web interface for administration? *boggle* I hope by "including" they mean "it'll be there, but you don't have to use it and we'll have something a tad more functional".

    • Hey, just because it's superfluous doesn't mean it's not a selling point. Remember, pointy-haired management [dilbert.com] sometimes get on fads ("We'll only buy products that support XML!" "But sir, that's a toaster.")
    • Um. What would be the problem with a web based interface? Obviously you haven't seen very many web based applications.

      I help write a commercial one for a living, and our web based interface is very desktop application like, and it works in both Mozilla and IE.

      We have cascading menus just like windows, you can have multiple files open at a time and easily switch between them and when jumping between the various 'modules' of the application or going back to an open record it takes you back to exactly where
    • Actually I hope its the main interface. Want to administer NX server that is down/not working over NX? Kind of like fixing graphics driver under Windows.
  • dxpc (Score:4, Interesting)

    by MrChips ( 29877 ) <cvs&cs,utoronto,ca> on Friday September 26, 2003 @09:19AM (#7063437)
    Another product that's been around for a while and works pretty good is Differential X Protocol Compressor [vigor.nu]. How does this new product differ?
    • Re:dxpc (Score:2, Interesting)

      by Anonymous Coward

      >>How does this new product differ?

      DXPC was a pre-decessor to NX. NX developers used to work on DXPC. They have now create something that is 100x better and more usable than DXPC -- and they are not finished yet with development.

      Exciting features are on the way: one ins session detaching and re-attaching from a different local host....
  • Excellent news (Score:2, Interesting)

    by mrroach ( 164090 )
    This is great to hear. Up till now, even though X has had remote display abilities built-in, it has not been at all practical to replace something like ICA or even RDP. The next step though is to get thin client manufacturers (maybe neoware's [neoware.com] linux-based models?) to support this protocol natively. The article doesn't mention how large the libraries required for NX are, but hopefully it is something that could be added to existing thin clients.

    Along with that step, it would be great to see "shadowing" suppo
  • by Inode Jones ( 1598 ) on Friday September 26, 2003 @09:39AM (#7063592) Homepage
    Citrix MetaFrame/ICA.

    Citrix is traditionally known for connecting X to Windows desktops, but they make a product that compresses X11-to-X11 as well.

    The good news? It kicks butt. You can feel a lag, but it works far better than anything else I've tried in the speed department. In particular, Acrobat reader renders VERY quickly, and that program is a pig with bitmaps.

    The bad news? It kicks butt by compressing the event stream... in a lossy manner. I have seen all sorts of minor glitches, such as menus opening up underneath their parent windows. But some programs are unusable - the Sun Java machine is an example - certain dialogs require a triple-click to select something because somehow Citrix consumes the other clicks.

    The bottom line? If you want a solution for the office environment, then this is worth looking into. (Not free, however.) When evaluating, check ALL of your apps to see how bad their lossy event handling will bite you.
  • by jdreed1024 ( 443938 ) on Friday September 26, 2003 @09:41AM (#7063619)
    The company developing NX has a neat test drive set up

    Not anymore, they don't.

  • by 3Suns ( 250606 ) on Friday September 26, 2003 @09:59AM (#7063789) Homepage
    I know nobody likes to talk about p... pr... proprietary applications on Linux, but in reality, commercial applications will an important part of Linux's future if it ever takes hold on the desktop. Could this functionality, delivered to any X application be perceived as a reason NOT to develop commercial applications for linux?

    Citrix ICA has a very stringent license-management system, allowing licensed applications to be served remotely only to licensed clients, and only to a limited number at a time. This is important for software publishers... they don't want groups of people to buy 1 license and serve it for all their friends.

    Why hasn't Windows implemented functionality like remote X applications? It's not like it would be hard for them, although you know they'd never get it secure. Imagine if ANY windows program could be served to other people indiscriminately. That would kill their licensing scheme. A perfect example of why proprietary software development works against the needs of the consumer. Windows users haven't demanded Windows network transparency because they either don't know it's possible, or think Terminal Services is "OK". (haha, good one). There's a reason why Terminal Services will only work for 1 desktop at a time.

    I have a feeling that the network-transparency of X is already a barrier to many commercial applications. Now this proxy server thing is going to make it work better and faster, even with higher latencies/lower bandwidths? Not that it's a real problem, but if you were wanting commercial apps like Adobe, Macromedia, sound editing, video editing, 3d redering, etc. to come to Linux, maybe it'd be worthwhile to think about license protection mechanisms for X applications...
    • "A perfect example of why proprietary software development works against the needs of the consumer."

      Well, lots and lots and lots of people claim that consumers will never use network transparency (and that therebefore it should die and replaced by DirectFB etc.)
    • but in reality, commercial applications will an important part of Linux's future if it ever takes hold on the desktop.

      (Assuming you mean non-free/closed.)
      In what bizarre "reality" is this a fact? Some people think so, sure, but some of us have good reason to believe it'll all be free-as-in-source software (some commercial, some not) from now on.

      Even if you think traditional copyright-based non-free software implementations are fine and dandy, where do you get off wanting to restrict what the user can do

  • X11 has had dxpc, the "Differential X Protocol Compressor" for many years. Yes, it works. Of course, LBX is now built into the server, although dxpc seems better. JCraft has a Java implementation [jcraft.com] of dxpc.
  • At home on my cable connection, I've tried to use X to run apps on my Linux machine at work (Windows, because I have to use the Intel Shiva VPN client or whatever the heck it's called now - it doesn't use IPSEC)

    I tried it both ways - regular and with LBX, and no matter how I do it, it's *slow*. Really slow. It's probably not the bandwidth, but I suspect it's the latency that kills. Naturally VNC works fine. And of course, doing the above on the local net at work is just fine too.

    I was wondering if I was
    • Provision bandwidth for work and home from the same ISP. Don't let your X packets hit the internet. 1.5 mbits @ 5ms is plenty fast for darn near _any_ X app, even without LBX. And xemacs19 positively *flies* -- it's hard to tell I'm not at my desk. :)

  • I have broadband cable at home, but using mozilla through a remote X connection stinks. It usually hangs if I accidently ever drag and drop a email message. For some reason, the little D&D icon causes a great deal of problems in my setup. Plus, windows take forever to draw. Other stuff seems a ton snappier.

    Anyone else have this problem? It happens for a couple of my linux home boxes.

    Ed
  • Er, what's with SMB and ssh support in this
    product? Does it proxy those protocols too?
    I don't see any point in proxying ssh.
  • Wouldn't it be easier to just use the Brightness control on the monitor?
  • Werent these people talking about this a year or so ago?

    Not much came out of it then, from what i remember...

    But its a nice goal to have.. RDP protocol is hurting us RFB/X11 people in the dialup department...
  • This is the same exact principle that it ran on.. and it ( sadly ) didn't take off..

    Is it even being developed anymore?

    ( its at least free and open.. NX wont be.. )
  • Well, there are bands of HAM radio that allow 9600bps connections. If I could get an X display over a handheld transceiver running to a laptop I would be very, very happy.
  • It seems as though NX is adding the concept of state, beyond bitmap caching, to X11. By reducing round trips between the client and server, it eliminates unnecessary data transfer because something on the client side of the network is already aware of the state of the server and doesn't need to inquire about it.

    Is my understanding accurate?

    Do more recently designed network graphics protocols use sychronized state between the client and server? With gobs of memory easy to come by these days, it seems lik
  • Using a method of buffering output at both ends and transferring only changes across sounds a lot like the Rsync algorithm [anu.edu.au]. It seems like using a buffer at both ends and rsyncing everything over ssh would be a natural way to approach this, are there any open source projects that have tried it?
  • a new use for my 9600 baud modem!

C makes it easy for you to shoot yourself in the foot. C++ makes that harder, but when you do, it blows away your whole leg. -- Bjarne Stroustrup

Working...