How to Build a Linux Terminal Server Client

PC TSC 2.08 0. Prerequisites: At least 128M RAM Video card Single hard drive. Just one, SATA or PATA. If it's PATA, set it at primary master. This hard drive will be wiped completely!!! Wired NIC, connected to a working LAN USB or PS/2 mouse USB or PS/2 keyboard One terminal server capable of hosting RDP or VNC 1. Required install media and connectivity: a) A CD burnt from this ISO, the standard Tiny Core Linux : http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/3.x/release/tinycore_3.3.iso http://pctsc.ponderworthy.org/2.0/tinycore_3.3.iso you can use new distribution from http://distro.ibiblio.org/tinycorelinux/downloads.html b) A working connection to the Internet. For large multiple installations, and to handle metered bandwidth and/or speed issues, a seamless web cache is recommended. 2. Install Tiny Core Linux to your hard drive. a) Boot from the Tiny Core Linux CD. It will ask for F2/F3 bootcode options. Type: tinycore base norestore and press enter. b) Open a command prompt. It's the second icon froom the left in the task bar. c) Get to superuser, pull in the Tiny Core setup script, and run it: sudo su wget http://pctsc.ponderworthy.org/2.0/tc.setup.sh sh tc.setup.sh d) Follow the very few prompts. Unless there are hardware issues, the installation will proceed easily and quickly. e) Boot up from the hard drive. You may need to change your BIOS and/or remove the CD before boot begins again.

If you want to change something or connect remotely to TCbox you must :

  • install joe , type ab, search joe... / or install with GUI, run icon Apps
  • change password on tc and root user
    • open terminal and type 'passwd'
    • for root type 'sudo passwd'
      • to save passwords you must add in '/opt/.filetool.lst' etc/passwd etc/group etc/shadow etc/gshadow
  • install openssh
    • open terminal and type ab, type openssh...
    • another options is to run icon Apps and install over GUI
      • config files are in /usr/local/etc/ssh
        • type 'cp ssh_config.example ssh_config'
        • type 'cp sshd_config.example sshd_config'
        • to save changes add '/usr/local/etc/ssh' in '/opt/.filetool.lst'
      • to startup at boot add the line '/usr/local/etc/init.d/openssh start' in /opt/bootlocal.sh

3. Setup your TSC. a) Open a command prompt. It's the second icon froom the left in the task bar. b) Get to superuser, pull in the TSC setup script, and run it with appropriate settings: sudo su wget http://pctsc.ponderworthy.org/2.0/pctsc.setup.sh Before you run a script, add a comment in section # We want to keep the standard boot to X. # But we want to prevent Control-C override, # and if the user exits X, we want the local # login prompt.


# Exit shell account if X dies

to prevent console loop, otherwise you can't connect with ssh or to console on F1

sh pctsc.setup.sh [options]

There are a number of options. Only one of the following: --name=tsc_hostname # sets static hostname for this TSC --nameprefix=tsc_hostname_prefix # sets hostname prefix, suffix is auto # good for all multiple TSC setups Any of the following: --server=terminal_server_name # sets destination terminal server --vnc # sets VNC mode (RDP is default) Keyboard support: # if not using default, setting of --linux-keymap=localkeyboard # both is recommended if using RDP --windows-keymap=serverkeyboard --list-linux-keymaps --list-windows-keymaps --list-all-keymaps Resolution: # Default is 1024x768x32 --resolution=WxHxD Or: --test-os # do not replace desktop, for testing That's it! Below is more discussion of the options. The Options --name=tsc_hostname or --nameprefix=tsc_hostname_prefix By default, --nameprefix is set at "TSC". Unless --name is set, the TCP/IP hostname for the TSC is set to the prefix with a random six-digit number afterwards. If --name is set, the hostname for the TSC is set to whatever text is given with --name. --server=terminal_server_name The default is "TSERVER". This needs to be set to the name or IP of your terminal server. --linux-keymap=localkeyboard --windows-keymap=serverkeyboard For RDP, unless you are using the default TC keyboard spec, you'll want to set both. Figuring out which you need, can get a bit interesting. To get complete lists, you can use any of these: --list-linux-keymaps --list-windows-keymaps --list-all-keymaps So just for an example, to get the proper keys and characters for the general U.K., we first do the basic tc.setup.sh step, get to command prompt, and try this: sudo su wget http://pctsc.ponderworthy.org/2.0/pctsc.setup.sh sh pctsc.setup.sh --list-linux-keymaps | grep -i uk This will install needed packages, but will not set the system up as a TSC. Instead, it simply prints out the available Linux keymaps, one of which is "uk". As a result, we know that we need "--linux-keymap=uk". But we also need the proper Windows keymap. We don't need to reboot or restart, we just do: sh pctsc.setup.sh --list-windows-keymaps | grep -i uk and come up with nothing useful :-) So then we think about it very carefully, and we try this: sh pctsc.setup.sh --list-windows-keymaps | grep -i en and voila! We see there are two "en" (English) options, en-us and en-gb. And if we then try the full install thusly, it will work: sh pctsc.setup.sh --linux-keymap=uk --windows-keymap=en-gb --server=server_name --resolution=WxHxD Sets screen resolution. The default is 1024x768x32. You can use --test-os to see whether or not a given resolution will work with your hardware, while keeping a working Tiny Core desktop. If your desired resolution does not obtain, try the instructions under "Further Notes About Resolutions", below. --test-os Installs everything, but does not replace the desktop. Good for testing. Further Notes About Resolutions At the current states of development of the various bits we are working with here, resolutions can get interesting. If --resolution does not give you what you want, there are two big things we can try. 1. Explicit mode numbers in Xvesa. a. In the above procedure, stop after step 2 (tc.setup.sh). b. After booting from hard drive, exit to command prompt. Click on the leftmost button in the bar, click on "Exit to Prompt", and click OK. c. Load the framebuffer modes extension, and a text editor: tce-load -wi Xfbdev nano c. Produce a list of available explicit modes with Xvesa: Xvesa -listmodes &> modelist.txt d. Study the list: more modelist.txt e. If the mode you want is there, take note of the hexadecimal number corresponding to it. Let's say we want 1280x1024x24, which in my list is 0x011B. f. Take the hex number, and add 0x200. In this case, that makes 0x031B. g. Convert the hex to decimal. 0x031B == 795 in decimal (base 10). h. Edit /home/tc/.xsession , and change the first line. Take out the -screen option, and replace Xvesa with Xfbdev. Mine looks like: Xfbdev -br -shadow -mouse /dev/input/mice,5 -nolisten tcp -I &> /dev/null

to shutdown PC, connect on console F1 ( ctrl-alt+F1 ) and type sudo poweroff copy/paste from http://pctsc.ponderworthy.org/2.0/ , THX Man