WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Tiny Core Thin CLient  (Read 15937 times)

Offline andrew_d_mackenzie

  • Newbie
  • *
  • Posts: 4
Tiny Core Thin CLient
« on: March 04, 2009, 03:40:43 PM »
I run a non-profit organization (Autelic) that runs projects to advance technology solutions for novices and the elderly.

I am looking for a starting point to build a Linux-based "Web thin client".
I've been very impressed by TinyCore and wanted to ask about using it as the basis for a "thin client" that would:
- boot directly into a browser in full-screen mode (IceWeasel? Don't know if Opera has a full-screen mode?)
  - probably want Flash (pending more investigations)
- no window manager
- no pop-up windows or dialogs or tabs - just one main window
- connect to a pre-determined URL where a web-app would reside

It's great that it's got SSH server for remote admin, and I'd like to add x11vnc for remote screen sharing.
I'd like to investigate adding ActiveID USB-key login (or similar), but that's another story...

Questions:
- do the Tiny Core creators mind or encourage me?
- has anything similar been done already on TinyCore?
- I'm assuming this is "off topic" for the Tiny Core team and they don't want to sponsor/host such a project?
   - hence that means taking a copy and creating a new project, not a branch or sub-project
- anyone out there interested in helping?  (reply here or e-mail info@autelic.org)

Thanks in advance

Andrew
Founder and President
Autelic Association (http://www.autelic.org)

Offline roberts

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 7361
  • Founder Emeritus
Re: Tiny Core Thin CLient
« Reply #1 on: March 04, 2009, 10:30:56 PM »
Everything in Tiny Core is GPL and all sources are posted for immediate download.
So as long as the GPL is honored I have no issue with your proposed project.
Your project sounds very worthy. Just know that the latest flash requires gtk2 which can be quite large
With Tiny Core you can try out some of our various install modes and see if your target hardware is a good fit.
10+ Years Contributing to Linux Open Source Projects.

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: Tiny Core Thin CLient
« Reply #2 on: March 04, 2009, 11:02:36 PM »
If I may add, here are a couple of configuration tips you may want to try.  First, add this line to /opt/bootlocal.sh to enable the ssh server on boot:

/etc/init.d/dropbear start

Then edit the /home/tc/.xsession file to read as this to load no window manager and open Opera to a specific page:

Code: [Select]
Xvesa -br -mouse /dev/psaux,5 -screen 800x600x16 -shadow -nolisten tcp -I 2>&1 >/dev/null &
exec opera --fullscreen http://www.google.com

I am not fimiliar with x11vnc, or how to obtain permission for Flash redistribution, but maybe these two simple tips can be a start anyway.  Opera gives a black screen when hitting F11 when in fullscreen mode without a window manager but returns when hitting F11 again.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11049
Re: Tiny Core Thin CLient
« Reply #3 on: March 05, 2009, 11:25:35 AM »
Some technical points:

- Opera does have a kiosk mode too, in addition to a full-screen mode; you can stop the user from doing certain things
- You most likely do want a window manager, because without one you'll have various issues starting from focus issues and pop-up menus. They can be completely hidden and only left to manage windows, either by configuring one like Jwm or by using a minimalistic one in the first place

Finally, if you'd like to have the possibility to update to a further release of TC, I'd recommend creating all your modifications as a tarball. It might not be possible to have it as a TC extension, since it will likely modify some system and/or user files, but a tarball is fine. It's then very easy to offer an iso that is based on the latest TC and has all your modifications included.
The only barriers that can stop you are the ones you create yourself.

Offline andrew_d_mackenzie

  • Newbie
  • *
  • Posts: 4
Re: Tiny Core Thin CLient
« Reply #4 on: March 05, 2009, 05:20:24 PM »
Thanks for the encouragement and suggestions.

I'll try and round-up some volunteers who know more about these subjects to try and help me put together a first prototype (probably without flash, from the sounds of it).

If anyone reading this wants to volunteer to help out in any way, then just e-mail us at info@autelic.org

thanks again

Andrew

Offline andrew_d_mackenzie

  • Newbie
  • *
  • Posts: 4
Re: Tiny Core Thin CLient
« Reply #5 on: March 06, 2009, 06:51:22 PM »
I hope I'm doing the right thing keeping this thread going here. If not, and I should move the discussion somewhere else, then please let me know.

I've done a bit of experimenting, using the remastering instructions published on the web and the earlier posts and things work pretty well. Kiosk mode works well and no messing with plug-ins. Thanks for the tip!

Some notes/questions

- When I added opera, the size of the initrd went from 9M to 17M. Oh well, I guess that's still pretty small...any recomended diets for opera are always welcome.

- any way to avoid the license agreement dialog on opera start-up each time?

- I'm using isolinux boot loader and I throw up a simple image (.rle) while things start loading.
I specify "silent" for kernel line and "quiet" for initrd line.
TinyCore boots so fast I don't think I need to do any other image at a later stage, such as using splashy or usplash.
So my question is:
    - is there any way to avoid the console echo/print output such as the ones for loading kernel, loading initrd,
    - can I avoid the clear screen and then the print output such as decompressing kernel, and a couple I see from ide init and X?

I tried appending "console=ttyX" (X>1) to boot line but no change
I'd rather just have that simple bitmap for a few seconds, and then boom....the desktop (or browser in my case)....

Thanks again.

Andrew

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: Tiny Core Thin CLient
« Reply #6 on: March 06, 2009, 07:11:35 PM »
You can avoid the license popup with Opera if you open copy the ~/.opera directory from a session where you opened Opera once and checked the license to the /etc/skel of the remaster.  I am away from TC (and Linux) now and don't remember any of the other stuff.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11049
Re: Tiny Core Thin CLient
« Reply #7 on: March 07, 2009, 07:14:30 AM »
The echo statements can be commented pretty easily in tc-config and tc-restore.sh. For the output of isolinux, ie "loading kernel... loading initrd", I'm not sure they can be disabled.

The extension fb-utils has tools to show images and animations on the framebuffer. Nothing's automated, but they could be used along with an added bootcode such as "vga=791" (1024x768 16 bit) to provide a nice-looking boot.
The only barriers that can stop you are the ones you create yourself.

Offline danielibarnes

  • Hero Member
  • *****
  • Posts: 548
Re: Tiny Core Thin CLient
« Reply #8 on: March 09, 2009, 05:04:57 PM »
It's a bit of shameless self-promotion, but my remaster script at http://forum.tinycorelinux.net/index.php?topic=677.0 may help you build your custom ISO.

To avoid text output, use the "console 0" option in isolinux: http://syslinux.zytor.com/wiki/index.php/SYSLINUX#CONSOLE_flag_val in combination with the "console=ttyS0 vga=0x314" boot parameters. The only text you will see is the ISOLINUX copyright line. You will see the "Tiny Core" boot logo briefly before X starts. If you want less than that, you'll need to rebuild the kernel to disable the boot logo. This isn't isn't as bad as it sounds.

Attached is an example project ("noconsole") using my script as described in above post. It does three things:
1) Custom isolinux.cfg to add "console 0" option and "ssh console=ttyS0 vga=0x314" boot options
2) Custom root filesystem to redirect jwm output to /dev/null and suppress motd display on login
3) Recompile kernel to remove boot logo

