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."
Wanna bet if it will get /.-ed? (Score:4, Funny)
Hmmmmmmmmm......yup, they're definitely prepared to be a
Exactly (Score:3, Interesting)
Re:Exactly (Score:5, Insightful)
LBX? (Score:5, Interesting)
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)
Re:LBX? (Score:2, Funny)
> a desktop in Italy, being remotely displayed here
> suing NX".
Oh...Was SCO involved?
Re:LBX? (Score:2)
I hope Apple doesn't sue these guys
Re:LBX? (Score:5, Funny)
That wouldn't have happened to be an SCO desktop, would it?
Intelligent Sewage? (Score:2)
> I thought that truly intelligent AI was years off.
Corporations can sue. Darl McBride can sue. Your proposition that entities must be "truly intelligent" (or, in fact, intelligent at all) is wildly off-base. Therefore, your conclusion (that truly intelligent AI is no longer years off) is invalid.
LBX sucks (Score:2, Informative)
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.
Re:LBX sucks (Score:2)
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
Re:LBX? (Score:2)
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.
Re:LBX? (Score:2)
I'd love to see NX succeed where LBX failed.
Re:LBX? (Score:2)
Re:LBX? (Score:2)
Despite its complexity, LBX isn't much better than SSH compression [keithp.com].
Whats a "rich" application? (Score:4, Funny)
OK, so built into lbxproxy? (Score:2)
A step in the wrong direction (Score:3, Interesting)
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.
Boy you are so wrong. (Score:5, Informative)
Who would use it? Every corporate I.T. dept on the planet which has Unix or Linux installed somewhere.
We have 400 hardware and software engineers who's only access to Unix is a Gnome login. Everything they do is remote to arrays of rackmounted Unix boxes. It saves a fortune every year.
Re:Boy you are so wrong. (Score:2, Funny)
Sorry... stupid MSFT commercials....
Tom
No, it saved a quarter of a million dollars (Score:2)
We don't do transactions... HTH...
I've just been looking at remote X apps (Score:5, Interesting)
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.
Re:I've just been looking at remote X apps (Score:2)
It's true though that X doesn't allow to store at the server instead of the client.
You overlooked lbx? (Score:5, Informative)
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: Adjust
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
Re:You overlooked lbx? (Score:2)
Well, that was easy, wasn't it?
Re:You overlooked lbx? (Score:2)
Re:I've just been looking at remote X apps (Score:2)
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!"
Re:I've just been looking at remote X apps (Score:2)
Xmove impractical? (Score:2)
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
Re:Xmove impractical? (Score:2)
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)
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
Re:Is there a way to automate this? (Score:2)
I would use ghostscript to convert it into an image format, then run an OCR program on it. That ought to work.
Another way is to use Acrobat 4.
Latency and CPU load? (Score:4, Interesting)
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.
Re:Latency and CPU load? (Score:2)
It can't possibly be... We all know we have more CPU power that we can possibly use... and it *must* be true, as I've been hearing it for the last 20 years.
Yeah, but divide your CPU by 100 concurrent users (Score:2)
Re:Yeah, but divide your CPU by 100 concurrent use (Score:2)
Data over GSM? (Score:4, Insightful)
Re:Data over GSM? (Score:3, Informative)
The speeds with HSCSD and GPRS are from my own personal use and in the UK only orang
Re:Data over GSM? (Score:2)
In any case, the technology is useful for other uses where bandwidth is tight (think remote offices in the Highlands of Scotland).
Re:Data over GSM? (Score:2)
Re:Data over GSM? (Score:2)
He said 9600 kbit/s, not 9600 kbytes/s
web administration? (Score:2, Insightful)
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".
Re:web administration? (Score:2)
Re:web administration? (Score:2)
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
Re:web administration? (Score:2)
dxpc (Score:4, Interesting)
Re:dxpc (Score:2, Interesting)
>>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)
Along with that step, it would be great to see "shadowing" suppo
Another low bandwidth X solution (Score:5, Informative)
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.
Re:Another low bandwidth X solution (Score:2)
What do they offer over VNC?
I mean, for all that money, I'm sure there's something.
Test drive... (Score:3, Funny)
Not anymore, they don't.
Barrier for commercial apps? (Score:3, Interesting)
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...
Re:Barrier for commercial apps? (Score:2)
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.)
Re:Barrier for commercial apps? (Score:3, Interesting)
(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
Re:terminal services *IS* okay (Score:2)
you mean, like dxpc (Score:2)
What have I been doing wrong? (Score:2)
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
Do what I did (Score:2)
Mozilla Drag and Drop (Score:2)
Anyone else have this problem? It happens for a couple of my linux home boxes.
Ed
What's with SMB and ssh (Score:2)
product? Does it proxy those protocols too?
I don't see any point in proxying ssh.
Proxies to lighten X? (Score:2)
Sounds Familiar (Score:2)
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...
What ever happened to LBX? (Score:2)
Is it even being developed anymore?
( its at least free and open.. NX wont be.. )
Another use for 9600bps (Score:2)
Indirectly adding state to Xlib? (Score:2)
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
Anyone Doing It? (Score:2)
finally! (Score:2)
Re:Neat (Score:2, Informative)
when the
Re:Neat (Score:3, Informative)
Forget mobile screens (Score:5, Insightful)
This new NX proxy is claiming 9.6Kbps X applications. Even if it doesn't come close to delivering that and is closer to 28Kbps or even 40Kbps it is still a massive improvement over X and ssh or even VNC and it now falls in line with the Citrix ICA protocol. It also apparently adds some of the Citrix features that X was missing but, the reduction in bandwidth alone is a tremendous improvement. You don't have to use it on a mobile phone and chances are I never will.
Re:Forget mobile screens (Score:5, Interesting)
VNC isn't like that. The x client just continues on its merry way, rendering rapidly to the vnc server. The vnc viewer, meanwhile, sees only what it has enough bandwidth to download. You could play a movie over VNC if you wanted, but you'd only see a tiny fraction of the frames :) For this reason I find VNC greatly improved on slow/high-latency links compared to X.
I see this new thing uses a proxy, and that extra layer raises the possibility for sloppy synchronization. I wonder if that is part of the trick, of if it's just lots of caching?
Re:Forget mobile screens (Score:3, Interesting)
Needless to say, this means that MS Terminal Server wins in the performance department as long as you are using standard Win32 apps. However, it is a
Red Herring? (Score:2)
I thought Communism was a red herring! Get a Clue, man!
Re:Neat (Score:2)
Re:Hot Damn. (Score:3, Insightful)
Re:Hot Damn. (Score:3, Informative)
Doesn't matter how you connect to the machine that'll run the program, it'll tunnel all your X stuff over the existing ssh connection, so you don't have to worry about anything. I was stuck on Windows machines sometimes with an X server, and putty handled X tunneling perfectly. Just a checkbox to click and then it worries about the rest.
Stop messing with "export DISPLAY=xxx.yyy.zzz.aaa:0" already...
Maan
Re:Hot Damn. (Score:3, Funny)
you've got that right...but how does one ssh to their phone?
Re:Hot Damn. (Score:2)
Re:Hot Damn. (Score:2)
First I start by holding up my index finger in front of my lips, then...
Re:Hot Damn. (Score:2)
I'm curious as to what network layer this ssh tunnelling is done. I'll give it a try next week, I was already in the throes of setting up a vncserver, seemed easier.
Re:Hot Damn. (Score:5, Informative)
SSH tunnels at the IP level and can tunnel any connection. It sets up a listening socket on a specified port on one side, and repeats everything it hears on that port to the other side. X tunneling is just one specific application of this feature.
Gotta love ssh...
Maan
Re:Hot Damn. (Score:2)
Re:Hot Damn. (Score:3, Informative)
This explanation is a bit vague, enough to be somewhat inaccurate. If you execute ssh from the Terminal in OS X, X forwarding will not work no matter what you do. You have to run Apple's X11 application, then run an Xterm, then do 'ssh -X wherever'. That is how it is if you are just using the X11 implementation Apple provided you with, n
Re:Hot Damn. (Score:2)
You can take a local port, and forward it to a remote location, but you can't forward a remote location to local. At least, not "openly". (only from localhost)
This means that you can take a connection inside a local network and tunnel out, but you can't use SSH to tunnel through a firewall outside and get a connection back *in*.
I sent in a note to the SSH dev mailing list and they told me that it's not a bug, that they want it this way...
Why couldn't th
Re:Hot Damn. (Score:2)
-L listen-port:host:port Forward local port to remote address
-R listen-port:host:port Forward remote port to local address
These cause ssh to listen for connections on a port, and
forward them to the other side by connecting to host:port.
-D port Enable dynamic application-level port forwarding.
Why doesn't -R do what you want? I've tunnelled a port on an external webserver through to an Apache webserver behind the firewall using SSH before.
Re:Hot Damn. (Score:3, Informative)
-Ben
Re:Hot Damn. (Score:2)
Re:Hot Damn. (Score:5, Informative)
NX places a caching proxy server on either side of X's client-server architecture, reducing network traffic to differential transfers of whatever is not already cached. The company says programmers rarely optimize X applications for low throughput on the X client-server interface, resulting in many needless "round-trip" data transfers that NX can largely eliminate.
So instead of taking the whole X session and cramming it over ssh (even with compression) you cache the majority of it and just pass the deltas.
It has ssh capability so I imagine you can tunnel it but you would still be tunneling a LOT less traffic.
Re:Hot Damn. (Score:2, Informative)
That's why vnc tends to emulate an entire desktop. Things that are infront, behind, in focus, or whatever are drawn to a buffer on the remote server, and updates for the buffer are sen
Re:Hot Damn. (Score:2, Insightful)
Re:Hot Damn. (Score:2)
I can't imagine anyone still using a 9600 baud modem, especially someone serious enough to want to use X remotely.
GSM data? GPRS and friends have somewhat more speed, but not everyone has upgraded their phone...
Re:X server architecture (Score:2)
There are a lot of excellent uses for this, too.
-Erwos
Re:X server architecture (Score:5, Insightful)
Yes it is. In fact, X is liked by so many because of its network transparency.
However, the amount of data that a typical "rich" X client sends (e.g., mozilla) is huge. Many X clients are not optimized in terms of the amount of display information they output (that is, they output a lot of stuff that could probably be optimized away). For many developers, this is within reason since they figure that most of the time the xserver and xclient will be on the same machine (e.g., running mozilla on my box to display on my monitor).
This handy piece of proxy software put out by NX claims to be able to cache a lot of the data that X clients send, thereby reducing the amount of data actually transmitted. This will allow "rich" applications which send a lot of data to be run over slower connections with an apparenet reduce in lag time.
Re:How about same optimization for local desktop? (Score:2)
Re:X server architecture (Score:2)
Some of this work is better handled locally by caching large bitmaps and some code etc.
Re:X server architecture (Score:2)
This product apparently optimizes X for slow networks.
Re:X server architecture (Score:2)
Yes, but modern graphics-rich window managers and applications pull a lot more packets than the X windows of olden days. The first time I saw an X terminal, it was at a trade show in 1987. It was running through a 19,200 baud serial link and the apparent speed was very useable. But take, for instance, todays web browsing. I've got B3ta [b3ta.com] in another window in my X terminal which I'm posting this from. With that sit
Re:LinuxKongress? (Score:4, Funny)
They will be targetting Kolorodo next, then the cities of Kleavland, Klearwater, and Koopersville.
They've already got Kansas, Kulpsville, and Kure Beach. Cincinatti will be wiped off the map for its insolence of using a "soft c" sound, then Chicago for the dipthong fiasco.
They need to be stopped! At all costs!
VNC + File Transfer = Blech (Score:3, Insightful)
*ALL* modern operating systems have native file transfer mechanisms.. there is no need to bloat out something like VNC by re-inventing the wheel and shoving it in there..
Integrated encryption.. would be useful, unfortunately.. ( shouldn't even need to be a consideration, but in today's sick world it is. )
Re:Use on desktops, too (Score:2)