Low-Bandwidth X
pinzari self-promotes with this: "What about running a full-featured X desktop on
your Yopy? Or having a virtual Linux machine, running at your ISP site, being accessed by a TV or PS2? I know Slashdot has treated this more then once and I remember a really interesting thread a few months ago. I think that most of the reasons why nobody has taken this seriously is because nobody thought it was actually possible. Medialogic has just released MS1 of mlview-dxpc. It's
a deep rework of the old DXPC which can really be used to run remote X desktops over the Internet, the way Citrix, Microsoft and SCO aim to do using proprietary protocols like RDP and ICA. mlview-dxpc is very preliminary but, in our opinion, it looks very promising. After all this hype about .NET and Application Service Providers, I can't forget X was born exactly for this purpose."
Why waste your bandwidth when you don't need to? Even over my DSL line, X is somewhat sluggish. If I could get a 60:1 compression ratio(which is even modest according to their website), that would be amazing.
-----
"People who bite the hand that feeds them usually lick the boot that kicks them"
Higher Logics: where programming meets science.
i think the biggest problem with running a remote X desktop to your handheld or cell phone or whatever else would be bandwidth.. it just isn't there for little portable devices.
Not Quite. The article mentions the client uses on the order of 10 MB of memory to cache things. Not too many cell phones have the kind of storage available.
Microsoft already has Terminal Server for W2K that works well with low bandwidth connections. It doesn't draw the screen, pixel by pixel like VNC does. Instead, it uses the BMPs and the APIs already on your desktop to very quickly let you work on the other machine. Terminal Server works fine across a 28.8 connection. XWindows needs something to compete.
Having 1mbit (or 5.5, or 11, whatever you're using) of bandwidth per client isn't going to be the biggest factor in the performance of the device, the latency is going to be a very big issue.
ldconfig
The linker keeps a cache of the libraries it has, you need to rebuild the cache when you add libraries.
BTW I think that Win4Lin is making a remote Windows app server which might be based on VNC.
VNC is like magic, man. That's where it's at. :)
===
I completely agree with you on the first point, but the statement about the Windows Terminal service shows that you don't seem to have it used once. In our school we've got 100 MBit LAN and Terminal Server is still slow as a snail. I can't imagine running it over ISDN, let alone modem.
I doubt that's down to terminal services - running it on reasonably fast machines over 128k is quite usable - I've done it more than once from home when the windows guys at work aren't answering the phone. Over 100 mbit net, it's *very* fast.
Bandwidth is either here or coming down the pike. But, as a HHLinux iPAQ user/developer, I can tell you the major problem of running remote (and non-remote) X apps is SCREEN SIZE. Most apps just aren't designed to run on a 240x320 screen. If they are written using a standard toolkit, new widgets can be coded that take up less space (the big margins and other wasted space look good on a large monitor, but eat up valuable real estate on a handheld). It sure would be nice if somebody got the itch to create some smaller GTK widgets, hint, hint... Take xpaint, for instance, it will work on the iPAQ, but you have to scroll around to get to the tools, colors and other controls. Usable, but a bit of a pain. Cpt_Kirks
Do you think a PIII 600 with 128 MB RAM is good enough to get it going fast over 100 MBit? That's what we have and apparently it isn't quite sufficient. Perhaps something is misconfigured. Any ideas?
from the to-stupid-for-words dept.
I have no idea.
;P) it works....
must be that randomness M$ puts in to all it's products that decides how well (if?
HA! just try to mention opensource developers and "lightweight" in the same sentence. IT WON'T MAKE SENSE! that's what happens when you spend your life in an easy chair in front of a monior.
Well.. you may be right.. Nah. Please realize that Open Source does not explicitly mean that the developers are idiots. It doesn't even mean that they do it on their spare time! *gasp*
There are actually people getting paid for developing open source code! *shock*
As a graduate student, I occasionally need to run xmaple, or matlab remotely-- but only have a 56k modem. (Yes, I do have local copies of the programs, but sometimes I need to test if my files are compatible with my school's versions.) Low Bandwidth X, while not a panacea, does allow me to run some of these programs.
It might just be me, but I'm perfectly happy running all my applications locally on my own machines.
.NET and remote X stuff, I'm wondering, why would you want to run such things remote? It makes you extremely dependant on your internet connection, and a 0.1s (with 100ms network latency) delay between my actions and the computers reactions is kind of irritating.
With all this
Now, I've run X applications (and even entire desktops) remotely, and it's fun to try and can be very useful in some cases, but the lag was noticable, so I strongly prefer to run things local.
----
For all *VNC-is-great guys: Have you ever tried to WORK using your *VNC based connection? I mean, not only doing simple administrative tasks, but work? Write an document in staroffice, reply to some slashdot posts in konqueror/netscape? And everything using a ISDN modem with ping of 200 ms? I have tried. It is impossible. Sorry.
It could have been possible if everything had been written using some "light" toolkit and X protocol greatly modified but unfortunately it isn't.
The goal of ML-View is to make it all possible using standard X server, standard qt/gtk toolkit!
And the problem of using it under Windoze, MacOS or anything? You use dxpc now, you will use mlview-dxpc soon. Leave us some time.
Maciek, YAMD (= yet another mlview developer)
See here. for the Sun Ray series of products. I've used them before -- they're really quite nice.
You need more memory, 128M is the minimum required by MS. Also each user logged in gets so much memory allocated for the desktop and for each app they run, allocate an additional 10M minimum for each user connecting if they're only running 1 app at a time, add more if they're running more than one app at a time. I would try to give each concurrent user ~30M, more if possible, and don't forget about how much memory the OS itself needs.
--
using a browser based solution like thinwireless.com, and a phone with a java browser and gprs it maybe could be done
i think the biggest problem with running a remote X desktop to your handheld or cell phone or whatever else would be bandwidth.. it just isn't there for little portable devices..
If you use vnc with the tight encoding patch you get a GREAT speed up. It was written with dialup speeds in mind.
n g
What else do I use VNC for? I start a session on my dual PII linux box in the basement and use it to run eroaster/xcdroast and limewire (great gnutella client). Long running apps that you would like to connect to and leave burning/downloading for days are a perfect reason to start a vnc Xserver (Xvnc).
Remember folks, the unix vncserver is not a screen scraping type app like the windows one, it's basically just a standard X server WITHOUT any hardware support. There *IS* a way to get the screen scaping type functionality under unix though, using x0rfbserver.
http://www.hexonet.de/software/x0rfbserver/
http://www.google.com/search?q=vnc+tight+encodi
http://www.google.com/search?q=limewire
-kcurrie, too lazy to login..
There were murmors on the VNC list (before the S/N ratio dropped like a rock) of someone who actually write a Java wrapper for AWT (and Swing, I think) that lets all Java apps easily act like RFB servers with a few code changes. I never tried it, though.
/ \
\ / ASCII ribbon campaign for peace
x
/ \
The main difference in this example is whether or not the data is going to be drawn or not. Using CORBA or COM+ I can give remote users access to my server's libraries as if they were on the remote machine whether they have to do with GUI stuff or not. It's a matter of dealing with actual objects or dealing with a widget set. For alot of distributed applications I think I'd go with object handling and let my client program decide how it wants to draw the information.
I'm a loner Dottie, a Rebel.
X is good, low bandwidth would be better (and judging by what the site says it is better) but I can't help thinking VNC is actually more useful because its only a couple hundred k of program and runs on platforms as diverse as Linux, beos and windows CE (amongst others). Of course YMMV
no sig.
This works great.. i feel dumb now :)
Thanks
I gots ta ding a ding dang my dang a long ling long
Well, we actually use Citrix+MS Terminal Server in work too. And by god does that absolutely suck.
/really/ well - its a lot faster than citrix/TS on a LAN.
The biggest problem is the Terminal Server side of things, it requires heaps of RAM cause multi-user is obviously just a gross hack - each user is just assigned a big block of memory, and if they all run excel, each users address space has to have the text loaded in. We have an NT box with half a GB of RAM just so that about 20 people can run word/excel/proprietary windows app.
no sharing of text between different users. ugg..
the citrix display exporting side of things works quite well (though it can very occassionally hang the display). but then, X works
I notice you didn't bother to even try justify your claim of "[X] is an old tired technology". what specifically needs improving? Anti-aliasing extension has been written and implemented for XF4, this very article is about a new X compressor. So what do you mean with "never improved"?
from the non-technical POV, citrix+MS TS is an absolute nightmare in terms of licensing. you pay for MS the local NT workstation client, for TS and per-user licence for TS. Plus citrix per user on top of that...
uggg..
--paulj
PS: nice troll, but not good enough.
I use Friend/Foe + mod-point modifiers as a karma/reputation system.
You should be happy with your local Slashdot server, why view such a thing remotely ?
"Naughty, naughty, naughty, you filthy old soomka !"
That, my friend, is the future of the internet. It's really more of a "thin-wire" thingee than a "thin-client" thingee.
(Begin rant. Even the small dumb PDA-type thingees need to be "multi-user". Multi-role might be more descriptive. "My Computer" seems somehow incredibly stupid. End rant.)
I'm about to pilot test 10 Linux-based webpads running 802.11b in April, another 500 or so in September, with the hopes of blowing it wide open to a few thousand next summer. The deployments will typically have 3 access points per 30 units. Seamless roaming will not be supported.
I want to propose a monster box to run the apps, and many smaller boxes managing the displays of the 30 or so portable units per group. With each unit getting up to 1Mbit/s of bandwidth, then low-bandwidth X on an otherwise embeedded-class handheld sounds like it will be an excellent solution to my problem.
Steve
--
Intelligent Life on Earth
Resumable X sessions would absolutely rock. There is always a lot of setting up to do when one starts an X session - I don't care how much effort you put into .xinitrc or how intelligent your desktop environment's session management is - there's always lengthy initialisation for my X sessions. Resumable X sessions, combined with a low bandwidth X proxy, would allow me to:
At the moment I can (and do) use VNC for (1) because I have a fast home LAN. But even tight VNC is too much of a bandwidth hog for (2) or (3).
Hell, if resumable X displays existed I would probably rent a colocated box on the net's backbone, then just use thin clients (read: sleek X servers) to access my desktop from wherever I happened to be in the world.
Does anyone have any thoughts on the architecture of the X 'proxy' that needs to be invented? It would have to be a full-fledged X server, and would have to maintain state for any clients which were displayed on it. It would also have to be an X client, capable of displaying itself on a remote computer, but capable of "detaching" from the display and "re-attaching" to another one (that's why it needs to maintain all the state of any clients which are displaying on it.. )
Colour depths would be a nightmare, as they always are with X.
Perhaps extending VNC so that "X protocol" is one of the encoding options for communication between VNC server and VNC viewer would be a place to start (though I'm completely ignorant of how easy it would be to graft stuff like this on to VNC).
I'd be interested to hear what others have to think on the matter.
--
The ability to work on lower bandwidth links is not the only thing that needs to be addressed with X to make it feasible for the sorts of applications mentioned above. What we also need is some way of disconnecting and later reconnecting to a previous session. Just like screen does for terminal sessions.
I don't imagine that this would be *that* a feature to add to X, with a caveats - like the screen size, bitrate etc not changing. Since low bandwidth links also tend to be less reliable (going out of range with mobile phones etc) this would be really useful and is a good reason why people often use VNC between linux systems even though they could be using X.
I think a 56 Kilobit connection could easily handle 4 Kilobits.
Not when a site is slashdotted within five minutes and it isn't even sending at 4 kilobits.
(That didn't turn out too well... let's try that again.)
__________________________________________________
I think a 56 Kilobit connection could easily handle 4 Kilobits.
Wow! It'd let me surf an order of magnitude faster. From the article:
If "Internet" is taken to include "World Wide Web," then Slashdot loading 1000% faster is a Good Thing.All your hallucinogen are belong to us.
Will I retire or break 10K?
Does anyone know what the SunRays are using? I have seen these machines run Video remotely ... what ever protocol they are using for this seems best. Not only does it have persistance across multiple machines (done very smoothly with a "smart card") but the video performance was quite impressive... any ideas?
Of all the things I miss
How fuck'ed up is it on a scale from 1 to 2 to have a .com website in itallian?!?
-H
If X used a different protocol, for strictly point to point communication, and a few other cute restrictions, and suddenly bandwidth is not a problem. 56K is actually blazing. It's just that the TCP/IP protocol suite is actually slow and unreliable, REALLY, in the LITERAL sense, they are called slow and unreliable protocols. You are NOT guaranteed receipt (no hard connection) and you are NOT sending data quick (round trip time plus the MASSIVE losses you take in the header).
Eh...
Today after 3 years of half starts I finally got a dedicated box just for linux. I have a samsung syncmaster with dual inputs so I didn't even worry about a monitor switch. However, my secondardy mouse bites and I lost the ps2 adapter for my old keyboard. Well, I had been using VNC for a while now in windows and loved it. However, I am blown away with VNC, Sawfish, and Ximian gnome all done remotely - in my word - PIMP
The ultimate network admin tool needs HELP!
Check it out here! Much better than ssh+compression or anything else I tried with VNC.
Bye egghat
-- "As a human being I claim the right to be widely inconsistent", John Peel
The only thing I can think of that might cause problems when moving between your local machine and the school's machine are the paths set-up to access data.. To verify the rest, just take a look at the toolboxes included in the two copies.. (I'm not sure what the cmd is, but I'm sure there is one..)
I have been searching the Net for Months to try to find an Xserver for Windows that is Free. The Closest I found was a Port of XFree86 for DOS. But that wont cut it. I would think in they days of Free Unixs with Xwindows that there would be an X-Server for Windows that is Free. I think if there were Free X-Servers for Windows it would greatly help the Unixs (And Linux too) because then there would be a comon protocall and people can Access there Unix/Linux Systems from any computer and Use their GUI.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Just what exactly does .NET have to do with X, VNC, Citrix ICA, Windows Terminal Server etc.!? .NET is not about remotely running Windows applications. Geez. Is it a must to involve Microsoft in EVERY single story even if they are in no way related to it?
The problem is the bad aspects of XLib, where huge amounts of work cannot be done without doing synchronouse reqests for information.
I think the X protocol was designed for asynchronous message flow, aspects of how damage events and window mapping are handled show that they planned this. All the synchronous messages are from the bad stuff that was added in X11, when they started quickly bloating it to provide the features (like color) people were insisting on, and were unable to do things correctly.
I see no way to get true low bandwidth unless the Xlib protocol (and thus all programs that use Xlib) is scrapped and replaced.
We cannot have information about how the display renders in user-visible structures that are required as arguments to graphics calls. It prevents exactly the type of behavior wanted.
This means any concept of "graphics context" must be provided by static state and not by arguments to the calls. These internal structures can have device-specific information in them because they are hidden and no user code depends on their contents not changing (though I would prefer to push it all to the server).
One reason is the widgets resided on the server. However I have said a few times here, and still feel, that this is a very very bad idea and should be avoided at all costs.
Ignoring that, NeWS was still faster and used less bandwidth, and here is why I think it did:
The stream was a simple encoding, not a library, and not structured. Basically it was PostScript, but all the bytes with the high bit set were equivalents of common PostScript tokens, small numbers like 0 and 1, and they introduced packed arrays of float, int, or char.
The commands to create and map windows, to pick windows to draw into, and all the graphics, were entirely asynchronous. In fact synchronous communication was completely left out of NeWS design. Therefore no blocking or sync indicators had to be put into the stream.
The graphics were quite high-level. In particular compared to X it was easy to select a font and draw in it at any size and transformation. You could also draw an image with arbitrary transformation, so a small image could be blown up and this could take much less bandwidth.
You could download small graphics primitives as PostScript procedures, to make the graphics even "higher level"
DPS is not a good solution because it does not replace the window mapping and color management code of X. This is a significant part of the bandwidth.
read the article again.
This is not a TV
It's a monitor with Television hardware.
There's a huge difference!
You know, Sun's old NeWS system was made just to solve this problem (OK, maybe it wasn't made to solve the problem, but it solves it anyway). I'm trying to get old Sun 3/160 working to try it out.
My understanding is that Display Postscript also is more bandwidth efficient than plain X. There is a DPS module for XFree, and Solaris and Irix both come with DPS modules. I'll have to test that to find out if it's really true.
I'm a loser baby, so why don't you kill me.
anyone interested in using remote desktops over IP networks ought to take a look at TightVNC, which implements lossy JPEG compression (finally). It's about 70% better than VNC and about 90% better than PCAnywhere 9 from my personal trials. To give you some idea of the improvement, you can now use TightVNC over ISDN from Japan with good responsiveness, compared to waiting two minutes for a screen refresh with plain VNC.
That's 4Kb/s, KiloBITS, not KiloBYTES. I think a 56 Kilobit connection could easily handle 4 Kilobits.
Enigma
Enigma
congratulations! an informative post in a slashdot article about X - wow! (where are all the "X sucks" posts today?)
The problem with X over non-LAN links is indeed latency - not bandwidth. X is not a fat protocol, it's very thin actually[1], but it is extremely chatty. You could have the fattest pipe on the planet to your X client but it would still suck if the latency was bad. (eg high-throughput, high-latency satelite links).
Small applications tend to be fine. eg xterm is fine over a 33.6k modem, but the bigger the application gets, the more windows and child windows it has, the more chatting the Xserver and client have to do. Plus some apps just have to do needless fancy stuff (eg as someone posted, the gimp has an animated border for selects) which kill performance on high-latency links.
X: it doesn't suck, despite what the kiddies on slashdot might say.
[1]. data that it transfers, eg icons, is larger than it needs to be as they are raw {pixmaps,bitmaps} but server caches these.
I use Friend/Foe + mod-point modifiers as a karma/reputation system.
The low level implementation of X programs requires a linear flow of
, and so on...
Because there is no way for client nor server to understand which information/property depends on any preceding, the protocol messages have to be processed one after the other.
In cases like requests to set/request a large set of similar properties (e.g. color information), queuing takes place and messages are sent containing a whole batch of single events, but this doesn't happen often in real world applications, thus not noticably increasing performance.
The X protocol was not designed for an asynchronous message flow.
This approach does help with admin costs, and is handy for places where maintaining a "real" workstation is out of the question, like a factory floor. But I'd hate to run any serious apps on such a system. Except for limited demo apps, your server and network never provide real responsiveness, and the immediate feedback that makes a GUI app work goes out the window (no pun intended).
But suppose you can de-bloat your GUI? Impossible if you're running Windows or CDE, but Linux-style desktops are more flexible. (I say "Linux style" because they run fine under any Posix OS.) Consider, for example, the plugable widget themes in KDE. So far themes have mostly been used to implement graphic overkill -- but they can just as easily go the other way.
As for GIMP: do you really want to do graphic editing on a 3-inch screen?
__________________
I can't urge it enough. My boss wanted to study some of his Oracle stuff, but the files and db were on one of the computer lab machines... so he asked me to set up WinVNC on it and give him the IP/display#/password. I suggested to him TridiaVNC (www.tridiavnc.com) since the latest release supports Tight encoding, so I gave him the Tridia vncviewer.exe binary and set it up on the Oracle machine. He said it was so good compared to hextile encoding that it felt almost as good as running it locally. He was on a modem, while the college is on a T1. I tried it myself from home and I must say, I was impressed. Sure, the Start menu doesn't pop up instantaneously, but it doesn't take more than 2 seconds to pop up. Considering how I'm used to running telnet over my modem line, I could tolerate it well enough. I also tried a Tight VNC session to my home computer; I was able to play Xtris well enough without trouble, minus maybe tuning the speed down a notch or two to make it more comfortable. The school-to-home session was 8-bit 640x480, the home-to-Oracle-machine session was 800x600x32bpp
the real at&t mix
Is there a reason to do this?
Is there a market for this, or are there people who need this service (other than yourself)?
What are the moral implications?
Of course the last question does not apply to this, but the first two do. Mainly the second question. If you were to set this up would there be a market for this service and would it be a money maker. This is the real question. I think that there is company that lets you access a linux desktop from a web browser. This is not much different. You must of course pay for the service. Oh and by the way, much of the internet is going to be pay for services in the not so near future. It sucks, but all these companies need to make money someway.
I don't want a lot, I just want it all!
Flame away, I have a hose!
Only 'flamers' flame!
--- Justin Dearing http://www.justaprogrammer.net/ We're just programmers.
I have had better luck with TightVNC; it compresses a bit better, but I think the main advantage is that it requires less computation per tile. I use it regularly over 256kbaud Internet connections with no problems, but it seems more responsive even for local and LAN VNC connections.
So, it's a tradeoff which one to use. VNC or TightVNC probably requires a bit more bandwidth than mlview-DXPC and xmove. On the other hand, unlike the X solution, the VNC client is tiny, easy to install, and almost always works.
While this is ever-so-slightly off-topic, it's still extremely interesting.
Check out D11. It's a spec that calls for a major restructuring of X-Windows, but it works thusly: Speeds up local accesses to an X-Win server (running the X server and client on the same machine). The thought's been around a while, but this is some really good stuff.
I suspect that one can probably get close to RDP or ICA performance with careful tuning of the VNC protocol. TightVNC is an attempt to do that.
What would VNC need to become even faster? I think VNC right now has no provisions for drawing commands at all. Extending the protocol to add a few drawing commands might help; servers could generate them if they have the information to do it. For example, a simple BitBlt operation would make scrolling much faster. Maybe a clear or interpolated area fill could also help.
One can also push compression quite a bit farther.
Another trick that might make VNC appear faster is a multi-window frontend. That way, you don't have to wait for the background to fill in, and small windows have only little overhead.
See other comments. Problem isn't so much bandwidth with X apps (especially over DSL line, where you should have plenty of bandwidth), it's latency due to the chattiness of X, i.e. it's tendency to make lots of roundtrips for small chunks of information that have serial interdependencies.
I am developing TightVNC software which features a number of efficient bandwidth optimizations for well-known VNC software suite, and I'd like to share my opinion and experience on low-bandwidth remote desktop solutions. I think TightVNC and future versions of TridiaVNC may be a better alternatives as compared to X in all its flavours (with LBX, DXPC etc.) and I'll try to explain why in the text below. In short, I don't feel much pain using TightVNC over 33.6 Kbps dial-up connection.
Speaking of X and TightVNC, each choice has its specific benefits and drawbacks. First, let's look at strong sides of TightVNC (many points are applicable to the standard VNC, except for the bandwidth usage):
From my real-life experience, TightVNC session is usually more bandwidth-friendly as compared to X with SSH compression, but X and VNC are very different in their architectures, and there are situations where X is more efficient. And it's not always simple to compare X and VNC.
The main problem of X is its complexity. X was intended to be too flexible and universal by design, but this also means that underlying techniques and protocols are extremely complicated. I often imagine X died under the pressing of it's own complexity. Now about weakness points of the TightVNC:
Maybe I've forgotten to say something above, but now it's too late and I have to go now.
--
With Best Wishes,
Constantin
In Europe, where mobile telephony is a mass market, nobody cares what OS a telephone is running. The same is true in the US. We think that, soon, nobody will pay attention to the OS a computer does run. BTW, that OS will be Linux, your desktop applications will run unmodified on fbdev and X, and you'll pay a 32MB PDA with 32MB of ROM from which to boot, no HD but a 1Mbps Internet connection 24x7x365 something like 150$. This assumption let us believe server based computing is a real alternative to the PC based architecture which has ruled the world so far.
I read some posts talking about persistence of X connections and resource usage. They were very good points. Infact we are working hard on them. Persistence is not very difficult to achieve, as it's mainly a matter of proxies reconnecting after a network failure. In the future we'll think at 'freezing' X clients and server, the way APMS does. Furthermore we think that the VM technology experimented by VMWare (but also available in Linux as virtual-machines running in user space) are the right complement to make possible thousands of users on the same host. Resource usage at client (X server) side is not that bad already. mlview-dxpc tries to make possible to run full-featured X desktops, as the one you are used to at your -local- machine. I mean with thousands and thousands of bitmap images coming from the net. If you test mlview-dxpc you'll find that a huge amount of bandwidth (and memory) is used by animated GIFs. This is simple to overcome. It's enough an X extension to handle this at the widget-set level. Why nobody has done this before? Because to run a browser on a low bandwidth link was simply not possible, so why bother?
To rewrite an application from scratch is a tough task. This is why Java didn't work and .NET won't. It's much simpler
to adapt a stable code base to different conditions. If
you have given a look at QT Embedded, you know that most of
the KDE compiles smoothly under it. I expect to be possible
to configure KDE in the Control Center for slow links in the
future (it's enough to disable animations in Konqueror and
display a few other things in a different way). I expect
also to have at least three different behaviours for your
usual GTK and QT applications: X running locally, X running
remotely, local framebuffer with low resource usage and small screens. In this
future world we'll be able to run agenda or MP3 player on the
local PDA and write full featured DOCs and browse the net
on the remote machine.
I read a post about a free X not being available on Win32 or platform XYZ. An X server is a network server which translates X protocol in graphic calls that it redirects to the hardware. It's simple to separate the two parts and, actually, this is exactly what Xvnc, XGGI and Xfbdev do. There is already a port of XFree86 for Win32, together with GTK and GNOME desktop. I heard GGI people have compiled it on almost everything from the coffe machine to the Palm and TinyX is now part of XFree86.
One last word about mlview-dxpc's performances compared to other solutions... I think the best is to download and test it yourself.
Unfortunately, the desktop is not the only thing that needs to be lightweight. I can only imagine how difficult it would be to run the GIMP over a 28.8 connection.
Don't get me wrong though...
I'd be more than happy to have a lighter desktop available.
Besides, a lighter desktop would likely run better on local machines as well.
it says it requires 4 Kb/s in the article.. which is like.. 80% of someone's "56k" dialup.. so much for streaming stock prices ;)
Around 5 years ago I was involved with some people who were trying to determine why their X application was taking 5 to 20 minutes to start up when run across the WAN.
We put some protocol analyzers on it to see what was going on. It turns out that X is extremely chatty. This particular application made over a 1000 round trips between the client and server during start up. When running on a LAN where latency is a milisecond or less this is not a problem, but when running across 15 hops with a latency of around 300ms the chattiness blows up in your face.
If the latency is low, X's bandwidth requirements are very modest. I used to run an X terminal on a 14.4Kbs modem to telecommute and while it was a bit slow it was usable.
To make X a WAN friendly protocol someone needs to address this chattiness issue.
David
RDP is the thin client protocol used by Windows NT Terminal Server and Windows 2000. Well, you guys might be interested to know that Samba team member Matt Chapman has done it.
rdesktop is available on the rdesktop website and only supports NT4 and 8-bit screens. Since then, patches have been made by several people, which extend the support to Windows 2000 and 16-bit screens. Get the "unified patched" version from Peter Bystrom's site instead.
This is of course great news if you previously were forced to use a Windows RDP client on the desktop to access your (corporate) Windows network. You could even make a very inexpensive thin Linux client with RDP, VNC and Low-bandwidth X support.
I don't know if Matt actually got the reward. The German company IGEL might as well have caved in and bought a licence from Microsoft, since they are now offering products containing RDP support.
Jacco (to e-mail me, please remove all yourclothes) /var/log
---
# cd
-------
Warning: Slashdot may contain traces of nuts.
RedHat is doing a Win32 port of X. See the scoop at
http://sources.redhat.com/win32-x11/
and
http://sources.redhat.com/cygwin/xfree/
These actually may be the same project. Says it runs on Windows 95, Windows 98, and Windows NT. I expect it would run on Windows 2000 as well.
Engineering and the Ultimate
>Honestly, everyone is going to have high-bandwidth connections in a few years
They said that about personal phone lines. The government still makes exceptions for Bell to allow them to continue servicing existing party lines; These lines are not listed as a required upgrade.
It took decades for Touch Tone to become ubiquitous enough for companies to get rid of phone operators; Yet still, I know people who do not have Touch Tone lines today.
How many of you are still unable to get a telex line? This is such old technology you should be able to get one on sealand! Yet it is unavailiable to many.
How about centrex/leased line service? This may be unbelieveable to some (considering the profits built into these lines) but geographically I've found many people, even those in 1st world countries, cannot even get this 60's (maybe 40's?) tech!
Does pager service yet cover your entire country? Do cellphones work once you leave city limits?
When it comes to Bell, "I'll Beleive It When I Have It!" (even then, I'll be checking my service daily to see if Bell changed their minds).
If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
Running X over a low bandwidth or high latency connection is asking for trouble. You might get a static desktop up and runing fine on a Yopy or some little toy but if you run something even mildly intensive on the graphics (say Gimp for instance) you're not going to be very happy with performance. Not only does it have to send an updated screen for every filter or change to make to an image you also have little things like the animated border around a selection. I used to connection to the SPARC stations at my friend's school over the internet and it was a drag even with a cable modem. Most recent X apps are not designed with bandwidth skimping in mind, they're designed like Windows and Apple apps. You get spoiled when you start making apps people use only on their local desktops whereas app engineers 15 years ago would go to the greatest pains to skimp on bandwidth as no one ran X on a desktop machine. X has VERY little to do with .NET or low level RPC frameworks. X provides communication between top level components over the network (such as the GUI) whereas CORBA, COM+, ect. provide network access to lower level components. .NET and any framework like is much better suited for accessing remote program components. You can use SOAP to communicate with an Apache or IIS module through HTTP transfering only a couple objects as XML documents where X is transfering lots of widget descriptors and frame images.
I'm a loner Dottie, a Rebel.
And yes, I currently use X/SSH over a 56K link, works fine for multiple xterms and some netscape guis.
There are several programs for this.
lbxproxy works with X. Part of it actually comes with XFree86.
DXPC is an oldie but goodie. It requires you to use it on both server and client end though.
And good old SSH compression is usually good enough. Turn on X forwarding, turn up the compressiona and usually you're good to go.
I haven't found VNC to be very good for bandwidth, but you might want to try a VNC compressor like this.
- Serge Wroclawski
Get one of those "linux TVs" from Yesterdays Slashdot article and use it as a way to run your network apps on a huge monitor. If network latency wasn't a problem, you'd have a sweet monitor to play games on.
Geez, read the link before you post, people. This isn't a lightweight desktop, it's a module for compression X protocol traffic. That's the big problem with running remote X sessions - they eat bandwidth like nothing else.
Fortunately it's also quite compressible. By optimising compression for the protocol, they're claiming to average 60:1 compression, making it possible to run a full-on X session on a 64k link... yummy.
"That old saw about the early bird just goes to show that the worm should have stayed in bed."
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
It says it needs the LZO library..
/usr/lib.
so i run off to rpmfind.net and install lzo-1.06-1-i386.rpm.
And configure still barfs saying it can't find the library.
liblzo.so.1 and the symlink liblzo.so.1.0.0 are plainly visible in
Do i need a different library, to install it in a different place, or what?
I'm not a linux newbie, but this kind of thing frustrates the sh*t out of me.. i'm all for source distributions, but this has happened lots of times. Most of the stuff i have compiled builds fine, but theres always the one package you want that just refuses to compile, even though the libraries it wants are supposedly installed.
Can anyone give me a pointer to some resources that explain just how i should go about troubleshooting this type of problem?
I gots ta ding a ding dang my dang a long ling long
LBX though is somewhat usable at 64, and really usable at 128kbit/s. I don't see how VNC could be a match for LBX. Also VNC somehow looks very ugly (probably a fonts problem).
X in itself is well designed for low bandwidth use, since it doesn't send the screen (or parts thereof) as bitmaps, but only sends graphics primitives (draw line, draw rect etc). LBX adds compression of events, omision of non-essential events and also (if you want) stream compression (I don't use it since I run LBX over a compressed SSH stream).
As it says: "This document has been written with unix-like systems in mind. If either your local or remote operating system are of another flavour, you may find here how things work. However, you will have to translate examples yourself to apply to your own system(s)."
Side Note: There is also the issue of security on this that is mentioned in several places. Given the projected use of this, security becomes rather important.
"It is a greater offense to steal men's labor, than their clothes"