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
.

8 comentários:

Unknown disse...

Parabéns pelo artigo!
Mais uma opção para o uso de terminais leves no Linux.

Apenas uma ressalva: o LTSP é bastante robusto! Tenho uma rede LTSP rodando há 2 anos e a distro em uso já passou por duas atualizações, não precisei mexer um fio de cabelo do LTSP pra mantê-lo funcionando.

Na versão atual, o LTSP dá suporte a som e hardware local.

Verifique sempre as novidades e comparações sobre o que está escrevendo e seja feliz!

Um grande abraço e, mais uma vez, parabéns pelo post!
Flavio

linuxuso disse...

Ok Flávio concordo com voce. Também usei o LTSP por um bom tempo e também acho muito robusto. Entretanto o suporte a som e hardware local depende da distribuição usada. Pode ser uma coisa fácil se usado com o kurumin por exemplo ou umas pedrinhas no caminho se usado o mandriva por exemplo (vide no fórum ltsp-br as dificuldades para se obter som - Eu mesmo participei de vários post sobre o assunto, inclusive participo da lista de discussão do mesmo). Estou atualizado sobre as novidades já que recebo e-mail da lista de discussão do LTSP regularmente.

Um forte abraço e obrigado pelo elogio

Unknown disse...

Oi,

Bom Artigo!
Como posso compilar uma imagem para fazer boot de um Compact Flash??

Obrigado,
Tiago

linuxuso disse...

Instruções sobre instalação em chaveiro usb voce encontra aqui: http://thinstation.sourceforge.net/CF-HOWTO-2.html

Caso tenha dificuldades me retorne para que eu tente fazer esse procedimento aqui.

Obrigado

Teste disse...

opa gostaria de perguntar algumas coisas para vc sobre o thinstation poderia me amndar um email para mantermos contato e eu tirar algumas duvidas muito obrigado

Andre disse...

Olá ..tem como eu usar o pen drive dentro do thin station no client ?? Qual paramentro habilito para os usuarios do server 2003?

Muito bom tutorial parabens.

Att

Andre

Andre disse...

Olá ..tem como eu usar o pen drive dentro do thin station no client ?? Qual paramentro habilito para os usuarios do server 2003?

Muito bom tutorial parabens.

Att

Andre

cristiano disse...

oLA, saberia me informar como atualizo o modulo do kernel do thinstation?

Pois as novas placas de rede nao estao funcionando corretamente.

Grato

Cristiano