sexta-feira, 29 de junho de 2007

Usando o ThinStation - Economizando o seu dinheiro


Durante algum tempo andei procurando por soluções para implementar o uso de terminais leves em conjunto com Linux. Iniciei usando o LTSP (Linux Terminal Server Project) mas acabei por esbarrar nas dificuldades de se obter som nos terminais e acesso aos dispositivos locais das estações. No LTSP nem todas as distribuições Linux são compatíveis para o perfeito funcionamento dessas exigências
, o que acaba "prendendo voce" a uma determinada distribuição e respectiva versão do kernel. Continuando a procura encontrei então o ThinStation que preencheu todas as lacunas necessárias para um funcionamento estável, robusto que uma solução desse tipo exige. Além disso , essa solução foi completamente compatível com as máquinas disponíveis em nossa empresa. Nossos terminais são compostos por máquinas com as famigeradas placas PC-CHIPS M810-D sem HD e de antigas máquinas Itautec Transglobe Slim. Vale lembrar que nesse tipo de solução gasta-se com um servidor com processador mais rápido (de preferência Pentium 4 em diante) acrescido de boa quantidade de memória RAM (quantidade essa que varia de acordo com o número de máquinas penduradas no servidor). Em contra-partida os terminais podem ser máquinas modestas (mínimo de 32 MB de memória RAM, processador Pentium 100 Mhz em diante) sem HD ou mesmo drive de disquetes. Com o ThinStation os clientes (terminais leves) podem acessar o servidor usando várias formas de hardware: desde um HD até uma placa de rede com boot remoto, podendo também usar um CD-ROM, chaveiro USB com memória flash ou um drive com disquete gravado para efetuar um boot remoto ao servidor. Tudo fica a seu critério. Além disso, fica muito fácil administrar a rede ou sistema operacional, já que tudo roda no servidor . Atualiza-se um programa no servidor e todos os clientes já compartilham a atualização. Bem fácil e prático não ?. Nada de pagar por licenças, nada de vírus e muita estabilidade do sistema operacional ou seja: ECONOMIA de dinheiro (na aquisição de software e hardware) com a segurança do Linux.

Conforme mostrado a seguir essa solução não é uma coisa trivial de ser feita contudo longe de ser impossível ou dificílima. Deixando o papo de lado vamos ao que interessa. Seguem abaixo os passos necessários para configurar essa implementação.

Passo 1: Até o momento em que isso estava sendo escrito a última versão estável poderia se baixada em:
http://ufpr.dl.sourceforge.net/sourceforge/thinstation/Thinstation-2.2.tar.gz

Passo 2 : Descompacte o arquivo baixado em seu diretório favorito:
tar -zxvf Thinstation-2.2.tar.gz

Passo 3: Após descomptactado será criado o diretório Thinstation-2.2. Vá até o diretório criado para iniciar a edição do arquivo de configuração. O arquivo de configuração é usado para montagem do kernel, que será carregado para as estações remotas e chama-se build.conf. Ele pode ser editado com o seu editor favorito.

