The Thin-Client Challenge?
An Anonymous Coward asks: "A friend of mine showed me this webpage which basically asks this question and offers a challenge to create a UNIX-ish Thin Client that can connect to a Windows terminal server. He really is serious, and has attempted this on his own before. Any hope out there in the Linux world for a small, easy to deploy thin-client only distro?" This is not the first time this question has come thru the pipe before, however I figure if someone can answer this challenge, all will benefit. Does anyone think this can be done? If so, speak up, if not, please give reasons as to why.
Shouldn't be to hard to make. I was fairly certain someone had a two floppy X11 distro. There is a base, just add in rdesktop and your done.
L.J. Hanson
To start, look at the files in this minimal distribution that runs X:
2-Disk Xwindow Linux
Look at other minimal distributions including the various floppy linuxes and bigger ones like Peanut Linux. Ibiblio's list of distributions is probably the place to start. Look at some of those distributions that come on busincard sized CDs.
So pick one of these that seems configurable and set up a machine with the hardware you have in mind and install it (or boot from the floppies) and start adding to it. First do X, then your rdesktop client, whatever that is. Here's a hint: don't worry about removing compilers, unused libs, etc until you are done. Even then, keep several CDs of the "development edition" around, because you may need all that stuff to add more things in the future.
To get your automatic boot up and start of the client and etc, look at how Mandrake does the automatic log in thing, and simply put all the commands you want to be run in your .xinitrc file, and then have the window manager be the last command. Look at man xinit for details.
The final step would be to trim it down and set it up. My approach here would be to make it a bootable CD like Finnix. In fact, what I would do is start with Finnix, add X and the other stuff, and if I still had space on the CD, stop. Free space on a read-only medium is useless, you might as well put every single thing you think you might need on there until you fill it up.
Some modifications I would make to Finnix would be putting all of the /etc directory in the ram disk, so you could re-configure things on the fly, and if your machine did have a local harddrive, maybe you could use that for swap. Running off a CD means that the user can just turn off the machine when done -- there is no disk to fsck, everytime it starts up it thinks it is the first time, so to speak. I've been playing with modifying finnix, I copied the cd to disk and modified some stuff, and got busy and never burned my new copy to see if it would boot.
But in the long run, you have to realize that you are not going to get someone to do this for you for $150. You might try out DemoLinux and see if it already meets your needs as is -- I would expect that you would need to add that rdesktop thing. You have to either pony up the money, or do it yourself.
Inspite of what some Zealot Hypesters may have told you about Linux being as easy to use as the interface to a coke machine or whatever, you have to come to the realization that Linux is about Freedom. It will always be easier not to be free. Worrying about "is linux ready to meet this bulletized list of requirements" is like worrying whether you might have to walk around a lot and get rained on sometimes and have to get a job if they let you out of prison. If you have any self-respect, it doesn't matter: a free system is the only choice. This means that you have to either put up with not being able to do what you want with computers, or bite the bullet and spend some of your own personal time reading and learning how to install things and configure stuff. Just like you spend your personal time reading the newspaper and going to vote.
If I sound like a dirty gnu hippie Stallman-worshipping fanatic, it's because I am, and I'm proud of it.
Runs on a commodity Pentium-class or higher (assume approximately ~166 MHz or higher) x86 hardware, 32 MB of RAM, preferably within 16 MB of RAM.
.xinitrc or .xsession (I can never remember which is which) put:
/terminal/cursor.xpm /terminal/mask.xpm
.rdplasthost file
.rdplasthost`
:)
.rdplasthost
.rdplasthost
.rdplasthost
Sounds reasionable. Use Keith Ps TinyX X server, which is used on Microwindows any many oother embedded Linux systems.
Is very barebones - I do not need a full distro. Under ~128 MB in size would be great.
My work does embedded Linux consumer devices for Large Unnamed Japanese Electronics Company. 128MB is doable.
Pico or VIM is okay for a default editor.
They're unecessary too. Obviously the end user won't modify text files. Keep the whole development on a seperate OC and cross compile - this keeps the shit off the small box and means you can compile things faster.
Requires no user intervention to boot, get a DHCP lease, load X-Windows, start the rdesktop client, and connect to a machine with the DNS name of "termserver" or other similiar handy name.
Cool. Autologin to X by a particular user is supported by most display managers. Then in whatever users
START
#!/bin/bash
# Change the background color and cursor
xsetroot -solid rgb:39/6d/a4 -cursor
# Set the variable lasthost to the content of the
lasthost=`cat
# Set the variable host to the stdout of Xdialog
host=`Xdialog --stdout --icon rdesktop.xpm --no-cancel --ok-label "Connect" --inputbox "" 400x200 $lasthost`
# If we can ping the host, continue. If not, fuck off
# Seems good. Lets remember it for next time.
rm -rf
touch
echo $host >>
# Run an rdesktop session on the host
rdesktop -g 1152x864 -f $host
END
Provides a clean, friendly method of powering off the machine without causing data corruption on the file-system level (ie, after disconnected, will prompt for re-connection or shutdown).
Have the button on the front force a shutdown. This is easy with most embedded hardware. You'd also use a journalling filesystem.
Supports at least three commodity network cards
Linux can do that if you want, but I don't think you want that. Buy an untra tiny embedded box from Advantech that fits in the back on an PCD display. This way the hardware is a `known quantity' and problems are a lot easier to troubleshoot - less variables equals less things to go wrong, which is important to anyone making embedded boxes. How often do you change the hardware on your NCD thinterm RDP terminals? That's right - not very often.
Supports a VESA standard SVGA video card, with X-Windows running in 800x600 @ 8 bit color (256 colours). The Windows 2000 Terminal Server will not support anything higher than 256 colours so its not needed to support high/true color modes.
Cool. But fuck 800 x 600. Give them 1024 LCDs. You know you want to, and you'll sell more boxes.
Hides all boot messages from the kernel etc, and instead replaces them with a friendly "Please Wait" message.
Linux Progress Patch will do exactly that.
Is distributed to me in the form of a ghost-compatible image that when restored to disk is ready to run as described above.
Ghost is a waste of money unless your doing multicast installs. For the rest of us, PartImage will perform the same function more reliably with
far less expense.
Testing under VMware shouldn't be a problem, but again, I'd test on the actual device.
Everything I've mentioned is BSD / GPL license compatible (including PartImage).
This is amusing, it appears he is going to pay $150 for someone else to do his job for him.
.bomb) to connect to a test machine I whipped up running Win2k AS. You can also use it's built in VNC client to connect to any VNC server (xwindows is pretty nifty on VNC) or remote X display. and it even comes with enough software to run on its own if nessary...needs more ram than default though.
However, my $0.02 into the conversation is: Jailbait and of course rdesktop. I have said equipment running on my iopener (another legacy from the
Anyway, that's my $0.02
Comment removed based on user account deletion
Comment removed based on user account deletion
I find it ever harder to believe that you goto school full time, run all these services by your self, and still don't have a clue about unix. If you know this little about Unix you shouldn't be advertising a hosting service. I noticed you offer unix shells as well, what business do you have offering shell services without knowing 2 bits about Unix? Also, if you have all this time to develop "scWeb" why can't you get some books and do this project yourself. I noticed this projectg went from version 1.0 to 3.0 in less than 2 months.
Dan, the guy in question, is a close friend of mine. He works for a consulting company full time, 9-5. He then goes to school from 6-10 at night, taking 18 credits. He's one of the most efficient programmers I know, and is, in my opinion, a gifted site designer. His program went from v1.0 to v3.0 in 2 months because he goes on coding binges that sometimes last days.
The unix shells he offers are on my boxes. Dan is an excellent Windows admin but he isn't comfortable about his skills with Unix. Rather than simply not sell a valuable service, he contracted it out to me. Sounds like good business sense if you ask me, but then again I'm making money on the deal so what do I know?
fliplap, reading a couple things on Dan's website and then thinking you can draw all sorts of conclusions about him as a techie or as a person is simply irresponsible.
Intercarve Networks, LLC