Table of Contents

Thinstation

:!: Unfinished

DHCP Server

Netboot

next-server                 192.168.0.1;
filename                    "thinstation.nbi.zpxe";

PXE

next-server                 192.168.0.1;
filename                    "pxelinux.0";

Subnet Range Declaration (needed only for bootp?)

range dynamic-bootp 10.0.0.200 10.0.0.220;

TFTP Server

Needs to be installed… I created a Debian Linux pc workstation downloaded thinstation 2.2 edited the build.conf file to include the drivers I needed for my pc's (had to use some trial and error) edited build.conf to include LPRNG - it's already part of the download - do NOT include LPR - having both did not work used a terminal window to navigate to my thinstation folder then typed ./build copied the thinstation.nbi file to the tftp server.

syslinux

tftp-server (usually uses xinetd)

cp /usr/lib/syslinux/pxelinux.0 /tftpboot
cp /usr/lib/syslinux/memdisk /tftpboot

mkdir /tftpboot/pxelinux.cfg

PXE

Use recent version of syslinux if you have problems with menus.

http://syslinux.zytor.com/wiki/index.php/PXELINUX

Config File Search Order

  1. Per Machine
    • lower case hexadecimal with dash separators
    • 01-macaddress (01-00-11-22-aa-bb-cc)
  2. Per IP Address
    • upper case hexadecimal
    • 192.0.2.91 → C000025B

You can use the program gethostip to compute the hexadecimal IP address for any host.

If that file is not found, it will remove one hex digit and try again.

Ultimately, it will try looking for a file named “default” (in lower case).

pxelinux.cfg/01-88-99-aa-bb-cc-dd
pxelinux.cfg/C000025B
pxelinux.cfg/C000025
pxelinux.cfg/C00002
pxelinux.cfg/C0000
pxelinux.cfg/C000
pxelinux.cfg/C00
pxelinux.cfg/C0
pxelinux.cfg/C
pxelinux.cfg/default
vim /tftpboot/pxelinux.cfg/default
rpm -Uvh ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el4/en/x86_64/RPMS.dries/perl-Crypt-PasswdMD5-1.3-1.2.el4.rf.noarch.rpm

rpm -Uvh ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el4/en/i386/dag/RPMS/syslinux-3.62-1.el4.rf.i386.rpm

Printer

http://thinstation.sourceforge.net/wiki/index.php/ThHowto-rdpprinter

The object was to have a group of pc's in one room to be connected to Windows server 2003, to have one printer in the room connected to one pc via parallel cable, to have all users of those machines to be able to print to that printer only.

  1. I created a Debian Linux pc workstation
  2. downloaded thinstation 2.2
  3. edited the build.conf file to include the drivers I needed for my pc's (had to use some trial and error)
  4. edited build.conf to include LPRNG - it's already part of the download - do NOT include LPR - having both did not work
  5. used a terminal window to navigate to my thinstation folder then typed
  6. ./build
  7. copied the thinstation.nbi file to the tftp server.

I then created a hosts file and conf files to have the PCs have the right printer setup. For the group:

SESSION_0_RDESKTOP_OPTIONS="-r printer:ls='KYOCERA MITA FS-1000+' -u '' -r sound:local -a 16 "
PRINTER_0_NAME="ls"
PRINTER_0_DEVICE=10.241.27.138%9100
PRINTER_0_TYPE=N

where 10.241.27.138 is the reserved IP address of the pc with the printer.

I'm fairly sure that the Epson printer isn't a network printer, but connected to the Thinstation with a normal parallel cable, right? And that 192.168.2.13 is the IP number of the Thinstation computer?

If this is true, PRINTER_0 should look like this:

PRINTER_0_NAME="Epson LQ 570C+"
PRINTER_0_DEVICE=/dev/printers/0
PRINTER_0_TYPE=P

If you only want to have a local thinstation.conf file, add the following to your thinstation.conf.buildtime file:

NET_FILE_ENABLED=Off

this will stop TS for looking for a tftp server

It's a good idea to tell TS where to look for the local storage with

STORAGE_PATH=/mnt/disc/sda/part1

this will store profile settings etc. there as well.

You then need to create a directory thinstation.profile on your sda1 (/mnt/disc/sda/part1/thinstation.profile) and create a local config thinstation.conf.user in that partition. These are the default names and can be tweaked in the settings, but the standard should do you.

Now, if you want to do away with dhcp, there are a whole other set of parameters in your thinstation.conf.buildtime (NET_)….

can I force the rdesktop domain to be SX, not the local machine which keeps coming up?

SESSION_1_RDESKTOP_OPTIONS=" -d SX "

and can I get rid of the rdesktop username appearing as root? I just dont seem to be able to find any comprehensive doco on this.

SESSION_1_RDESKTOP_OPTIONS=" -u ' "

(two single quotes after -u)

close ffox, then

e3vi /mnt/disc/sda/part1/thinstation.profile/.mozilla/firefox/TS.default/prefs.js

change the homepage.

Include package e3 (e3vi is vi, e3pi is pico).

Even more important: e3ws is WordStar AKA the Turbo Pascal/Turbo C editor!

can I force the rdesktop domain to be SX, not the local machine
which keeps coming up?
SESSION_1_RDESKTOP_OPTIONS=“ -d SX ”

The -d switch is used for authentication, not the server to connect to. Go into icewm, start a terminal (rxvt) and try the various options eg. rdesktop -d SX -u “ ” <ip to server>