Não se assuste com o seu tamanho pois ele tenta abranger uma vasta quantidade de hardware. Voce deverá deixar disponível apenas o hardware que voce possui, e os outros que não serão usados, podem ser apenas comentados através do símbolo cerquilha (#). Para facilitar o entendimento, só deixei no exemplo seguinte o que foi necessário para a nossa empresa em virtude do hardware disponível aqui. O que voce deve saber é: qual o hardware encontrado nas máquinas que funcionarão como terminais (isso implica em saber placa de rede, placa de som, placa de vídeo,saidas seriais,usb,floppy,cd,teclados....) e deixá-los habilitados.

################################################
### --- Thinstation Build Config --- ###
################################################
#
#
# This is Thinstation's basic setup file. In this file you decide which
# hardware, programs and features to be included in the Thinstation
# boot image generated by running "./build".
#
# You can customize/limit the possibilities in the thinstation.conf
# files later.
#
# Anything after a "#" is a comment. You activate "things" by removing
# the "#" and remove "things" by putting a "#" in front of them.
#
# First we define which modules to include. Modules are hardware
# drivers. NEVER include more than necessary - the more modules, the
# longer boot time.

################################################
### --- Modules to include in boot image --- ###
################################################

# Any modules may be added as "module" or "module_pkg".
# If defined as a "module", the driver is included in the boot image.
# If defined as a "module_pkg", the driver is added from outside the
# image, such as from a tftp server. See note below for more details.
#
# Normally you should use "module". Only use "module_pkg" if you want
# to dynamically load modules.

# Note: If you create a module_pkg network driver, and decide to load it
# from a tftp server, it won't work. This is because the image
# won't have a network driver to get the module_pkg in the first
# place.

#!Hardware
#!!System
#!!!Bus Modules
module serial # Serial Device Support
module acpi # Advanced Configuration and Power Interface support

#!!!AGP Modules
module agpgart # AGP bus module for use with AGP video cards
module intel-agp # Intel 440LX/BX/GX, I8xx and E7x05 chipset support
module sis-agp # SiS chipset support
module via-agp # VIA chipset support

# --- Network card modules
# Did we forget to tell you to only include modules you require?
#!!Network

#!!!Ethernet 10-100 Mbit Modules
module 3c509 # 3c509/3c529 (MCA)/3c579 "EtherLink III" support
module 8139too # RealTek RTL-8139 PCI Fast Ethernet Adapter support. VERY
# common in no-name network cards. Covers also 8129.
module eepro # EtherExpressPro support/EtherExpress 10 (i82595) support
module sis900 # SiS 900/7016 PCI Fast Ethernet Adapter support. Common
# in integrated motherboards
module via-rhine # VIA Rhine support (both Rhine I and II). Common in integrated motherboards

#!!Sound Modules
#
#!!!ISA
#
#
#!!!PCI
#

module snd-ali5451 # AC97 intergrated device with ALi M5451 Audio Controller
# (M1535/M1535D/M1535+/M1535D+ south bridges)
module snd-atiixp # AC97 intergrated device with ATI chipsets
# (ATI IXP 150/200/250/300/400)
module snd-intel8x0 # AC97 intergrated device with Intel/SiS/nVidia/AMD chipsets, or
# ALi chipsets using the M5455 Audio Controller
module snd-via82xx # AC97 intergrated device with VIA chipsets

#!!USB Devices
module usb-hid # Needed for USB keyboards and mice
module usb-storage # Needed for USB-Sticks
module usb-printer # Needed for USB-Printers

#!!Storage Devices
#module ide-floppy # LS-120, Iomega Zip
module floppy # Floppy disk support
module ide-cd # CD-Rom Drive Support


#!!Filesystem Support
# Every mounted device needs a filesystem, so choose which ones you need.
#module autofs4 # Automount and autofs support
module isofs # ISO9960 file system support for CDRoms
module vfat # Fat and VFat file system support
module ntfs # NTFS file system support
#module ext2 # Ext2 file system support
#module ext3 # Ext3 file system support
module supermount # Supermount support for auto unmounting of removable media
module nfs # NFS file system support
module smbfs # Samba client FS Support, allows you to mount smb filesystems


#################################################
### --- Packages to include in boot image --- ###
#################################################

# A package is a program or utility.
# Any packages may be added as "package" or "pkg".
# If defined as a "package", the program is included in the boot image.
# If defined as a "pkg", the program is added from outside the image.
# Normally, you should use "package". Only use "pkg" if you want to
# dynamically load programs.


# --- Packages to include in boot image
# --- Packages below may be "package" or "pkg"
#!!Miscellaneous
#package hwclock # Utility to set system time from hardware clock
package sound-esd # Enable sound-esd or sound-nasd if you want to be able to control
package sound-nasd # sound on your thin client from another computer or
# your remote session.
#package iptables # IP Tables support

#!!X related

# --- Xorg6R9.0
# General Xorg6R9.0 video drivers
# This never gets old: only include what you really need!
package xorg6-i810 # Intel 8xx integrated graphics chipsets
package xorg6-nv # NVIDIA video driver
package xorg6-s3 # S3 video driver
package xorg6-sis # SiS video driver
package xorg6-trident # Trident video driver
package xorg6-vesa # Generic VESA driver, use this if you don't know what to use
package xorg6-via # VIA video driver

#!!Keyboard layouts (Language/Country)
package keymaps-en_us # English-United States
package keymaps-pt_br # Portuguise-Brazil

#!Applications
#!!Connection Package types. Choose *at least* one!
package rdesktop # X RDP client for Windows Terminal Services (ver 1.5)
package rdesktop_svga # SVGA RDP client. This is Version 1.1 of rdesktop. Only
# use this for low memory machines

#!!Window Managers. Choose no more than 1 window manager.
# Not needed if you don't want to manage windows.
#package blackbox # "Blackbox" window manager. Makes TS a light workstation.
#package icewm # "ICEWM" window manager. Makes TS a light workstation.
# It's a little bigger than blackbox.

#!!Window Manager Utils
package xtdesk # Adds icons to desktop


#!!Other services
package www # Web access to client. From a browser: "http://"
# The standard page is for general user settings, administrative access
# is on port 6800.
package lp_server # Remote printing daemon (JetDirect compatible)
package samba-server # Samba server FS Support, allows you to share
# local floppy/cdrom/hd/printer to other Windows
# PCs. Needs supermount for removeable media.
package samba-client # Samba smbclient, gives a shell like environment to access an samba server

#!Parameters
########################################
### --- Miscellaneous Parameters --- ###
########################################
#!!Basic
param rootpasswd pleasechangeme # Do Change! Console/telnet password for root
# If this is enabled, Telnetd will be enabled.
param xorgvncpasswd pleasechangeme # VNC Access Password
param storagepasswd pleasechangeme # Password for storage server
param dialuppasswd pleasechangeme # Password for dialin account
param sambapasswd pleasechangeme # Password for samba shares when using user mode security
param bootlogo true # Backgound picture during boot
param bootresolution 1024x768 # Resolution used during Thinstation boot
param defaultconfig thinstation.conf.buildtime # The file with default setup. No other config file is found
# during boot.
param basename thinstation # Used for all config/tftp/scp file names
param basepath . # Used to determine path to tftp/scp files
#param keyfile ./id_rsa # Path for private key file used for ssh/scp
#param knownhosts ./known_hosts # Path for ssh known_hosts file for ssh/scp
param localpkgs false # to determine is PKG files are to be loaded locally
param fulllocales false # Use full locale support for packages
param icaencryption false # Use ica encryption support, add 290k to image
param bootverbosity 3 # Increased vebosity when booting TS
# 0 no verbose messages
# 1 boot
# 2 network
# 4 init
# 8 kernel
# 16 modules
# 32 packages
# 64 email bootlog file to SMTP server & user set in
# thinstation.conf file. This will only work
# if networking is working.
#
# Combinations can be used (e.g.12 does Kernel and Module Messages)

#!!Advanced
# Leave this alone unless you can't download (wget required on your Linux box):
param icaurl http://download2.citrix.com/files/en/products/client/ica/current/linuxx86.tar.gz
param flashurl http://fpdownload.macromedia.com/get/shockwave/flash/english/linux/7.0r25/install_flash_player_7_linux.tar.gz
param nxurl http://struktur.kemi.dtu.dk/thinstation/download/nxclient-1.5.0-current.i386.tar.gz
param 2xurl http://downloads.2x.com/applicationserver/2xApplicationServerClient3.tar.bz2
param javaurl file://home/installs/jre-1_5_0_06-linux-i586.bin
param tarantellaurl file://home/installs/tnci3li.tar
#param httpproxy http://192.168.1.2:8080
# -----------------------------------------------------------------fim do arquivo de configuração

Passo 4: Após a edição do build.conf deve-se então gerar o arquivo do kernel. Para isso execute o seguinte comando:
./build

Aguarde a finalização do processo: O arquivo final gerado chama-se thinstation.nbi e voce vai encontrá-lo em:
Thinstation2.2/boot-images/etherboot/thinstation.nbi.

A extensão nbi significa - network boot image. Esse arquivo será colocado no diretório tftpboot (que será instalado a seguir) juntamente com alguns outros que adiante serão usados.

Passo 5: Instalando o servidor dhcp e o tftp.
Nessa hora cada distribuição possui a sua própria forma de instalação e seus próprios nomes dos pacotes a serem instalados. Darei aqui os passos da nossa solução que é baseada no Unifree Desktop 2.0. O Unifree é baseado no Fedora Core 4. Ele vem com diversos plugins já instalados, uma boa quantidade de pacotes disponíveis, é rápido e estável. Possui apenas 2 CDS de instalação e o ambiente gráfico é o KDE. Tem sido usado a mais de 6 meses sem nenhum problema detectado. Sem dúvida é um ótimo servidor de aplicações. Baseando-se então no Unifree, após instalado e com conexão à internet disponível, como usuário root digite no terminal:

apt-get update;synaptic

Aguarde as atualizações. Em seguida digite:
synaptic

Instale os pacotes dhcp, tftp-server e xinetd

Editando os arquivos de configuração do servidor:
Exemplo do arquivo /etc/dhcpd.conf . O servidor tem IP 10.0.0.254, máscara 255.255.255.0. As estações iniciam com IP à partir de 10.0.0.10. O endereço Mac Address depende de cada placa de rede.

not authoritative;
ddns-update-style none;
default-lease-time 21600;
max-lease-time 21600;
allow booting;
allow bootp;
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
option routers 10.0.0.254;
option domain-name-servers 10.0.0.254;
subnet 10.0.0.0 netmask 255.255.255.0 {
}
group {

next-server 10.0.0.254;
filename "thinstation.nbi";

host ws010 {
hardware ethernet 00:50:FC:B6:F0:D8;
fixed-address 10.0.0.10;
}

host ws011 {
hardware ethernet 00:50:FC:B6:E1:3A;
fixed-address 10.0.0.11;
}

host ws012 {
hardware ethernet 00:40:A7:00:88:A5;
fixed-address 10.0.0.12;
}

host ws013 {
hardware ethernet 00:50:FC:B6:F2:D5;
fixed-address 10.0.0.13;
}

host ws014 {
hardware ethernet 00:40:A7:00:38:38;
fixed-address 10.0.0.14;
}

host ws015 {
hardware ethernet 00:50:FC:B6:EE:DB;
fixed-address 10.0.0.15;
}

host ws016 {
hardware ethernet 00:50:FC:B6:DB:B0;
fixed-address 10.0.0.16;
}

}

-----------> Arquivo /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -c -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

-----------> Arquivo etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 servidor-linux localhost.localdomain localhost

10.0.0.254 servidor-linux
10.0.0.10 ws010
10.0.0.11 ws011
10.0.0.12 ws012
10.0.0.13 ws013
10.0.0.14 ws014
10.0.0.15 ws015
10.0.0.16 ws016
10.0.0.17 ws017
10.0.0.18 ws018
10.0.0.19 ws019
10.0.0.20 ws020


----------->
Arquivo /etc/hosts.allow
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#

ALL : 127.0.0.1 10.0.0.0/24


----------->
Arquivo etc/X11/xdm/Xaccess
# $XConsortium: Xaccess,v 1.5 91/08/26 11:52:51 rws Exp $
#
# Access control file for XDMCP connections
#
# To control Direct and Broadcast access:
#
# pattern
#
# To control Indirect queries:
#
# pattern list of hostnames and/or macros ...
#
# To use the chooser:
#
# pattern CHOOSER BROADCAST
#
# or
#
# pattern CHOOSER list of hostnames and/or macros ...
#
# To define macros:
#
# %name list of hosts ...
#
# The first form tells xdm which displays to respond to itself.
# The second form tells xdm to forward indirect queries from hosts matching
# the specified pattern to the indicated list of hosts.
# The third form tells xdm to handle indirect queries using the chooser;
# the chooser is directed to send its own queries out via the broadcast
# address and display the results on the terminal.
# The fourth form is similar to the third, except instead of using the
# broadcast address, it sends DirectQuerys to each of the hosts in the list
#
# In all cases, xdm uses the first entry which matches the terminal;
# for IndirectQuery messages only entries with right hand sides can
# match, for Direct and Broadcast Query messages, only entries without
# right hand sides can match.
#

* #any host can get a login window

#
# To hardwire a specific terminal to a specific host, you can
# leave the terminal sending indirect queries to this host, and
# use an entry of the form:
#

#terminal-a host-a


#
# The nicest way to run the chooser is to just ask it to broadcast
# requests to the network - that way new hosts show up automatically.
# Sometimes, however, the chooser can't figure out how to broadcast,
# so this may not work in all environments.
#

* CHOOSER BROADCAST #any indirect host can get a chooser

#
# If you'd prefer to configure the set of hosts each terminal sees,
# then just uncomment these lines (and comment the CHOOSER line above)
# and edit the %hostlist line as appropriate
#

#%hostlist host-a host-b

#* CHOOSER %hostlist #


----------->
Arquivo /etc/X11/fs/config
#
# Default font server configuration file for Red Hat Linux
#

# allow a max of 10 clients to connect to this font server
client-limit = 20

# when a font server reaches its limit, start up a new one
clone-self = on

# alternate font servers for clients to use
#alternate-servers = foo:7101,bar:7102

# where to look for fonts
#
catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
/usr/X11R6/lib/X11/fonts/75dpi:unscaled,
/usr/X11R6/lib/X11/fonts/100dpi:unscaled,
/usr/X11R6/lib/X11/fonts/Type1,
/usr/X11R6/lib/X11/fonts/TTF,
/usr/X11R6/lib/X11/fonts/freefont,
/usr/share/fonts/default/Type1,
/usr/share/fonts/msttcorefonts,

# in 12 points, decipoints
default-point-size = 120

# 100 x 100 and 75 x 75
default-resolutions = 75,75,100,100

# use lazy loading on 16 bit (usually Asian) fonts
deferglyphs = 16

# how to log errors
use-syslog = on

# don't listen to TCP ports by default for security reasons
no-listen = tcp

Passo 6: Editando os arquivos de configuração do ThinStation
Quando voce instalou o tftp-server foi criado o diretório tftpboot. Transfira agora como root o arquivo thinstation.nbi para esse diretório. Copie também os arquivos thinstation.conf.sample e thinstation.hosts.example para esse diretório e renomeie-os para thinstation.conf.network e thinstation.hosts respectivamente.

Basicamente o thinstation faz o seguinte: Em primeiro lugar ele le o arquivo thinstation.conf.network. Esse será o arquivo de configuração comum a todos os terminais. Se existir o arquivo thinstation.hosts ele irá então fazer uma relação entre endereços mac e nome de estações (que foram cadastrados em dhcpd.conf). Após essa relação ele irá carregar as particularidades de cada estação encontrada em thinstation.conf-nomedaestacao.

Edite o arquivo thinsation.conf.network e deixe conforme as suas necessidades. O mais importante aqui são as seguintes instruções:
SESSION_0_TITLE=X session
SESSION_0_TYPE=x
SESSION_0_SCREEN=1
SESSION_0_X_SERVER=10.0.0.254
SESSION_0_X_OPTIONS="-query"
SESSION_0_AUTOSTART=On

Veja o exemplo a seguir:

###############################################
# -- Thinstation sample configuration file -- #
###############################################
#
# This file must be named "thinstation.conf" where can be:
# .buildtime Defines the defaults build into the image (note the leading .)
# .network Default config file loaded from the TFTP server.
# .user Config file on local storage.
# - Specific config file on the TFTP server for the terminal
# "name" (e.g. thinstation.conf-paul). Requires thinstation.hosts.
# .group- Config file for a group of terminals (e.g. with printer setup
# for those terminal with local printers. Requires thinstation.hosts.
# - Specific config file on the TFTP server for the terminal with
# the IP number specified.
# - Specific config file on the TFTP server for the terminal with
# the MAC address specified.

##
# --- General Options
#
# AUDIO_LEVEL Audio Level for sound, 0-100
# KEYBOARD_MAP Keyboard layout
# TIME_ZONE Used to set time zone on TS client by entering the UTC offset.
# This can be set automatically if the appropriate dhcpc option is selected
# (Option 2, time offset in seconds)
# SYSLOG_SERVER Log server ip address or hostname.
# If the work "local" is used, then syslog starts logging locally
# If not specified syslogd is not loaded.
# USB_ENABLED Enable USB Drivers into memory if USB package is chosen
# DAILY_REBOOT Will reboot server if up over a day and one of the session
# types is closed
# AUTOPLAYCD If enabled this will autoplay music cds when inserted.
# CUSTOM_CONFIG Allows choosing custom boot config, On/Off
# RECONNECT_PROMPT This displays the reconnection/shutdown options for when a session is ended
#
# OFF No reconnect prompt
# ON Reconnect prompt will be displayed
# MENU Shows a menu with a shutdown and reconnection option
# MENUXX As MENU option, but the XX is a time period in minutes.
# After XX minutes shutdown will occur unless the reconnect option
# is choosen

AUDIO_LEVEL=67
#KEYBOARD_MAP=en_us
TIME_ZONE="UTC-12:30"
SYSLOG_SERVER=local
USB_ENABLED=On
DAILY_REBOOT=On
#AUTOPLAYCD=On
CUSTOM_CONFIG=Off
RECONNECT_PROMPT=On

##
# --- Session Defaults
# -- Default Settings for all sessions
#
# SCREEN Display number to run the X server on
# AUTOSTART ON Application will be executed immediately at startup
# OFF Application will appear in a menu to be started manually
# WORKSPACE Workspace in the window manager to run the application in
# ICONMODE MANUAL Default sessions are not created in window manager/xtdesk
# AUTO Default sessions types are created in window manager/xtdesk

SCREEN=0
WORKSPACE=1
AUTOSTART=On
ICONMODE=AUTO

##
# --- Session Details
#
# Note: # is a number equal to or greater than 0
#
# SESSION_#_TITLE Title description for SESSION. Needed for replimenu.
# SESSION_#_TYPE Package type, choose beetwen:
# - vncviewer Start vncviewer in X
# - rdesktop Start rdesktop in X
# - rdesktop_svga Start svga rdesktop, based on rdesktop 1.1 code
# for low memory machines
# - x Start x-terminal session (xdm)
# - xnest Start x-terminal session (xdm) from within blackbox
# - ssh Start ssh client in linux console
# - telnet Start telnet client in linux console
# - ica Start Citrix ICA client in X
# - ica_wfc Start ICA Manager
# - blackbox Start blackbox window manager session
# - icewm Start icewm window manager session
# - dillo Start Web Browser in X
# - tftpd Start tftp daemon
# - tarantella Start tarantella client
# - rxvt Start light xterm client
# - xterm Start xterm client
# - tn5250 Start AS400 client in linux console
# - nx Start NX Client Session
# SESSION_#_SCREEN Display number to run the X server on
# SESSION_#_AUTOSTART ON Application will be executed immediately at startup
# OFF Application will appear in a menu to be started manually
# SESSION_#_CUSTOM_CONFIG ON Allows choosing custom config for when session starts
# OFF Session boots normally
# SESSION_#_ICON ON Places Icon on Desktop if package xtdesk is selected and
# in Window Manager Main Menu
# SUBMENU Places Icon on Desktop if package xtdesk is selected and
# in a Submenu within the window manager
# SESSION_#_WORKSPACE Workspace to run program on in a window manager
# SESSION_#_type_SERVER IP address/hostname of the server
# SESSION_#_type_OPTIONS Command line options for the session type
#
# SESSION_#_type_specific This allows you to specify specific config file details for certain session
# types. Currently support is NX and ICA. Any configuration file setting
# can be changed with this setting. An example of this is
# SESSION_0_NX_GENERAL_DESKTOP="Gnome"
# SESSION_0_ICA_APPSRV_USEFULLSCREEN="Yes"
# See your application manual for documentation on the settings which
# can be used.


# Individual Session Settings, override defaults
#
# IMPORTANT: Make sure you minimum have a SESSION_0. Otherwise you will get an error
# on boot. You may have additional sessions: SESSION_1, SESSION_2 ...
# SESSION_0 is on ctrl-alt-F3
# SESSION_1 is on ctrl-alt-F4
# ... etc.


#SESSION_#_TYPE=icewm


# The -a option here specifies the color depth
# Note certain servers support certain color depths, wrong settings with this
# May cause your connection to fail.
#SESSION_#_TITLE="Big Bad Server Donald"
#SESSION_#_TYPE=rdesktop
#SESSION_#_SCREEN=1
#SESSION_#_SCREEN_POSITION=2
#SESSION_#_RDESKTOP_SERVER=192.168.1.1
#SESSION_#_RDESKTOP_OPTIONS="-u user -p password -a 16"
#SESSION_#_AUTOSTART=Off

#SESSION_#_TITLE="Big Bad Server Road Runner"
#SESSION_#_TYPE=rdesktop
#SESSION_#_SCREEN=1
#SESSION_#_RDESKTOP_SERVER=192.168.1.1
#SESSION_#_RDESKTOP_OPTIONS="-u 'fred' -a 8"
#SESSION_#_AUTOSTART=Off

#Example on USB Printer Redirection for Rdesktop
#SESSION_#_TITLE="Remote Desktop 24-bit (usb printer)"
#SESSION_#_TYPE=rdesktop
#SESSION_#_RDESKTOP_SERVER=192.168.1.1
#SESSION_#_RDESKTOP_OPTIONS="-a 24 -x b -r printer:usb='DYMO LabelWriter 400 Turbo'"
#SESSION_#_AUTOSTART=Off


SESSION_0_TITLE=X session
SESSION_0_TYPE=x
SESSION_0_SCREEN=1
SESSION_0_X_SERVER=10.0.0.254
SESSION_0_X_OPTIONS="-query"
SESSION_0_AUTOSTART=On


##
# --- X Server Options
#
# SCREEN_RESOLUTION Screen resolutions available in the workstations
# SCREEN_COLOR_DEPTH Number of bits per pixel (8,16,24)
# SCREEN_HORIZSYNC Monitor horizontal sync frequency in Khz.
# If left blank Xorg will try to detect with DDC
# SCREEN_VERTREFRESH Monitor vertical refresh frecuency in Hz.
# If left blank Xorg will try to detect with DDC
# SCREEN_X_FONT_SERVER IP address or hostname of the font server for X
#
# Screen Saver Settings
# SCREEN_BLANK_TIME Minutes to X session goes blank
# SCREEN_STANDBY_TIME Minutes to X session goes into standby mode
# SCREEN_SUSPEND_TIME Minutes to X session goes into suspend mode
# SCREEN_OFF_TIME Minutes to X session turn off
#
# MOUSE_PROTOCOL Mouse protocol type (Microsoft, PS/2, etc.)
# (mouse is autodetected, use this only if it fails)
# MOUSE_DEVICE Mouse device: /dev/ttyS0 -> COM1
# /dev/ttyS1 -> COM2
# /dev/ttyS2 -> COM3
# /dev/ttyS3 -> COM4
# /dev/psaux -> PS/2 mouse port
# /dev/input/mice -> USB mouse (needs USB package)
# MOUSE_RESOLUTION Mouse resolution
# MOUSE_ACCELERATION Mouse acceleration
# X_NUMLOCK Set numlock state on boot
# X_COOKIE Will set X Cookie if specified
# -- Advanced XServer Options - Experts Only
# X_DRIVER_NAME Driver for X, this will override the autodetection scripts
# X_DRIVER_BUSID Screen Card BusID
# X_DRIVER_OPTION1-5 Addditional options for driver

SCREEN_RESOLUTION="1024x768"
#SCREEN_COLOR_DEPTH="16 | 8 | 24 | *"
#SCREEN_HORIZSYNC="30-64 | *"
#SCREEN_VERTREFRESH="56-87 | 60 | 56 | 70 | 72 | 75"
#SCREEN_X_FONT_SERVER=192.168.1.2:7100
SCREEN_BLANK_TIME=10
SCREEN_STANDBY_TIME=20
SCREEN_SUSPEND_TIME=30
SCREEN_OFF_TIME=60
#MOUSE_PROTOCOL=PS/2
#MOUSE_DEVICE=/dev/psaux
MOUSE_RESOLUTION=100
#MOUSE_ACCELERATION=1/2
#X_COOKIE=36d71ab65c10ef065702c111a3d31593
#X_NUMLOCK=Off
# -- Advanced Options - Experts Only
#X_DRIVER_NAME="mga"
#X_DRIVER_BUSID="PCI:1:0:0"
X_DRIVER_OPTION1="swcursor On"
#X_DRIVER_OPTION2="ActiveDevice CRT"
#X_DRIVER_OPTION3="noDDC Off"
#X_DRIVER_OPTION4="UseBios Off"
#X_DRIVER_OPTION5="ShadowFB Off"


##
# --- LP Server Printing Options
#
# PRINTER_0_NAME Workstation Printer Name, Can be Any Valid Name
# If you have turned ICA_PRINTER=ON then this is the
# name of the printer driver
# PRINTER_0_DEVICE Workstation printer device (if not specified devices
# are not loaded).
# /dev/printers/[0-2] for parallel ports
# /dev/ttyS[0-3] for serial ports
# /dev/usb/lp[0-2] for USB printers
#
# PRINTER_0_TYPE P for parallel, S for serial, U for USB printer
# PRINTER_0_OPTIONS Serial port options.
# PRINTER_1_* See PRINTER_0_*
# PRINTER_2_* See PRINTER_0_*
# PRINTER_3_* See PRINTER_0_*

#PRINTER_0_NAME="parallel"
#PRINTER_0_DEVICE=/dev/printers/0
#PRINTER_0_TYPE=P

#PRINTER_1_NAME="serial"
#PRINTER_1_DEVICE=/dev/ttyS1
#PRINTER_1_TYPE=S
#PRINTER_1_OPTIONS="speed 38400 -imaxbel"

#PRINTER_#_NAME="usb"
#PRINTER_#_DEVICE=/dev/usb/lp0
#PRINTER_#_TYPE=U

#PRINTER_#_NAME="usb"
#PRINTER_#_DEVICE=/dev/usb/lp0
#PRINTER_#_TYPE=U

#ICA Autocreate Printer Example

#PRINTER_0_NAME="HP LaserJet Series II"
#PRINTER_0_DEVICE=/dev/printers/0
#PRINTER_0_TYPE=P


##
# --- Samba Options
#
# SAMBA_SERVER_ENABLED Enable Samba Server Daemons, On/Off
# SAMBA_SECURITY Type of security, USER, DOMAIN, SERVER
# SAMBA_SERVER Server for security
# SAMBA_WINS Server Name to Enable Samba to be a WINS Client
# SAMBA_HARDDISK Enable Harddrive support, On/Off
# SAMBA_CDROM Enable CDRom Support, On/Off
# SAMBA_FLOPPY Enable Floppy Support, On/Off
# SAMBA_PRINTER Enable Printer Support, On/Off
# SAMBA_USB Enable USB Support, On/Off

#SAMBA_SERVER_ENABLED=Off
#SAMBA_WORKGROUP=BigPeople
#SAMBA_SECURITY=Server
#SAMBA_SERVER=BadMan
#SAMBA_WINS=BadMan
#SAMBA_HARDDISK=Off
#SAMBA_CDROM=On
#SAMBA_FLOPPY=On
#SAMBA_PRINTER=On
#SAMBA_USB=Off


##
# --- PKG Options
#
# PKG_PACKAGES Choice of packages to download for PKG
# You can also use PKG_PACKAGES1-8 for additional package selections
# This is useful for using multiple network group files
# PKG_PREFIX Download PKGs from a subdir of /tftpboot or PKG Path if PKG_PATH
# is set in thinstation.conf
# PKG_PATH Path to PKG files if not using tftpboot
# Floppy: /mnt/floppy
# CD-ROM: /mnt/cdrom
# HD: /mnt/disc/hdX/part1 (first disc, first partition)
# NFS: /mnt/nfs
# Samba: /mnt/smb
# MOD_PACKAGES Choice of modules to download for MPKG
# You can also use MOD_PACKAGES1-8 for additional package selections
# This is useful for using multiple network group files
# MOD_PREFIX Downloads and insmod's a module from a subdir of /tftpboot
# if MOD_PREFIX is set in thinstation.conf

#PKG_PACKAGES="blackbox rxvt"
#PKG_PREFIX=pkg
#PKG_PATH=/mnt/cdrom
#MOD_PACKAGES="usb-hid usb-storage"
#MOD_PREFIX=modules


##
# --- Networking Options
#
# NET_HOSTNAME Hostname to use if not using a thinstation.hosts file, note
# that the machine MAC address will replace any * if used.
# NET_SMTP_SERVER Email server address for error logs
# NET_SMTP_EMAIL Email address of administrator
# NET_TIME_SERVER Time server on network to sync to, uses rdate
# NET_TELNETD Enables built-in telnetd server package
# NET_REMOTE_ACCESS_FROM List of hostnames/ip address accepted by the server
# for remote control, used by telnetd and www packages
#
# -- Mounting networked filesystems --
#
# NET_NFS_SERVER This is the path to the NFS server, ie
# server:/path/to/share.
# NET_SMB_SERVER This is the path to the SMB server, ie
# server:/path/to/share.
# NET_SMB_WORKGROUP Workgroup of samba server
# NET_SMB_USER This is the username for SMB mounts, password is
# defined at build time in build.conf

NET_HOSTNAME=*
#NET_HOSTNAME=ts_*
#NET_SMTP_SERVER=donald
#NET_SMTP_EMAIL=donald@duck.org.nz
#NET_TIME_SERVER=mickey
#NET_TELNETD_ENABLED=On
#NET_REMOTE_ACCESS_FROM="duck.quak.org.au 192.168.0.0 .disney.us"
#NET_NFS_SERVER=bigserver:/opt/thinstation
#NET_SMB_USER=duck


# -- For use in thinstation.conf.buildtime only:
#
# NET_USE_DHCP Enable DHCP Resolution, On/Off
# NET_IP_ADDRESS IP Address of client
# NET_MASK Network mask of client
# NET_GATEWAY IP Address of gateway
# NET_DHCP_DELAY Delay before continuing script after bringing up interface, only needed if
# using spanning tree "port discovery" in a switched environment. Default is 0 seconds.
# NET_FILE_METHOD Method to download files, ie scp or tftp, scp is only available if package ssh
# is selected in build as a "package".
# NET_FILE_ENABLED Use server for config file, On/Off
# NET_FILE_USER User to connect to SCP server as
# NET_FILE_ALTERNATE Alternate server for vmware or non-standard dhcp servers
# NET_DNS1 DNS Server 1
# NET_DNS2 DNS Server 2
# NET_DNS_SEARCH Default DNS domain to search

NET_USE_DHCP=On
#NET_IP_ADDRESS=192.168.0.1
#NET_MASK=255.255.255.0
#NET_GATEWAY=192.168.0.254
#NET_DHCP_DELAY=30
#NET_FILE_ENABLED=Off
#NET_FILE_METHOD=tftp
#NET_FILE_USER=not_needed_for_tftp
#NET_FILE_ALTERNATE=192.168.0.4
#NET_DNS1=192.168.0.2
#NET_DNS2=192.168.0.3
#NET_DNS_SEARCH=cartoons.org.nz



##
# --- Permanent Storage Options
#
# STORAGE_PATH Path to where storage device is mounted to save
# profile settings. This should be one of
# /mnt/usbdevice/sdX/partX or disc
# /mnt/floppy
# /mnt/disc/hdX/partX
# /mnt/nfs
# /mnt/smb
#
# Note that the profile settings are stored under
# a subfolder for this path. So the path to the
# stored settings would be something like
# /mnt/floppy/thinstation.profile
# See the FAQ on the website for more details on this
#
# Also checkout README.IMPORTANT for the valid
# config files which you can place here
# a typical file to store config file settings is
# /mnt/floppy/thinstation.profile/thinstation.conf.user
#
# Also note that the .profile can be changed by using
# the below STORAGE_PREFIX
# STORAGE_PREFIX This is prefex for the folder name to store settings
# in on the storage device. You can also use one of the
# special characters below.
#
# M = Mac Address
# H = Hostname
# I = Ip Address
#
# Note default prefix for storing the profile is
# .profile
# STORAGE_CONFIG1-8 This is the path for any user defined settings
# which will always override the profile path above
# The files are tried on order on each device specified


#STORAGE_PATH=/mnt/nfs
#STORAGE_PREFIX=H
#STORAGE_CONFIG1=/mnt/floppy
#STORAGE_CONFIG2=/mnt/cdrom
#STORAGE_CONFIG3=/mnt/disc/hda/part1
#STORAGE_CONFIG4=/mnt/usbdevice/sda/part1


##
#**** EXPERIMENTAL ****
# Dual Head Support
#
# This allows two seperate X sessions to be started with seperate input devices. This allows
# effectively two seperate machines within the same PC. You will need seperate screen cards
# to enable this. It is best to use with 1 AGP card and 1 PCI card.

# Check out http://www.ltn.lv/~aivils/eng-video.html for a list of known compatable screen cards

# Input Device support should be:
#
# Primary mouse and keyboard PS/2
# Secondary mouse and keyboard USB
#
# There is some basic detection scripts for this, but these will need to be improved in TS 3.0.
# If thinstation doesn't detect both a USB keyboard and mouse it will default back to dual
# screen support, not dual head.
#
# This is not considered stable. If you exit the session, or try to change to a console screen
# with Alt-F1 etc... it will probably crash the machine. If it doesn't work with your hardware
# there is nothing that can be done about it.

# The kernel Advanced Power Management module is disabled when using dual screen as it causes the
# second screen to crash.

# Note the below option only supports 1-2, anything more than two won't work. This is provided
# for future development, to create a machine with more than two seperate sessions.

# SESSION_#_SCREEN_POSITION 1-X When using dual screen support you can specify the position
# of each session. This allows to seperate sessions to be on
# seperate screens. If only 1 session is in use, this option will
# make no differnece. You can specify between 1+ positions

Edite o arquivo thinstation.hosts e deixe conforme os endereços mac que voce usou no dhcpd.conf. Isso permite que voce relacione a estação com a placa de rede e depois voce possa fazer uma configuração particular para cada terminal através do arquivo thinstation.conf-nomedaestacao

# You can have any amount of spaces/tabs between names
# HOST MAC GROUPS COMMENTS
ws010 0050FCB6F0D8
ws011 0050FCB6E13A
ws012 0040A70088A5
ws014 0040A7003838
ws015 0050FCB6EEDB
ws016 0050FCB6DBB0


Edite o(s) arquivo(os) de configuração de cada estação deixando conforme desejado. Exemplo de thinstation.conf-ws010:


###############################################
# -- Thinstation sample configuration file -- #
###############################################
#
# This file must be named "thinstation.conf" where can be:
# .buildtime Defines the defaults build into the image (note the leading .)
# .network Default config file loaded from the TFTP server.
# .user Config file on local storage.
# - Specific config file on the TFTP server for the terminal
# "name" (e.g. thinstation.conf-paul). Requires thinstation.hosts.
# .group- Config file for a group of terminals (e.g. with printer setup
# for those terminal with local printers. Requires thinstation.hosts.
# - Specific config file on the TFTP server for the terminal with
# the IP number specified.
# - Specific config file on the TFTP server for the terminal with
# the MAC address specified.

##
# --- General Options
#
# AUDIO_LEVEL Audio Level for sound, 0-100
# KEYBOARD_MAP Keyboard layout
# TIME_ZONE Used to set time zone on TS client by entering the UTC offset.
# This can be set automatically if the appropriate dhcpc option is selected
# (Option 2, time offset in seconds)
# SYSLOG_SERVER Log server ip address or hostname.
# If the work "local" is used, then syslog starts logging locally
# If not specified syslogd is not loaded.
# USB_ENABLED Enable USB Drivers into memory if USB package is chosen
# DAILY_REBOOT Will reboot server if up over a day and one of the session
# types is closed
# AUTOPLAYCD If enabled this will autoplay music cds when inserted.
# CUSTOM_CONFIG Allows choosing custom boot config, On/Off
# RECONNECT_PROMPT This displays the reconnection/shutdown options for when a session is ended
#
# OFF No reconnect prompt
# ON Reconnect prompt will be displayed
# MENU Shows a menu with a shutdown and reconnection option
# MENUXX As MENU option, but the XX is a time period in minutes.
# After XX minutes shutdown will occur unless the reconnect option
# is choosen

AUDIO_LEVEL=67
KEYBOARD_MAP=pt_br
TIME_ZONE="UTC-12:30"
SYSLOG_SERVER=local
USB_ENABLED=On
DAILY_REBOOT=On
#AUTOPLAYCD=On
CUSTOM_CONFIG=Off
RECONNECT_PROMPT=On

##
# --- Session Defaults
# -- Default Settings for all sessions
#
# SCREEN Display number to run the X server on
# AUTOSTART ON Application will be executed immediately at startup
# OFF Application will appear in a menu to be started manually
# WORKSPACE Workspace in the window manager to run the application in
# ICONMODE MANUAL Default sessions are not created in window manager/xtdesk
# AUTO Default sessions types are created in window manager/xtdesk

SCREEN=0
WORKSPACE=1
AUTOSTART=On
ICONMODE=AUTO

##
# --- Session Details
#
# Note: # is a number equal to or greater than 0
#
# SESSION_#_TITLE Title description for SESSION. Needed for replimenu.
# SESSION_#_TYPE Package type, choose beetwen:
# - vncviewer Start vncviewer in X
# - rdesktop Start rdesktop in X
# - rdesktop_svga Start svga rdesktop, based on rdesktop 1.1 code
# for low memory machines
# - x Start x-terminal session (xdm)
# - xnest Start x-terminal session (xdm) from within blackbox
# - ssh Start ssh client in linux console
# - telnet Start telnet client in linux console
# - ica Start Citrix ICA client in X
# - ica_wfc Start ICA Manager
# - blackbox Start blackbox window manager session
# - icewm Start icewm window manager session
# - dillo Start Web Browser in X
# - tftpd Start tftp daemon
# - tarantella Start tarantella client
# - rxvt Start light xterm client
# - xterm Start xterm client
# - tn5250 Start AS400 client in linux console
# - nx Start NX Client Session
# SESSION_#_SCREEN Display number to run the X server on
# SESSION_#_AUTOSTART ON Application will be executed immediately at startup
# OFF Application will appear in a menu to be started manually
# SESSION_#_CUSTOM_CONFIG ON Allows choosing custom config for when session starts
# OFF Session boots normally
# SESSION_#_ICON ON Places Icon on Desktop if package xtdesk is selected and
# in Window Manager Main Menu
# SUBMENU Places Icon on Desktop if package xtdesk is selected and
# in a Submenu within the window manager
# SESSION_#_WORKSPACE Workspace to run program on in a window manager
# SESSION_#_type_SERVER IP address/hostname of the server
# SESSION_#_type_OPTIONS Command line options for the session type
#
# SESSION_#_type_specific This allows you to specify specific config file details for certain session
# types. Currently support is NX and ICA. Any configuration file setting
# can be changed with this setting. An example of this is
# SESSION_0_NX_GENERAL_DESKTOP="Gnome"
# SESSION_0_ICA_APPSRV_USEFULLSCREEN="Yes"
# See your application manual for documentation on the settings which
# can be used.


# Individual Session Settings, override defaults
#
# IMPORTANT: Make sure you minimum have a SESSION_0. Otherwise you will get an error
# on boot. You may have additional sessions: SESSION_1, SESSION_2 ...
# SESSION_0 is on ctrl-alt-F3
# SESSION_1 is on ctrl-alt-F4
# ... etc.


#SESSION_#_TYPE=icewm


# The -a option here specifies the color depth
# Note certain servers support certain color depths, wrong settings with this
# May cause your connection to fail.
#SESSION_#_TITLE="Big Bad Server Donald"
#SESSION_#_TYPE=rdesktop
#SESSION_#_SCREEN=1
#SESSION_#_SCREEN_POSITION=2
#SESSION_#_RDESKTOP_SERVER=192.168.1.1
#SESSION_#_RDESKTOP_OPTIONS="-u user -p password -a 16"
#SESSION_#_AUTOSTART=Off

#SESSION_#_TITLE="Big Bad Server Road Runner"
#SESSION_#_TYPE=rdesktop
#SESSION_#_SCREEN=1
#SESSION_#_RDESKTOP_SERVER=192.168.1.1
#SESSION_#_RDESKTOP_OPTIONS="-u 'fred' -a 8"
#SESSION_#_AUTOSTART=Off

#Example on USB Printer Redirection for Rdesktop
#SESSION_#_TITLE="Remote Desktop 24-bit (usb printer)"
#SESSION_#_TYPE=rdesktop
#SESSION_#_RDESKTOP_SERVER=192.168.1.1
#SESSION_#_RDESKTOP_OPTIONS="-a 24 -x b -r printer:usb='DYMO LabelWriter 400 Turbo'"
#SESSION_#_AUTOSTART=Off


SESSION_0_TITLE=X session
SESSION_0_TYPE=x
SESSION_0_SCREEN=1
SESSION_0_X_SERVER=10.0.0.254
SESSION_0_X_OPTIONS="-query"
SESSION_0_AUTOSTART=On


##
# --- X Server Options
#
# SCREEN_RESOLUTION Screen resolutions available in the workstations
# SCREEN_COLOR_DEPTH Number of bits per pixel (8,16,24)
# SCREEN_HORIZSYNC Monitor horizontal sync frequency in Khz.
# If left blank Xorg will try to detect with DDC
# SCREEN_VERTREFRESH Monitor vertical refresh frecuency in Hz.
# If left blank Xorg will try to detect with DDC
# SCREEN_X_FONT_SERVER IP address or hostname of the font server for X
#
# Screen Saver Settings
# SCREEN_BLANK_TIME Minutes to X session goes blank
# SCREEN_STANDBY_TIME Minutes to X session goes into standby mode
# SCREEN_SUSPEND_TIME Minutes to X session goes into suspend mode
# SCREEN_OFF_TIME Minutes to X session turn off
#
# MOUSE_PROTOCOL Mouse protocol type (Microsoft, PS/2, etc.)
# (mouse is autodetected, use this only if it fails)
# MOUSE_DEVICE Mouse device: /dev/ttyS0 -> COM1
# /dev/ttyS1 -> COM2
# /dev/ttyS2 -> COM3
# /dev/ttyS3 -> COM4
# /dev/psaux -> PS/2 mouse port
# /dev/input/mice -> USB mouse (needs USB package)
# MOUSE_RESOLUTION Mouse resolution
# MOUSE_ACCELERATION Mouse acceleration
# X_NUMLOCK Set numlock state on boot
# X_COOKIE Will set X Cookie if specified
# -- Advanced XServer Options - Experts Only
# X_DRIVER_NAME Driver for X, this will override the autodetection scripts
# X_DRIVER_BUSID Screen Card BusID
# X_DRIVER_OPTION1-5 Addditional options for driver

SCREEN_RESOLUTION="1024x768"
SCREEN_COLOR_DEPTH="24"
#SCREEN_HORIZSYNC="30-64 | *"
#SCREEN_VERTREFRESH="56-87 | 60 | 56 | 70 | 72 | 75"
#SCREEN_X_FONT_SERVER=192.168.1.2:7100
SCREEN_BLANK_TIME=10
SCREEN_STANDBY_TIME=20
SCREEN_SUSPEND_TIME=30
SCREEN_OFF_TIME=60
#MOUSE_PROTOCOL=PS/2
#MOUSE_DEVICE=/dev/psaux
MOUSE_RESOLUTION=100
#MOUSE_ACCELERATION=1/2
#X_COOKIE=36d71ab65c10ef065702c111a3d31593
#X_NUMLOCK=Off
# -- Advanced Options - Experts Only
#X_DRIVER_NAME="mga"
#X_DRIVER_BUSID="PCI:1:0:0"
X_DRIVER_OPTION1="swcursor On"
#X_DRIVER_OPTION2="ActiveDevice CRT"
#X_DRIVER_OPTION3="noDDC Off"
#X_DRIVER_OPTION4="UseBios Off"
#X_DRIVER_OPTION5="ShadowFB Off"


##
# --- LP Server Printing Options
#
# PRINTER_0_NAME Workstation Printer Name, Can be Any Valid Name
# If you have turned ICA_PRINTER=ON then this is the
# name of the printer driver
# PRINTER_0_DEVICE Workstation printer device (if not specified devices
# are not loaded).
# /dev/printers/[0-2] for parallel ports
# /dev/ttyS[0-3] for serial ports
# /dev/usb/lp[0-2] for USB printers
#
# PRINTER_0_TYPE P for parallel, S for serial, U for USB printer
# PRINTER_0_OPTIONS Serial port options.
# PRINTER_1_* See PRINTER_0_*
# PRINTER_2_* See PRINTER_0_*
# PRINTER_3_* See PRINTER_0_*

PRINTER_0_NAME="parallel"
PRINTER_0_DEVICE=/dev/printers/0
PRINTER_0_TYPE=P

#PRINTER_1_NAME="serial"
#PRINTER_1_DEVICE=/dev/ttyS1
#PRINTER_1_TYPE=S
#PRINTER_1_OPTIONS="speed 38400 -imaxbel"

#PRINTER_#_NAME="usb"
#PRINTER_#_DEVICE=/dev/usb/lp0
#PRINTER_#_TYPE=U

#PRINTER_0_NAME="usb"
#PRINTER_0_DEVICE=/dev/usb/lp0
#PRINTER_0_TYPE=U

#ICA Autocreate Printer Example

##
# --- Samba Options
#
# SAMBA_SERVER_ENABLED Enable Samba Server Daemons, On/Off
# SAMBA_SECURITY Type of security, USER, DOMAIN, SERVER
# SAMBA_SERVER Server for security
# SAMBA_WINS Server Name to Enable Samba to be a WINS Client
# SAMBA_HARDDISK Enable Harddrive support, On/Off
# SAMBA_CDROM Enable CDRom Support, On/Off
# SAMBA_FLOPPY Enable Floppy Support, On/Off
# SAMBA_PRINTER Enable Printer Support, On/Off
# SAMBA_USB Enable USB Support, On/Off

#SAMBA_SERVER_ENABLED=Off
#SAMBA_WORKGROUP=BigPeople
#SAMBA_SECURITY=Server
#SAMBA_SERVER=BadMan
#SAMBA_WINS=BadMan
#SAMBA_HARDDISK=Off
#SAMBA_CDROM=On
#SAMBA_FLOPPY=On
#SAMBA_PRINTER=On
#SAMBA_USB=Off


##
# --- PKG Options
#
# PKG_PACKAGES Choice of packages to download for PKG
# You can also use PKG_PACKAGES1-8 for additional package selections
# This is useful for using multiple network group files
# PKG_PREFIX Download PKGs from a subdir of /tftpboot or PKG Path if PKG_PATH
# is set in thinstation.conf
# PKG_PATH Path to PKG files if not using tftpboot
# Floppy: /mnt/floppy
# CD-ROM: /mnt/cdrom
# HD: /mnt/disc/hdX/part1 (first disc, first partition)
# NFS: /mnt/nfs
# Samba: /mnt/smb
# MOD_PACKAGES Choice of modules to download for MPKG
# You can also use MOD_PACKAGES1-8 for additional package selections
# This is useful for using multiple network group files
# MOD_PREFIX Downloads and insmod's a module from a subdir of /tftpboot
# if MOD_PREFIX is set in thinstation.conf

#PKG_PACKAGES="blackbox rxvt"
#PKG_PREFIX=pkg
#PKG_PATH=/mnt/cdrom
#MOD_PACKAGES="usb-hid usb-storage"
#MOD_PREFIX=modules


##
# --- Networking Options
#
# NET_HOSTNAME Hostname to use if not using a thinstation.hosts file, note
# that the machine MAC address will replace any * if used.
# NET_SMTP_SERVER Email server address for error logs
# NET_SMTP_EMAIL Email address of administrator
# NET_TIME_SERVER Time server on network to sync to, uses rdate
# NET_TELNETD Enables built-in telnetd server package
# NET_REMOTE_ACCESS_FROM List of hostnames/ip address accepted by the server
# for remote control, used by telnetd and www packages
#
# -- Mounting networked filesystems --
#
# NET_NFS_SERVER This is the path to the NFS server, ie
# server:/path/to/share.
# NET_SMB_SERVER This is the path to the SMB server, ie
# server:/path/to/share.
# NET_SMB_WORKGROUP Workgroup of samba server
# NET_SMB_USER This is the username for SMB mounts, password is
# defined at build time in build.conf

NET_HOSTNAME=*
#NET_HOSTNAME=ts_*
#NET_SMTP_SERVER=donald
#NET_SMTP_EMAIL=donald@duck.org.nz
#NET_TIME_SERVER=mickey
#NET_TELNETD_ENABLED=On
#NET_REMOTE_ACCESS_FROM="duck.quak.org.au 192.168.0.0 .disney.us"
#NET_NFS_SERVER=bigserver:/opt/thinstation
#NET_SMB_USER=duck


# -- For use in thinstation.conf.buildtime only:
#
# NET_USE_DHCP Enable DHCP Resolution, On/Off
# NET_IP_ADDRESS IP Address of client
# NET_MASK Network mask of client
# NET_GATEWAY IP Address of gateway
# NET_DHCP_DELAY Delay before continuing script after bringing up interface, only needed if
# using spanning tree "port discovery" in a switched environment. Default is 0 seconds.
# NET_FILE_METHOD Method to download files, ie scp or tftp, scp is only available if package ssh
# is selected in build as a "package".
# NET_FILE_ENABLED Use server for config file, On/Off
# NET_FILE_USER User to connect to SCP server as
# NET_FILE_ALTERNATE Alternate server for vmware or non-standard dhcp servers
# NET_DNS1 DNS Server 1
# NET_DNS2 DNS Server 2
# NET_DNS_SEARCH Default DNS domain to search

NET_USE_DHCP=On
#NET_IP_ADDRESS=192.168.0.1
#NET_MASK=255.255.255.0
#NET_GATEWAY=192.168.0.254
#NET_DHCP_DELAY=30
#NET_FILE_ENABLED=Off
#NET_FILE_METHOD=tftp
#NET_FILE_USER=not_needed_for_tftp
#NET_FILE_ALTERNATE=192.168.0.4
#NET_DNS1=192.168.0.2
#NET_DNS2=192.168.0.3
#NET_DNS_SEARCH=cartoons.org.nz



##
# --- Permanent Storage Options
#
# STORAGE_PATH Path to where storage device is mounted to save
# profile settings. This should be one of
# /mnt/usbdevice/sdX/partX or disc
# /mnt/floppy
# /mnt/disc/hdX/partX
# /mnt/nfs
# /mnt/smb
#
# Note that the profile settings are stored under
# a subfolder for this path. So the path to the
# stored settings would be something like
# /mnt/floppy/thinstation.profile
# See the FAQ on the website for more details on this
#
# Also checkout README.IMPORTANT for the valid
# config files which you can place here
# a typical file to store config file settings is
# /mnt/floppy/thinstation.profile/thinstation.conf.user
#
# Also note that the .profile can be changed by using
# the below STORAGE_PREFIX
# STORAGE_PREFIX This is prefex for the folder name to store settings
# in on the storage device. You can also use one of the
# special characters below.
#
# M = Mac Address
# H = Hostname
# I = Ip Address
#
# Note default prefix for storing the profile is
# .profile
# STORAGE_CONFIG1-8 This is the path for any user defined settings
# which will always override the profile path above
# The files are tried on order on each device specified


#STORAGE_PATH=/mnt/nfs
#STORAGE_PREFIX=H
#STORAGE_CONFIG1=/mnt/floppy
#STORAGE_CONFIG2=/mnt/cdrom
#STORAGE_CONFIG3=/mnt/disc/hda/part1
#STORAGE_CONFIG4=/mnt/usbdevice/sda/part1


##
#**** EXPERIMENTAL ****
# Dual Head Support
#
# This allows two seperate X sessions to be started with seperate input devices. This allows
# effectively two seperate machines within the same PC. You will need seperate screen cards
# to enable this. It is best to use with 1 AGP card and 1 PCI card.

# Check out http://www.ltn.lv/~aivils/eng-video.html for a list of known compatable screen cards

# Input Device support should be:
#
# Primary mouse and keyboard PS/2
# Secondary mouse and keyboard USB
#
# There is some basic detection scripts for this, but these will need to be improved in TS 3.0.
# If thinstation doesn't detect both a USB keyboard and mouse it will default back to dual
# screen support, not dual head.
#
# This is not considered stable. If you exit the session, or try to change to a console screen
# with Alt-F1 etc... it will probably crash the machine. If it doesn't work with your hardware
# there is nothing that can be done about it.

# The kernel Advanced Power Management module is disabled when using dual screen as it causes the
# second screen to crash.

# Note the below option only supports 1-2, anything more than two won't work. This is provided
# for future development, to create a machine with more than two seperate sessions.

# SESSION_#_SCREEN_POSITION 1-X When using dual screen support you can specify the position
# of each session. This allows to seperate sessions to be on
# seperate screens. If only 1 session is in use, this option will
# make no differnece. You can specify between 1+ positions

Finalizando o processo.

Para finalizar o processo chame o programa gdmsetup e na aba Geral habilite em Recepção Remota para Recepção Gráfica,
Na aba XDMCP Habilite honrar pedidos indiretos.

Clique no link
http://rom-omatic.net e escolha 5.4.3. Sigas as instruções e gere um disquete de boot para as estações. Insira o disco na unidade e será dada a carga do sistema.

Pronto. Isso é tudo
.