Puppy as a Terminal Server - IMPOSSIBLE???

A home for all kinds of Puppy related projects
Message
Author
gcmartin

Puppy as a Terminal Server - IMPOSSIBLE???

#1 Post by gcmartin »

This is a call to determine whether Puppy is capable of implementing a "true" Terminal Server.

Let's begin this by starting with the following levels of progress
  1. Impossible
  2. Improbable
  3. Probable
  4. Feasible
  5. Implementable
  6. Testible
  7. Operational
We start at the Impossible stage and you will soon see why.

Terminal Server - What is it?
A Terminal Server is a system that incorporates 2 or more PCs with one of them being called a server and the other(s) being called a client. The server is an Operational GUI desktop with tools that any user would need to accomplish tasks while sitting at the console of the server. Now, when the servers' Terminal Server service is started, it will allow a remote client to login and get a desktop IDENTICAL to the desktop a user would see if he were sitting at the server's console. The remote client would operate his session in EXACTLY the same way as if he were sitting at the server's console even though someone else may be using the real console for something totally different. Thus, a Terminal Server serves desktop, simultaneously to all users who logon; and, each and every users is separate (or private) from every other user on the Terminal Server.

All of the client's experience, even though he is seeing it on his local screen, is totally on the Terminal Server! Everything! His mouse-ing, his keyboard-ing, what he sees, ....everything.

Obvious to everyone reading here is "what must a remote client PC use to connect in such a way to do this?" Many familiar with Microsoft will offer up RDP (Remote Desktop Protocol). Others familiar with Linux will immediately offer up VNC. Those familiar with UNIX will offer up Thin clients. Further, those familiar with Citrix will offer up ICA.

