remote X vs VNC

I understand that X can be used via TCP/IP. This given I don't understand why VNC was developed and everybody seems to be using same instead of using X remotely.

Is there a limitation for an embedded device to be an X server or an X client ? Can either or both be set up in µCLinux ?

Thanks, Michael

Reply to
Michael Schnell
Loading thread data ...

X is a protocol that specifies seperation of the processing layer (the program itself) and the display layer (the GUI, keyboard, mouse). This allows a program to be executed on one machine, but be displayed and controlled on another. X is generally associated with unix, although X servers (confusingly, the client program!) exist for other platforms,

VNC is a protocol that specifies how an entire desktop can be displayed remotely. Individual program cannot be executed, only an entire desktop window. VNC is also completely platform neutral, having clients and servers (in the traditional sense) for a wide range of platforms.

To give you an example, when I want to alter firewall rules for a unix (linux, bsd) server at work, I can use X to run the configuration program and display it on my (Linux) machine. To do this with a Windows client generally requires a commercial program (there are free X implementations but most are old or limited).

When I want to administer a Windows server, I use VNC to get the *current* desktop image and manipulate it remotely on my Linux machine. Windows users can do this to with VNC.

I could also setup a VNC server on the unix machines, running a full desktop, and then the Windows users could VNC into that to run the firewall administration program etc.

Blane.

Reply to
Blane Bramble

Hello Michael I was interested to this thread too. Unfortunately seems that most of people use VNC instead of configuring the X Client/Server. Although I think X Client/Server architecture could be very interesting in embedded linux systems. Bye

Marco Cavallini ============================================== Koan s.a.s. - Software Engineering (x86 and ARM) Linux and WinCE solutions for Embedded and Real-Time Software Via Pascoli, 3 - 24121 Bergamo - ITALIA Tel./Fax (++39) +35 - 255.235 -

formatting link
==============================================

Reply to
Marco Cavallini

Just look at VNC web site. VNC can totally replace X. It works for example over the frame buffer and can act as X server and applications work without knowing that it isn't X. Of course, the memory usage is smaller and you can connect with many clients (X client, VNC.). Windows or Mac can connect, and also any other little PDA that can run VNC. VNC client use little disk space (compared to X client that need complet X).

So, Advantages:

- Less memory (runtime memory usage and disk space)

- More interoperability (Windows, Mac, ..., PDA, Java plateform, ...)

- More easy to configure

- The power of X protocol for local and remote client but without some of its inconvenient

And I'm sure that my list is not complete.

Reply to
AM Christophe

So you suggest that I can run VNC (e.g. on a Windows PC) and have my application (on al Linux box with no VNC installed) connect via remote X protocol to that GUI server ?

That would be a decent free X-Server for Windows ?!?!?!

Thanks, Michael

Reply to
Michael Schnell

For a decent free X Server in Windows, just check out Cygnus. VNC's main advantage is that you can secure it and run it through SSH. Its main drawback is that the VNC X Server actually runs on the Linux side and takes up memory there. Between the Windows PC and the Linux machine, the protocol is VNC.

If you use Cygnus (or any other X Server for Windows), then there is no X Server at all running on the Linux box. That should substantially lower the memory footprint. Unfortunately, the X protocol cannot easily be squeezed through SSH, at least not completely without a kludge.

--
Keep American Families united! Support H.R. 539 and H.R. 832
For more information, see http://www.kkeane.com/lobbyspousal-faq.shtml
Reply to
Ingo Pakleppa

So not a good idea for remote controlling an embedded device.

But it should pass a VPN if security is needed.

-Michael

Reply to
Michael Schnell

I beg your pardon? What's so hard about tunneling port 6000 through ssh? In my book, that's the default ssh setup, which is only disabled if you give the -x switch. man ssh.

Maybe you're talking about other fluff, like XDMCP and the login screen. I guess I don't consider creative, application-specific solutions (which I'm sure can be found, once you set your boundaries logically) a "kludge".

- Larry

Reply to
Larry Doolittle

When a local application connect to X and use X protocole, it connects and use VNC X server. Access to the hardware by VNC is done through the frame buffer. Xlib for example connect to the server using X protocol... and the server is VNC.

X protocole is a... protocol. Just a way to send graphical orders between a server and clients. When using VNC, VNC clients on remote device don't need to have X installed to connect. They use VNC protocol instead of X so they don't need fonts, drivers, ...

See here for more information :

formatting link

Regards to all AM Christophe

Reply to
AM Christophe

You are exactly right, I was talking about XDMCP. The SSH X forwarding that you are referring to requires you to first log in using a console, and then launch your application from that. Also, another reason it doesn't work well, at least with the cygnus client, is that the window manager runs on the client side. With cygnus, that is twm (I think it also has fwm or so). True, you get to see a window that shows the application, so technically you are right, it works. But without KDE, Gnome or Bluecurve, that is pretty useless. I tried it and ditched it within 24 hours; I'm now just using the command line itself.

Of course this part of X works. Technologically, this may not be a kludge, but the user experience most certainly is unacceptable for most purposes.

--
Keep American Families united! Support H.R. 539 and H.R. 832
For more information, see http://www.kkeane.com/lobbyspousal-faq.shtml
Reply to
Ingo Pakleppa

I completely misunderstood what you meant by "it" in this sentance. I thought you meant that the local app no longer has to talk talk the X protocol since it's talking to VNC server rather than the XFree86 server.

You meant you don't have to have X installed on the _remote_ machine. That's true. VNC doesn't replace X on the local machine, it impliments it. I thought you meant that VNC replaced X entirely (on both machines) and the clients somehow didn't have to use X at all.

--
Grant Edwards                   grante             Yow!  ... I have read the
                                  at               INSTRUCTIONS...
                               visi.com
Reply to
Grant Edwards

But any application can easily act as a VNC server, only providing it's own display (there is a nice example in the VNC sources).

Look at

formatting link
for a VNC server running on an AVR.

--
42Bastian
Reply to
42Bastian Schick

No problemo :)

Reply to
AM Christophe

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.