How to Build a PC Terminal Server Client PC TSC 3.00 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 or wireless NIC A working LAN connected to the Internet 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 MultiCore CD of Tiny Core Linux 3.8.4: http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/3.x/release/multicore_3.8.4.iso http://pctsc.ponderworthy.org/tc/multicore_3.8.4.iso b) A working connection to the Internet. For large multiple installations, 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 Multicore CD. It will ask for F2/F3 bootcode options. Type: tcn And press Enter. Tiny Core will boot. 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/3.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. 3. If needed, configure wireless networking. The icon is the rightmost in the toolbar. 4. 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/3.0/pctsc.setup.sh 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 And don't forget to have fun!!! This, as all things helpful to good, is by and for the King of the Kingdom of God. We live at His mercy. J.E.B.