Of those clients I mention, I will rank them in terms of their efficientcy on a low bandwidth connection:
Thin Client/True UNIX terminal 100%
ICA 99%
RDP 90%
VNC 45%
Note: VNC has NO ABILITY to deliver a multimedia experience to any user. (Multimedia is tantamount to every user experience in today's world)

The Linux community has seen a significant growth in Terminal Server demand and growth over the past 8 years. LTSP has been the fore-runner in this. REDHAT AND UBUNTU have been instrumental in delivering "true" Terminal Server service within their products over the past 4-6 years.

If any of you are NOT familiar with what a Terminal Server is you can easily see this if you have a XP Pro machine and any other PC on your LAN which will run its RDP client (built-in on all M$ PCs and RDP client is in most Linux PCs). That RDP client can connect, get a desktop, and operate a session independent of the XP Pro console user. This makes the XP Pro PC, a 2 user Terminal Server simultaneously serving a console user and another PC user using RDP to connect to it. This is accomplished without installing ANY software on either the XP Pro PC or the RDP client.

Others of you who want to witness this in a Linux environment need ONLY to use a free service from Ubuntu to get a feel for its speed and efficiency that it delivers to a user on a low/high bandwidth connection. Go here to see it. Sign up and run a WebLive session for yourself.

If you are not familiar with a Terminal Server connection, you will find that, in either of the cases mentioned in the above 2 paragraphs, your desktop experience is just as fast as if you were sitting at the console of the Terminal Server even though you are NOT sitting at that console.. In fact, a Terminal Server can serve multiple users faster than a user would experience on a local PC.

"What is the advantage?" one might ask: It is to
  • utilize a High Powered PC satisfying multiple people simultaneously
  • Set up a single system that everyone in the household or office uses
  • Only need to fix or maintain 1 PC versus several
  • Only need to install an OS once and everyone is immediately using
  • Only need to install or upgrade a program once and everyone uses
  • NO MORE BACKUP of individual user machines....ever again.
  • When the TS is backed up, everyone is backed up because everyone is on the TS.
  • Clients are low-powered disposable machines.
  • Single controlling location for "who can see what ..."
  • One Firewall to maintain which benefits EVERY TS user
  • and on and on and on.
The reason that its currently IMPOSSIBLE, is that most PUPPY users are unfamiliar with providing a "Central" service for their Home/Family/Office/Class. I am NOT talking about delivering services from a webserver, I am talking about delivering desktops to users. This is NOT Virtual Machines. There is NOTHING Virtual here. This is a full desktop session for your user community. Up until this thread, no one in the Puppy community has attempted to define "Terminal Server" service. This thread not only attempts to define it, but goes further in offering where we can see Terminal Servers in actions. We can touch them on other platforms,

What is needed to bring a High-performance connection protocol for delivering desktops to Puppy such that Puppy will be a "true" Terminal Server?
Last edited by gcmartin on Fri 18 Mar 2011, 17:30, edited 8 times in total.

gcmartin

1st step

#2 Post by gcmartin »

I offer the first step to do this is Puppy. YOU MUST have a Puppy PC with at least 1GB RAM and a P4 or greater CPU for a 5 simultaeous user Terminal Server.

User avatar
ASRI éducation
Posts: 3197
Joined: Sat 09 May 2009, 12:10
Location: France
Contact:

#3 Post by ASRI éducation »

I often use thin clients with Edubuntu.
In schools, buying a single new computer (the server), it is possible to get a computer room with a dozen clients connected (old computers for recycling).
If this option is available in Puppy, then I can offer computer rooms 100% Puppy !
I therefore encourage users and developers interested in the challenge offered by gcmartin.
Sincerely,

dawg
Posts: 116
Joined: Sun 09 Aug 2009, 14:36
Location: still here
Contact:

#4 Post by dawg »

Nothing's impossible...

The second step, then, would be implementing multi-user support in Puppy, which would be cool for non-TS purposes as well.
I used to only like Puppy as a friend, but now I think our relationship is starting to develop into something more... :D

User avatar
ASRI éducation
Posts: 3197
Joined: Sat 09 May 2009, 12:10
Location: France
Contact:

#5 Post by ASRI éducation »

Pizzasgood seems to be the only one to have proposed a version multisuer

http://208.109.22.214/puppy/viewtopic.p ... fef9a17551

gcmartin

One respected user ask Why when other Puppy technology exist

#6 Post by gcmartin »

User from another forum wrote:I tried the Edubuntu Weblive "terminal server" you linked above. ... Question is - why ...
Ideas on what you noticed
You have produced marvelous work on the effort you mention. I agree with you that if your only connection was over Satellite or over Continents, there may be a slight lag as compared to a local LAN solution.

But, I am not seeing the Edubuntu lag you speak of. In fact, I find it as fast as my local Ubuntu Linux PC for browsing and running those desktop applications you see on their Terminal Server. Their browsing if faster than mine (I suspect this is relative to the bandwidth they have versus what I have.) Mouse and keyboard is instantaneous (I am still using my Microsoft system with Firefox 4. Has anyone else used either their Microsoft PC or Linux PC to connect to the Edubuntu Terminal Server?)

Addressing your question: The real reason Why?
Where I am attempting to get us to see is not just on the Terminal Server's speed of delivery, but on how we in Puppyland with this kind of technology can set up ONE FATDOG ONLY on our LAN, with ONLY a client running on any other machine on YOUR LAN. Everyone/anyone you give access to login from that client, can run, get instantaneous response time, have complete backup services, have the most up to date applications and fixes, with ONLY FATDOG MAINTENANCE by you. There is no PXE, no upkeep on those LAN PC, no hardware needed except the motherboard (so to speak), or low-power (ecological) PCs, monitor, keyboard and mouse. I have been doing this for many years. It saves effort, man-power, electricity, and user complaints. 1 Terminal server serving as many users as you can get to logon to your terminal server..

There is only one downside....single point of failure. But even this has been minimized by me with UPS, Warranties, and Disaster Recovery (DR) techniques. So, if I ever lose a site, I take one machine somewhere, use the DR backups to restore and I have just put a whole community fo people back to work again. Yes, the whole community; everyone. Further, by setting up redundancy, the single point of failure only loses the time it takes for the "heartbeat" to reach the other side for the redundant server to takeover.

Having an Edubuntu Terminal Server running at one school's campus demonstrated how beneficial this was to them for all of the reasons I mention plus many more. This had been operational beginning 4 years ago. This is NOT NEW TECHNOLOGY. BTW

This Terminal Server (Microsoft and Linus) is implemented in such a way as no one user's work on the system either clobbers or infects the work of any of the other users on the system. Both Terminal Server technologies are very good at maintaining this isolation between its users while giving excellent responsiveness on properly configured machines. And, in the Linus world, you don't have to be an Einstein to maintain or support a Terminal Server. In fact, now, you only have to bother with ONLY 1 PC, All others are "dead-simple" client PCs.. In fact, with your PXE, this truly becomes a single PC that is maintained....Only 1 for a whole community wherever a terminal server is deployed.

You will probably say, PXE, already has that. You are right, except for one glaring fact: User DATA, user configuration files, user programs and everything users need on a permanent basis MUST BE TRANSPORTED BACK AND FORTH OVER THE LAN. On a Terminal Server, no such transport occurs...NONE!!! And, you don't ever have to fix anything on their behalfs. All user assistance and support is on the TS.

Remember 2 things I am expressing to you, here. I agree with your observations in your post, and I explain "Why" everyone would benefit from a Terminal Server....Simplicity!

One last thing which is VERY, VERy, VEry, Very, very important!. There are RDP app-lets for iPhone, i-Pad, and Android that many people are using to connect to their TS. I have been to trade shows and was surprised to find that sales people are accessing applications on their company's TS....so, this is not just used by administrators or support personnel for remotely accessing the TSs. This is useful to everyone, yet they don't have to be at THEIR PC to access their desktop or applications or media or ... Just get to an internet connected device, open a browser, and login. Never installing any program or OS. How's that for a home/office system..

Edited: mistyped statement.

Hope this helps.
Last edited by gcmartin on Thu 31 Mar 2011, 00:06, edited 1 time in total.

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#7 Post by Aitch »

gcmartin

Great piece....my suggestion, is to PM Pizzasgood and Raffy, with links to this [and other relevant threads], maybe?

Aitch :)

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#8 Post by Pizzasgood »