and can I get rid of the rdesktop username appearing as root? I just
dont seem to be able to find any
comprehensive doco on this.
SESSION_1_RDESKTOP_OPTIONS=“ -u ' ”
(two single quotes after -u)

I just use <single quote> -u <double-quote><space><double-quote><single-quote> note the <space>…. :-)

close ffox, then
e3vi
/mnt/disc/sda/part1/thinstation.profile/.mozilla/firefox/TS.default/prefs.js
change the homepage.

You are using Thinstation-2.2.2… SESSION_x_FIREFOX_HOMEPAGE should work (so long as you haven't already created a /mnt/disc/sda/part1/thinstation.profile/.mozilla/firefox/TS.default/prefs.js.

Changing your local prefs.js will work (but means that you have to maintain it on each WS).

all thats left is to hide F1, F2, F3 screens.. but thats not a
showstopper for me.

If you have an autostart into icewm or any other X application, you can set the X DontZap & X DontVTSwitch options (which stop ctrl+altfn & ctrl+alt+backspace).

Can't remember if this is a modified packages/x-common/etc/init.d/x script (as a contrib on sf) or if it made it into 2.2.2. If it made it,they are called X_SERVERFLAGS_OPTION1=“DontZap On” X_SERVERFLAGS_OPTION2=“DontVTSwitch On”

Will check when I get home. Trevor B

ICA has two packages… If you want to specifically connect to a server or published application on startup, without the user being presented with a choice, then all you need is the 'ica' package… There are options defined in thinstation.conf[.network, .buildtime, etc.] that tell the ICA client where to go and define the connection parameters.

If you have an environment where the user can select between different ICA servers, or a list of published applications the user can access, then I think you need both 'ica' and 'ica_wfc'. The ica_wfc package is equivalent to Citrix Program Neighborhood on Windows clients, and you can define connections to servers and published apps in there.

    I've personally never used the ica_wfc package before - We just

publish the user desktop as an application and go from there. I'm sure there are other list members who can give you more insight as to the ica_wfc package though. :)

Sound

Perhaps sounds a bit daft but have you ensured that your server is running the remote desktop audio driver. If you go to control panel → sounds and audio devices, the default tab should show that it's using the

      Microsoft RDP Audio Driver

You should connect though a terminal services session to check this (thinstation is fine) otherwise it would possibly just show nothing like it does in our case as we don't have any sound cards in our TS servers.

If it shows as having no driver used then I'd imagine that's your problem.

I'm not sure I like you include both nasd and eds (both are sound servers). Try only one. “Which one?” you ask next :-) I investigated this myself a long time ago, and the best answer I found was “Try one. If it doen't work, use the other one!” (it's no joke!). With VIA hardware, I always use nasd.

thinstation.conf.xxx

AUDIO_LEVEL=67
KEYBOARD_MAP=en_us
TIME_ZONE="UTC-5:00"
SYSLOG_SERVER=local
USB_ENABLED=On
DAILY_REBOOT=On
CUSTOM_CONFIG=Off
RECONNECT_PROMPT=On
SCREEN=0
WORKSPACE=1
AUTOSTART=On
ICONMODE=AUTO
SESSION_0_TITLE="Desktop"
SESSION_0_TYPE=icewm
SESSION_0_ICON=On
SESSION_0_AUTOSTART=On
SESSION_1_TITLE="YouTube.com"
SESSION_1_TYPE=firefox
SESSION_1_FIREFOX_OPTIONS="http://www.youtube.com"
SESSION_1_ICON=On
SESSION_1_AUTOSTART=On
SESSION_2_TITLE="Microsoft Office"
SESSION_2_TYPE=rdesktop
SESSION_2_RDESKTOP_SERVER=10.199.251.100
SESSION_2_RDESKTOP_OPTIONS="-u user -p password -a 24 -z -x l -r sound:local"
SESSION_2_ICON=On
SESSION_2_AUTOSTART=On
SCREEN_RESOLUTION="1024x768"
SCREEN_COLOR_DEPTH="24"
SCREEN_HORIZSYNC="30-64"
SCREEN_VERTREFRESH="56-87"
SCREEN_BLANK_TIME=10
SCREEN_STANDBY_TIME=20
SCREEN_SUSPEND_TIME=30
SCREEN_OFF_TIME=60
MOUSE_RESOLUTION=100
X_COOKIE=36d71ab65c10ef065702c111a3d31593
X_DRIVER_OPTION1="swcursor On"
NET_HOSTNAME=ts_*

The way the SESSION_x_<application>_OPTIONS work is that any following one will overwrite the preceding one, so the only options passed to rdesktop will be -x l

Try 

SESSION_0_RDESKTOP_OPTIONS="-u '' -a 24 -r sound -r disk:CD=/mnt/cdrom,USB=/mnt/usbdevice -x l"

Modeline

Use xvidtune to tweak modelines.

# 1680x1050 @ 60 Hz (X Server) HSync: 65.2216 kHz
ModeLine "1680x1050" 147.14 1680 1784 1968 2256 1050 1051 1054 1087 +HSync +VSync

#Asus WV192T+ Monitor
X_MONITOR_MODELINE='"1680x1050" 147.14 1680 1784 1968 2256  1050 1051 1054 1087 +HSync +VSync'

#Asus WV192T+ Monitor - this modeline worked best for OpenThinClient
X_MONITOR_MODELINE='"1680x1050" 147.14 1680 1796 1980 2252  1050 1055 1058 1091 +HSync +VSync'