Absolutely nothing is displayed after the ISOLINUX copyright message until the X desktop.

Removing support for hardware you know you won't need will help reduce the kernel size.

Daniel

Offline mikshaw

  • Sr. Member
  • ****
  • Posts: 368
Re: Tiny Core Thin CLient
« Reply #9 on: March 10, 2009, 07:17:00 AM »
Quote
- any way to avoid the license agreement dialog on opera start-up each time?
The best way I can think of is to use a different browser.  Opera is not free software, and while it is not as restrictive as some, there is a potential for unwanted baggage when you begin redistributing any non-free software.

I'm not saying Opera is bad.  Just sayin'.

Offline andrew_d_mackenzie

  • Newbie
  • *
  • Posts: 4
Re: Tiny Core Thin CLient
« Reply #10 on: March 15, 2009, 01:36:22 PM »
Thanks for the tips folks, I proceed with experiments more or less along the lines of your suggestions.

I´d appreciate more info and advice on the browser question.

- issues having an open source project for this where Opera is the browser (built into an ISO I´d propose)

- alternatives that avoid the issue with opera.

Thanks

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14849
Re: Tiny Core Thin CLient
« Reply #11 on: March 15, 2009, 01:43:38 PM »
You could use firefox instead - the extension is called minefield

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: Tiny Core Thin CLient
« Reply #12 on: March 15, 2009, 02:46:02 PM »
I also like Seamonkey, but like Firefox/Minefield it requires gtk2.   Even it's official build is responsive and feels fairly light on my old machines.

Offline beto

  • Newbie
  • *
  • Posts: 5
Re: Tiny Core Thin CLient
« Reply #13 on: July 29, 2010, 11:09:38 PM »
Thanks for the tips folks, I proceed with experiments more or less along the lines of your suggestions.

I´d appreciate more info and advice on the browser question.

- issues having an open source project for this where Opera is the browser (built into an ISO I´d propose)

- alternatives that avoid the issue with opera.

Thanks

Hi have you made any progress on this? I am developing a project using TC and would like to suppress any console output until X loads, too. Currently experimenting with splashy...
Any feedback about your experience will be greatly appreciated. Thanks!