I don't have any experience setting up anything as extensive as what you want. My only experience with remote servers is ssh, ssh with X forwarding, and VNC, and of course none of those are what you are looking for.

As far as setting up multiuser in Puppy goes, it's pretty quick and easy to do a poor job at it. Doing a good job takes a good bit longer. I wrote up a rough guide, which was linked above. The specific step by step instructions and provided files would no longer be perfectly valid in Puppy 5.x, but it should still be enough that somebody who knows what he's doing could track down most if not all of the items that need changing and probably do a better job of it than I did. (No, I have no interest in doing this myself.)

To be honest though, I don't see much point in using Puppy to do this other than for the "because I can!" factor. Puppy is designed to be a portable single user desktop OS for people who don't know much about Linux, and does a pretty good job of it. A centralized terminal server doesn't need to be portable or small though, and does need proper multiuser support and of course whatever infrastructure is required to let the thin clients connect. So the way I see it, if you want to run a terminal server you'd probably save time and effort by getting a distro designed to be used as a terminal server and then customizing that to provide the desktop experience you desire.

Plus, that way you can benefit from having a system where somebody who (theoretically) knows what they're doing much better than you do has already set up all the tricky bits that could have nasty security implications if done wrongly. I don't know about you, but personally I'd rather take risks on getting the UI nice and likeable than take risks on the multiuser and networking configurations. Plus, it just seems like adjusting the UI would be the easier of the tasks.

But that's just me. And I'm not saying it wouldn't be cool - it's the kind of thing I'd be interested in doing if I were still involved with Puppy. (Nothing against Puppy mind you, but I have other interests that also need pursuing,)
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
dejan555
Posts: 2798
Joined: Sun 30 Nov 2008, 11:57
Location: Montenegro
Contact:

#9 Post by dejan555 »

If it runs on Linux why not on puppy as well.
I came across this project http://www.ltsp.org/
but haven't tried it.
Seems to me that this is closest to real terminal server. VNC is different kind of protocol it shares active screen among multiple users but users can't log on individual sessions AFAIK.
puppy.b0x.me stuff mirrored [url=https://drive.google.com/open?id=0B_Mb589v0iCXNnhSZWRwd3R2UWs]HERE[/url] or [url=http://archive.org/details/Puppy_Linux_puppy.b0x.me_mirror]HERE[/url]

gcmartin

a free Terminal Server

#10 Post by gcmartin »

Again for those who have never seen or used a Terminal Server.
Go here to see it. Sign up and run a WebLive session for yourself.
Its free and your ideas will not be 2nd hand.

Please share your experience and whether you feel the Puppy community would benefit.

Thanks
P.S. This is NOT a product. This is an open-source Linux technology.

User avatar
ASRI éducation
Posts: 3197
Joined: Sat 09 May 2009, 12:10
Location: France
Contact:

#11 Post by ASRI éducation »

I agree with gcmartin, but I have no solution to propose.

What is possible:
If we can develop a version of Puppy Linux server, we can associate a lightweight version designed for workstations (these positions are then used to activate some basic functions and connect to the server via an ethernet connection).
The pUPnGO - 6Mb ISO would be perfect to serve as the basis for iso 'Puppy client '.

User avatar
moogsydodong
Posts: 81
Joined: Mon 16 Mar 2009, 10:35
Location: Tagum City, Davao del Norte, Mindanao, Philippines

#12 Post by moogsydodong »

hi gcmartin...

this is really a good idea and I've been thinking about this for a while now...
Terminal Servers are cool and would really be beneficial for puppy community...

imagine if this is finalized and goes operational we can use one BIGPuppyfied Server Computer and multiple smallPuppyfied client Computers smells like a dream...

also if we can afford in the future we can set up something like your link Edubuntu Weblive to give people a taste of puppy without them installing it...
------------------------------------------------------------------------------------

now this seems to be sounding like a "reinventing the wheel" type of idea...but IMHO if its puppy its a better idea...

the problem is there's a lot of work needed to do this...in fact so much work that I'm not sure if its worth doing...anyways this is something that I would really want to see Operational...
------------------------------------------------------------------------------------

if you will start this...

I think the first part the needs to be done for this to be at least Probable is a full multi-user implementation of puppy...
a big challenge as stated by Pizzasgood...we can start by going down that road...and the rest will follow...



just my thought....been away for almost a year but I'm back and I want action...^_^
...SHUT UP AND LISTEN!!!...In a battle there is only ONE COMMANDER!!!

User avatar
Ray MK
Posts: 774
Joined: Tue 05 Feb 2008, 09:10
Location: UK

#13 Post by Ray MK »

Hi

Can we learn anything by looking at what was done in Grafpup.

That was a series 2.xx puppy with a full multi-user implementation.

Very nice it was too.

HTH - very best regards - Ray

gcmartin

Cleint connects to a Terminal Server

#14 Post by gcmartin »

ASRI éducation wrote:I... The pUPnGO - 6Mb ISO would be perfect to serve as the basis for iso 'Puppy client '.
I think the lightweight versions for a client are very easy (depending on the connection protocol used).For example, in the past, I have used the PXES clients on non-Windows PCs to connect to MS Servers/XP/Vista/System7 (because no local license fees apply) to get a desktop running on those PCs.
moogsydodong wrote: ... the problem is there's a lot of work needed to do this...in fact so much work that I'm not sure if its worth doing...anyways this is something that I would really want to see Operational...
Maybe not much work as anyone might think. I think there are 3 approaches to this effort.
  • Quick
  • @BarryK's approach is a "single-user", root, workstation approach with another user, "spot", for alternate-occasional use. We could simply build a 2 user TS. May be a good place to start
    Investigation, but quick
  • @TazOC has built-in provisions and tools to add users to his implementation of Puppy (LIghtHouse). We could build on this for another TS implementation. Might be a better place to start
    Much, much planning to do it right the first-time
  • Over the past several years there have been many calls for a Puppy which embraces what most modern day Linux distro use; namely multi-user workstation and server distros. Puppy could first be architected to put that functionality back in with the ULTIMATE driver in the plan of a TS.
Remember this for all of us as we go forward. MULTIMEDIA!!! We should NOT make the same mistake VNC made by producing a product that did not plan for this. The holy grail is when a user logs onto his TS, opens a browser on his TS desktop, and plays a YouTube with FULL Multimedia experience.....like my MS TS service lets its users do. Proper planning with the TS as the end/goal is required for this to complete successfully.

Hopes this helps
Last edited by gcmartin on Thu 07 Apr 2011, 20:43, edited 1 time in total.

User avatar
ASRI éducation
Posts: 3197
Joined: Sat 09 May 2009, 12:10
Location: France
Contact:

Re: Cleint connects to a Terminal Server

#15 Post by ASRI éducation »

gcmartin wrote:MULTIMEDIA!!! We should NOT make the same mistake VNC made by producing a product that did not plan for this.
You're right.

User avatar
Ted Dog
Posts: 3965
Joined: Wed 14 Sep 2005, 02:35
Location: Heart of Texas

#16 Post by Ted Dog »

We got this to work years ago in puppylinux, its in the Xorg.config starting command to lock it down to single machine, remove that lock and terminal service is already in play. Need to find a client. and the thread.
I think pizzagood and the other wizard of networking figured it out.
I was using that method local network with puppy as server and client but do not long recall how.

User avatar
Ted Dog
Posts: 3965
Joined: Wed 14 Sep 2005, 02:35
Location: Heart of Texas

#17 Post by Ted Dog »

http://www.xfree86.org/current/xinit.1.html
describes command line settings
the xwin script calls the xinit command.

sebus
Posts: 67
Joined: Fri 20 Jan 2012, 20:57

#18 Post by sebus »

And not a single addition for over 6 months?

Nobody serious?

sebus

gcmartin

#19 Post by gcmartin »

sebus wrote:And not a single addition for over 6 months?
Nobody serious?
I think there are few problems with Terminal Server in Puppy Linux.
  • Some probably feel that ssh is an answer because that's the closest any have felt to a Terminal Server.
  • The REBULARs are always testing differing implementations and are, therefore, only running the "Test" platform(s).
  • And some don't really know what a Terminal server really is and how beneficial it can be in providing a system for LAN access
  • Finally, those who are familiar with TS see little need to endeavor into it because of Puppy's current design (around a single user)..
Thus, as you can see, understanding and approach is missing.

I don't think there is a technological hurdle; more of understanding for the many. Excepting those of us from a Microsoft Business Background, really havnig a chance to appreciate the power of making any TX available in small settings is what's missing. I have run a MS TS on a local LAN for overy 11 years. It works and MS made it so simple to implememt..

I've often thought that XRDP is one simple solution where this Linux community could benefit from its power. It has shown benefits in other mainstream distro.

2012, and the fast maturity of Puppy might spring this back into limelight.

Hope this helps
Hope this helps

Volhout
Posts: 547
Joined: Sun 28 Dec 2008, 08:41

The last iso you burned ....

#20 Post by Volhout »

If we could make this work, you would only need 1 client puppy version. The last you ever burned, working on your target HW at home.

All new puppies would never needed to be debugged on your target machine at home, but only for compliance to the TS protocol. Save a hell of a lot of testing.....

But you would need an internet(or network) connection to do anything usefull.

The problem with Puppy is that from the start it has been developed in a different direction (single user, one app for everything). This is contraverse. You would be better of starting with a multi user distro for the server. Maybe a thin puppy for the client.

GCmatin: I do see your point, but it is not very far off from Cloud computing. And that is slowly comming in the PC society, and fast in the Android / Smartphone / Tablet world.

Have you ever tried JolyCloud (the Joli-OS is a Ubuntu variant, but JoliCloud itself is a browser app for Firefox and Chrome). There is also a Cloud-Puppy (haven't tried it yet).

P.S. did you ever finish the Opera BrowserLinux ?

Post Reply