Você está na página 1de 39

Manual do TCOS para administradores

Manual do TCOS
para administradores

Traduzido em 17/04/2008 por Aécio Pires (http://aeciopires.rg3.net),
membro da comunidade TCOS Brasil (http://br.tcosproject.org).

página  1  de  39
Manual do TCOS para administradores

Licença de Uso

Este trabalho está licenciado sob uma Licença Creative Commons Atribuição­Uso Não­
Comercial   2.5   Brasil.   Para   ver   uma   cópia   desta   licença,   visite 
http://creativecommons.org/licenses/by­nc/2.5/br/  ou   envie   uma   carta   para   Creative 
Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.

página  2  de  39
Manual do TCOS para administradores

Sobre o Autor

Mario Izquierdo Rodrigues


mariodebian@gmail.com 
http://soleup.eup.uva.es/mario/blog/1 

● Criador e mantenedor do TCOS (http://tcosproject.org).

Sobre o Co­autor e Tradutor

Aécio dos Santos Pires


aecio@tcosproject.org
http://aeciopires.rg3.net

● Graduando em Redes de Computadores pelo Instituto 
Federal de Educação, Ciência e Tecnologia da Paraíba 
– IFPB (http://www.ifpb.edu.br);
● Estagiário de Informática da Secretaria da Receita do 
Estado da Paraíba – SERPB (http://receita.pb.gov.br)
● Tradutor do TCOS (http://tcosproject.org) para a língua portuguesa .
● Membro da TCOS Brasil (http://br.tcosproject.org): comunidade de usuários 
brasileiros do TCOS.

página  3  de  39
Manual do TCOS para administradores

Sumário
1. Introdução.........................................................................................................................................5
2. TCOS................................................................................................................................................6
2.1. Características e diferenças com outros sistemas......................................................................8
2.2. Ferramentas TCOS..................................................................................................................12
3. Instalação do TCOS........................................................................................................................14
3.1. Configuração dos repositórios.................................................................................................14
3.2. Configuração do DHCP..........................................................................................................15
3.3. Configuração do TFTP............................................................................................................17
3.4. Servidores de fontes XFS e XFSTT........................................................................................19
3.5. Configurando o GDM.............................................................................................................20
3.6. Configurando o KDM.............................................................................................................21
3.6.1. Para o KDE versão 3........................................................................................................21
3.6.2. Para o KDE versão 4.......................................................................................................21
4. Gerando as imagens de inicialização..............................................................................................23
4.1. Como são geradas as imagens?...............................................................................................24
4.2. Processo de inicialização........................................................................................................25
4.3. Os possíveis problemas de inicialização e as soluções...........................................................28
5. TcosMonitor....................................................................................................................................37

página  4  de  39
Manual do TCOS para administradores

1. Introdução

Há lugares em que as redes de computadores são formadas por equipamentos de 
última   geração  e,  em  alguns casos,  são  utilizados  para   realizar  tarefas  que  requerem 
pouco processamento, como por exemplo: editar documentos de texto, elaborar planilhas 
eletrônicas   e   navegar   na  Internet.  Para   realizar   essas   mesmas   tarefas   poderiam   ser 
utilizados thin clients ou reaproveitar computadores obsoletos como clientes magros. 
Uma rede de clientes magros possui baixo custo de instalação por permitir o uso de 
computadores   obsoletos   ou  thin   clients[1],   todos   conectados   a   um   servidor   de   alta 
performance   de   processamento   que     compartilha   o   sistema   operacional,   aplicativos, 
acesso a Internet, CD­ROM, impressora, armazenamento de arquivos, etc.
   Uma das ferramentas que proporciona a implantação dessas redes é o  TCOS – 
Thin Client Operating System.  Na   próxima   seção   serão   mostradas   as  características, 
vantagens e desvantagens do TCOS, comparando­o com outras ferramentas. Na terceira 
será   mostrado   como   instalar   e   configurar   o   TCOS.   Na   quarta   seção   será   exibida   a 
ferramenta  TcosConfig  usada   na   configuração   e   compilação   da   imagem  do   sistema 
operacional dos clientes, além de  explicar como acontece o processo de inicialização. Na 
última   seção   será   apresentada   a   ferramenta  TcosMonitor  usada   para   gerenciar   e 
monitorar os clientes magros. 

página  5  de  39
Manual do TCOS para administradores

2. TCOS

TCOS (Thin Client Operating System) é um projeto de  Software  Livre licenciado 


pela GPL21  e formado por várias ferramentas utilizadas tanto para inicializar como para 
gerenciar os clientes magros.
Criado e mantido pelo espanhol Mario Izquierdo Rodrigues, o TCOS encontra­se 
disponível   no   site  http://tcosproject.org  para   ser   instalado   nas   distribuições   GNU/Linux 
Debian2,  Ubuntu3,  MaX 4.04,  Guadalinex5  e  Lliurex6. A versão atual é a 0.89.33 e está 
traduzida para o espanhol, inglês e português.
O   funcionamento   do   TCOS   depende   fortemente   de   uma   rede   constituída   pelos 
seguintes componentes:
● servidor, com alta performance de processamento;
● clientes magros, podendo ser thin clients7 ou computadores obsoletos;
● switch. Recomenda­se um switch que trabalhe com a taxa de transferência de, pelo 
menos, 100 Mbps.
A figura 1 mostra o exemplo de uma rede TCOS.

1 GPL – General Public Licence é reponsável por informar as regras de uso de Software Livres. Para obter mais 
informações acesse o site: http://www.gnu.org/licenses/gpl­2.0.html
2 O Debian é uma distribuição GNU/Linux muito utilizada em servidores. Para mais obter informações acesse o site 
http://debian.org 
3 Ubuntu é uma distribuição GNU/Linux muita utilizada em desktop, mas também possui uma versão para servidor. 
Mais informações podem ser obtidas no site http://www.ubuntu.com 
4 Max 4.0 é  desenvolvida pela comunidade de Madrid­ES, baseada no Ubuntu Hardy Heron 8.04 e com foco na 
educação. Para obter mais informações acesse o site www.educa.madrid.org/web/madrid_linux/ 
5 Guadalinex é uma distribuição GNU/Linux desenvolvida pela comunidade de Andalucia­ES. Para obter mais 
informações acesse o site http://www.guadalinex.org/ 
6 Lliurex é desenvolvida pela comunidade de Valencia­ES. Para obter mais informações acesse o site: 
http://lliurex.net 
7 Mais informações sobre os thin clients podem ser encontradas no site http://pt.wikipedia.org/wiki/Thin_client 

página  6  de  39
Manual do TCOS para administradores

Figura 1: Estrutura lógica de uma rede TCOS.

Como pode ser visto na figura 1, o servidor TCOS Server possui uma interface de 
rede conectada  a Internet e outra ao switch, no qual também estão conectados todos os 
clientes magros.
Teoricamente os requisitos mínimos do hardware dos clientes são:
● procesador Pentium II ou outro compatível com  clock  de, pelo menos, 300 a 350 
Mhz;
● 64 MB de memória RAM;
● interface   de   rede   com   taxa   de   transferência   de,   pelo   menos,   10   Mbps   e   com 
suporte ao protocolo PXE8. No entanto, recomenda­se o uso de uma interface de 
rede que trabalhe a 100 Mbps.
● placa gráfica, monitor, teclado e mouse.
Os clientes magros não necessitam de um disco rígido para serem inicializados, 
8 PXE – Preboot Execution Environment é um protocolo desenvolvido pela Intel e que é utilizado na inicialização de 
computadores via rede. Para mais informações acesse o site http://www.guiadohardware.net/termos/pxe 

página  7  de  39
Manual do TCOS para administradores

pois o protocolo PXE permite que eles obtenham a imagem do sistema operacional via 
rede. 
É possível inicializar os clientes magros usando os seguintes métodos:
● disquete  Etherboot  ou   gPXE9  =>   contém   um   pequeno  software  usado   para 
substituir os PXE Roms proprietários.
● CD­ROM  =>  inicializa os clientes magros com a imagem do sistema operacional 
criada pelo utilitário gentcos;
● disco   rígido   formatado   para   conter   a   imagem   do   disquete  Etherboot  ou   três 
arquivos de inicialização do TCOS (esse último possui um suporte maior).

Num   ambiente  de  rede  como  o  que  foi  mostrado  na  figura  1, a   maior parte   do 
processamento dos dados é centralizado no servidor e de forma transparente ao usuário. 
Ou   seja,   o   usuário   pensa   que   está   usando   os  recursos   do   cliente   magro,   quando   na 
verdade está usando os do servidor, que após o processar as informações enviará os 
resultados para serem visualizados na tela do cliente.
Para uma rede de 20 a 30 clientes, os requisitos aproximados do servidor são:
● processador Dual ou Quad (Core2Duo, Xeon, Dual Xeon);
● 500 MB de memória RAM, acrescida de 100 a 150 MB por cliente magro;
● duas   interfaces   de   rede   com   taxa   de   transferência   de   10/100/1000   Mbps.   No 
entanto, recomenda­se o uso de uma interface de rede que trabalhe, pelo menos, a 
100 Mbps.
● discos   rígidos   rápidos,   usando   RAID   1   para   obter   uma   maior   segurança   no 
armazenamento dos dados.

A função do TCOS é integrar os clientes magros ao servidor, gerar a imagem do 
sistema operacional, fornecer informações sobre o uso de cada cliente e das atividades 
dos usuários para que o administrador da rede possa gerenciá­los de forma simples e 
eficiente. 

2.1. Características e diferenças com outros sistemas

Além do TCOS existem outras soluções baseadas no GNU/Linux para os clientes 

9 gPXE é o sucessor do projeto Etherboot. Para obter mais informações acesse o site www.etherboot.org 

página  8  de  39
Manual do TCOS para administradores

magros, tais como: LTSP10(Linux Terminal Server Project),  PXES11,  X2go12, ThinStation13, 
etc...
Antes de compararmos com outros projetos conheça as características e vantagens 
do TCOS:
● pode ser utilizado em uma rede de computadores obsoletos com 32 a 64 MB de 
memória RAM;
● suporte a múltiplos clientes conectados, simultaneamente, ao mesmo servidor;
● uso de dispositivos removíveis nos clientes, como: CD­ROM, pendrive e etc;
● controle remoto do volume de som emitido pelos clientes;
● configuração automática da sessão gráfica do usuário;
● detecção e configuração automática do hardware dos clientes;
● redução   do   custo   de   propriedade   da   rede   e   reaproveitamento   dos   recursos 
disponíveis   no   servidor.   O   custo   de   propriedade   da   rede   envolve   aquisição   e 
manutenção dos equipamentos, licença de uso dos softwares, consumo de energia 
elétrica, etc;
● gerenciamento e monitoramento centralizado dos clientes e usuários através das 
aplicações TcosMonitor e TcosPHPMonitor;
● flexibilidade. Se houver alguma falha no  hardware  de um cliente, basta pedir ao 
usuário para iniciar uma nova sessão gráfica a partir de outro. Assim não haverá 
perda das informações, pois elas estão centralizadas no servidor;
● alta escalabilidade. Para aumentar o número de clientes na rede, basta aumentar a 
capacidade de processamento e a quantidade de memória RAM do servidor;
● é   possível   personalizar   uma   sessão   gráfica   para   cada   usuário   liberando   ou 
restringindo o acesso a determinados recursos e aplicações do servidor;
● a configuração e compilação da imagem do sistema operacional dos clientes pode 
ser feita usando a aplicação gráfica TcosConfig. Esse processo é muito flexível, 
pois permite adaptar o sistema ao perfil de hardware de cada cliente;

10 LTSP – Linux Terminal Server Project é um projeto criado pelo americano Jim McQuilan. Para mais informações 
acesse o site http://www.ltsp.org/ 
11 PXES Universal Linux Thin Client é um projeto de Software Livre da COD Technologies Ltd para uso em  thin 
clients. Para obter mais informações acesse o site http://pxes.org/ 
12 X2go é um projeto para uso em clientes magros. Para obter mais informações acesse o site http://www.x2go.org 
13 Thinstation é um pequeno sistema operacional para thin clients com suporte aos protocolos: Citrix ICA, 
NoMachine NX, 2X ThinClient, Microsoft Windows terminal services (RDP), Cendio ThinLinc, Tarantella, X, 
telnet, tn5250, VMS terminal e SSH. Para obter mais informações acesse o site http://www.thinstation.org/ 

página  9  de  39
Manual do TCOS para administradores

Ao compararmos o TCOS com o LTSP versão 5, uma das alternativas mais usadas, 
teremos os seguintes resultados:
● no LTSP 5 os clientes usam NFS14 (Network File System) para obter o sistema de 
arquivos raíz (opcionalmente podem usar  squashfs  sobre NBD15  ­  Network Block 
Device). No TCOS, os clientes  obtém  a imagem  squashfs  usando os protocolos 
TFTP (Trivial File Transfer Protocol), HTTP (Hipertext Transfer Protocol) ou NFS, 
mas   quando   o   cliente   possui   mais   do   que   38   MB   de   memória   RAM   não   é 
necessário utilizar NFS, o que diminui o consumo de memória;
● para os clientes com menos de 38 MB de memória RAM, TCOS inicializa­os da 
mesma maneira que o LTSP 5, usando o NFS. Mas sem usar o ambiente chroot 
completo, ou seja, sem usar a cópia completa do sistema operacional, apenas os 
arquivos necessários;
● se o servidor LTSP 5 falhar ou perder conectividade, todos os clientes  sofrerão um 
kernel panic  e precisarão ser reinicializados.   Com o TCOS, eles apenas tem de 
esperar o servidor voltar a funcionar normalmente;
● o sistema de acesso aos dispositivos removíveis utilizado por ambos os projetos é 
o LTSPFS (filesystem sobre Xorg + o módulo de kernel chamado FUSE). No TCOS 
houve   uma   melhoria   no   uso   desses   dispositivos   com   a   aplicação   gráfica 
TcosDevicesNG.   No   LTSP   5   esses   dispositivos   são   montados   de   forma 
automática e a desmontagem é complicada, mas no TCOS essas operações são 
realizadas de forma muito simples;
● LTSP   5   utiliza,   por   padrão,   o   diretório  /media  do   servidor   como   ponto   de 
montagem   dos dispositivos removíveis dos usuários. Enquanto que o TCOS usa 
um diretório do sistema do cliente magro de cada usuário. Dessa forma nenhum 
outro   usuário   pode   acessar   diretamente   o   conteúdo   desses   dispositivos   nem 
mesmo o usuário root do servidor;
● LTSP 5 só tem suporte a disquetes, memórias USB e CD­ROM de dados. O TCOS, 
além   desses   dispositivos   tem   suporte   a   partições   do   disco   rígido   (incluindo   o 
sistema de arquivos NTFS, CD­ROM USB, discos firewire16, CD de aúdio, etc;
● no LTSP 5 é necessário ter uma conexão com a  Internet,  um repositório local ou 
um CD­ROM/DVD­ROM com os pacotes para criar a imagem de inicialização dos 
clientes. TCOS utiliza os binários disponíveis no servidor. No LTSP5 esse processo 
demora mais de 15 minutos, no TCOS apenas 15 segundos;

14 NFS – Network File System um protocolo desenvolvido inicialmente pela Sun Microsystens. Para obter mais 
informações acesse o site http://en.wikipedia.org/wiki/Network_File_System_(protocol) 
15 NBD – Network Block Device. Acesse o site http://nbd.sourceforge.net/ para obter mais informações.
16 Firewire pode ser considerada uma tecnologia sucessora da quase obsoleta interface paralela SCSI. Para obter mais 
informações acesse o site http://pt.wikipedia.org/wiki/FireWire 

página  10  de  39
Manual do TCOS para administradores

● LTSP 5 não permite personalizar a imagem de inicialização dos clientes. Com o 
TCOS é possível personalizá­la e escolher o que será removido ou incluído.
● LTSP 5 tem uma ferramenta muito simples para administrar os clientes chamada 
Thin Client Manager17 e outra para configurá­los, a LTSP­Manager18.  TCOS 
possui   a   ferramenta  TcosPersonalize,     para   configurar   os   clientes; 
TcosMonitor  e  TcosPHPMonitor,  para   gerenciá­los.   O  TcosMonitor 
também   consegue   gerenciar   os   computadores   do   tipo  desktops,   desde   que 
possuam instalada a aplicação cliente tcos­standalone;
● o  LTSP 5  demorou  dois anos para  utilizar o  PulseAudio, um sistema  de  som 
melhorado à rede. TCOS utilizou­o desde o início, o que significa que se aposta 
mais no avanço de projetos pequenos;
● LTSP   5   só   permite   conexões   gráficas   entre   os   clientes   e   o   servidor   usando   o 
XDMCP   (X   Display   Manager   Control   Protocol).   Além   desse   protocolo,   o   TCOS 
utiliza: o rDesktop19 (para Windows Terminal Server), FreeNX20, SSH+X e o XRDP21;
● TCOS  usa   o  XMLRPC22  entre  o  servidor e  os clientes para  trocar  informações, 
tornando  mais fácil  o  desenvolvimento de  pequenos programas  ou  plugins para 
fazer tarefas simples.  O pam­usb­tcos, que será visto na próxima seção, é um 
exemplo desses plugins;
● TCOS possui uma pequena aplicação para controlar o nível dos canais de aúdio 
dos clientes (através do XMLRPC). No LTSP5 pode­se modificar apenas os canais 
Mestre e PCM;
● A configuração do servidor LTSP 5 é feita através da edição manual de arquivos de 
configuração. Além desse método o servidor TCOS pode ser configurado usado a 
aplicação gráfica Tcos­Configurator, tornando esse processo rápido e fácil.
● LTSP 5 não tem uma aplicação gráfica para configurar e compilar as imagens dos 
clientes. TCOS possui o TcosConfig.
Por outro lado, o LTSP é um projeto que existe a mais tempo, sendo bem mais 
conhecido   e   utilizado.   O   LTSP   também   possui   versões   para   outras   distribuições 

17 Thin Client Manager é uma ferramenta desenvolvida pelo projeto Bayanihan Linux. Para obter mais informações 
acesse o site http://thinclient.bayanihan.gov.ph/downloads.html 
18LTSP­Manager é uma ferramenta grafica desenvolvida pela comunidade de programadores do projeto LTSP e do 
sistema operacional GNU/Linux Ubuntu para configurar os clientes LTSP de forma bastante simples e intuitiva para o 
usuário. Para obter mais informações acesse o site http://wiki.edubuntu.org/LTSPManager 
19 rDesktop => http://www.rdesktop.org/ 
20 FreeNX => http://freenx.berlios.de/ 
21 XRDP => http://xrdp.sourceforge.net/ 
22 XMLRPC é um protocolo de chamada de procedimento remoto codificado em XML. Para obter mais informações 
acesse o site http://www.xmlrpc.com/ 

página  11  de  39
Manual do TCOS para administradores

GNU/Linux,   como:   Slackware   (http://www.slackware­brasil.com.br/web_site/),   Fedora 


(http://www.projetofedora.org/), etc.
Como   nem   tudo   na   vida   é   perfeito,   os   sistemas   de   clientes   magros   tem   seus 
inconvenientes:
● gera alto tráfego de dados na comunicação entre o cliente e servidor.
● o servidor passa a ser o ponto crítico da rede, ou seja, se ele parar de funcionar 
todos os usuários ficarão impossibilitados de trabalharem.  Pela mesma razão, a 
rede também torna­se um ponto crítico.
● O servidor pode ser mais vunerável a ataques, desde que um invasor tenha acesso 
a rede e o servidor TCOS não esteja suficientemente protegido e atualizado.
● O   servidor   é   compartilhado   com   todos   os   usuários.   Se   algum   processo   de   um 
determinado   usuário   consumir   muito   processamento   ou   memória   RAM,   isso 
causará problemas de desempenho aos demais. Para evitar esse problema acesse 
a   página  http://www.ss64.com/bash/ulimit.html  e   configure   o   arquivo 
/etc/security/limits.conf.

2.2. Ferramentas TCOS.

A seguir serão apresentadas as ferramentas TCOS:

● gentcos  =>   um   arquivo   de  shell   script  usado   para   compilar   as   imagens   de 
inicialização   para   o   TCOS   a   partir   das   configurações   personalizadas   pelo 
administrador;
● tcosconfig  =>  usada  para   criar e   personalizar  os  arquivos  de   inicialização   dos 
clientes. Desenvolvida em Python23  e GTK224, ela é uma interface gráfica para o 
gentcos;
● tcosmonitor => utilizada para gerenciar os clientes magros e desktops, desde que 
tenham instalado a aplicação cliente tcos­standalone.  

Com   o  TcosMonitor  é   possível   reiniciar/desligar   os   clientes,   bloquear   ou 


desbloquear a tela, teclado e mouse;   controlar o cliente utilizando o VNC25, capturar a 
tela,   encerrar   a   sessão   gráfica   dos   usuários,   executar   uma   aplicação   remota,   enviar 
23 Python é uma linguagem de programação interpretada e orientada a objetos. Para obter mais informações acesse o 
site: http://www.pythonbrasil.com.br/ 
24 GTK é um conjunto de ferramentas que permite desenvolver interfaces gráficas para programas escritos em C++, 
C# e Python. Para obter mais informações acesse o site: http://www.gtk.org/ 
25 O VNC – Virtual Network Computing é um programa usado para conectar graficamente a um computador remoto. 
Para obter mais informações acesse o site: http://www.guiadohardware.net/tutoriais/vnc/ 

página  12  de  39
Manual do TCOS para administradores

mensagens   aos   usuários   conectados,   visualizar/encerrar   as   aplicações   em   execução, 


acessar as informações de cada cliente (o uso do processador, consumo de memória 
RAM,   módulos   do  kernel  em   uso,   configurações   da   interface   de   rede,   processos   em 
execução,   etc),   compartilhar   arquivos   de   multimídia,   realizar   audioconferência,   entre 
outras.

● tcosphpmonitor  =>   uma   alternativa   ao   tcosmonitor   permitindo   gerenciar   os 


clientes através de um sistema Web, desenvolvido em PHP26. A versão atual ainda 
é considerada alfa, mas já está disponível nos repositórios do projeto para testes.

● tcospersonalize  => permite configurar algumas características dos clientes, tais 
como: a resolução da tela, os  drivers  de vídeo, módulos de  kernel,  entre outros. 
Leia a página de manual (man tcospersonalize) para obter mais detalhes.

● tcos­device­ng => utilizada para montar/desmontar automaticamente o CD­ROM, 
disco rígido, dispositivos USB, entre outros dispositivos conectados nos clientes. 
Para   obter   mais   informações   acesse   o   site: 
http://wiki.tcosproject.org/Utils/TcosDevices  ou   leia   a   página   de   manual   (man 
tcos­devices­ng). 

● pam­usb­tcos => um utilitário gráfico que associa o uso de um dispositivo USB a 
um   ou   mais   usuários.   Ele   evita   que   o   usuário   digite   a   senha   para   montar   ou 
desmontar o dispositivo todas as vezes em que ele for conectado ou desconectado 
nos clientes. A seguinte funcionalidade ainda não implementada será permitir o uso 
das sessões itinerantes.

● tcos­configurator  =>   permite   ao   administrador   configurar   o   servidor   TCOS   e 


alguns  serviços  de   rede  relacionados,  como:   o   DHCP,  cadastro   de   usuários   no 
sistema e configuração do gerenciador de login.

26 PHP é uma linguagem de programação que permite criar sistemas Web. Para obter mais informações acesse o site: 
http://br.php.net 

página  13  de  39
Manual do TCOS para administradores

3. Instalação do TCOS.

Para instalar o TCOS devemos optar por uma distribuição GNU/Linux derivada da 
Debian   ou   Ubuntu.   Para   esta   aula   usaremos   a   Debian   Lenny   5.0,   aproveitando   seu 
recente lançamento.

3.1. Configuração dos repositórios.

Acesse o console de comandos do sistema e obtenha as permissões do usuário 
root (administrador do sistema) com o comando abaixo:

$ sudo su

Lembrete:  Por convenção, neste tutorial o símbolo “$”, mostrado no início da linha de 
comando, indicará o prompt de um usuário comum no sistema. O símbolo “#” significará o 
prompt de comandos do usuário root.  Exceto quando inserido dentro de um arquivo, pois 
indicará um simples comentário para auxiliar na leitura do conteúdo.

Use um editor de texto de sua preferência e adicione ao fim do arquivo /etc/apt/
sources.list o seguinte conteúdo:
deb http://www.tcosproject.org lenny main experimental
Devemos importar a chave GPG do repositório. Há várias formas de fazer isso, 
mas a mais fácil é instalando o pacote tcos­keyring com os seguintes comandos:
# apt­get update
# apt­get install tcos­keyring

Aceitaremos   o   aviso   de   que   este   pacote   não   é   seguro   e   em  seguida   devemos 
executar o comando:
# apt­get update

Os pacotes TCOS estão divididos modularmente para que possam adaptarem­se a 
qualquer caso (para mais informações veja a tabela das versões dos pacotes disponíveisl 
em http://tcosproject.org/versions.php):
● tcos  => um metapacote que instala as dependências necessárias à configuração 
de um servidor de clientes magros;

página  14  de  39
Manual do TCOS para administradores

● tcos­core => binários (independentes da arquitetura) com alguns utilitários que se 
executam no cliente magro;
● initramfs­tools­tcos  =>   conjunto   de  scripts  para   compilação   das   imagens   de 
inicialização (logo veremos quais são) incluindo o script gentcos;
● tcos­standalone => pacote para ser instalado nos clientes autonômos e podermos 
gerencilá­los a partir do TcosMonitor tal como é feito com os clientes magros;
● tcosconfig => interface gráfica (frontend) do script de compilação das imagens dos 
clientes gentcos;
● tcosmonitor  =>   painel   de   administração   dos   clientes   para   o 
professor/administrador da rede;
● tcos­usplash e tcos­splashy => temas gráficos para a inicialização dos clientes;

● tcos­extra­modules­2.6.xx­xxx => módulos para cada kernel, no caso da Debian: 
unionfs, aufs, squashfs, cdfs, sis7019....
● ltspfs­server e ltspfs­client  => parte do cliente e servidor que permite o acesso 
aos dispositivos remotos;
● etherboot­tcos  => arquivos para criação das imagens universais de inicialização 
dos clientes;
● tcos­configurator  =>   ferramenta   que   permite   configurar   o   servidor   TCOS   em 
quatro passos fáceis.

Como o metapacote tcos instala todas as dependências necessárias simplesmente 
o instalamos:
# apt­get install tcos

Depois que terminar a instalação devemos configurar vários serviços:

3.2. Configuração do DHCP

O servidor DHCP (Dinamyc Host Configuration Protocol) instalado pelo tcos é o 


DHCP3. O DHCP é muito importante porque sem ele os clientes não inicializam. Também 
é   muito   importante   citar  que   o   servidor  DHCP  deve   ser  único   na   rede  e   se   existirem 
outros, o nosso deve ser “authoritative”.
Neste exemplo temos duas interfaces de rede: eth0, com qualquer  endereço IP 

página  15  de  39
Manual do TCOS para administradores

(Internet Protocol) e  eth1, com o IP estático  10.0.0.254, que assim pode servir­nos 


como porta de entrada à rede de clientes magros que desejamos que tenham conexão 
com a Internet.
Nos  servidores que  possuem mais  de  uma interface  de rede,  como  o nosso,  é 
preciso especificar a qual delas serão encaminhadas as requisições DHCP dos clientes. 
Para isso,  edite o arquivo /etc/default/dhcp3­server e especifique a interface de 
rede a ser utilizada. Por exemplo:
INTERFACES="eth1" 

No exemplo acima, eth1 é a interface de rede que estará conectada aos clientes.
Para configurar o DHCP edite o arquivo /etc/dhcp3/dhcpd.conf. Um exemplo 
de configuração deste servidor pode ser:
# /etc/dhcp3/dhcpd.conf
allow bootp; 
ddns­update­style ad­hoc; 
authoritative; 

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; 
option domain­name "tcos.local"; 
option option­128 code 128 = string; 
option option­129 code 129 = text; 

get­lease­hostnames true; 
next­server 10.0.0.254; 

shared­network WORKSTATIONS { 
  subnet 10.0.0.0 netmask 255.255.255.0 { 
    range dynamic­bootp 10.0.0.1 10.0.0.253; 
    filename "/tcos/pxelinux.0"; 
  } 

As   diferenças   na   configuração   de   um   servidor   DHCP   convencional   é   que 


necessitamos indicar explicitamente duas variáveis: next­server e filename.
Em seguida reinicie o serviço:
#/etc/init.d/dhcp3­server restart

página  16  de  39
Manual do TCOS para administradores

Para este caso necessitamos configurar nosso servidor para fazer NAT (Network  
Address Translation) na rede. Para isso crie o  script  nat­tcos.sh  dentro do diretório 
/usr/local/sbin e adicione o seguinte conteúdo:
#!/bin/bash 

if [ "$1" = "on" ]; then 
  echo 1 > /proc/sys/net/ipv4/ip_forward 
  iptables ­F 
  iptables ­t nat ­F 
  iptables ­­table nat ­­append POSTROUTING \
 ­­out­interface eth0 ­j MASQUERADE 
  iptables ­­append FORWARD ­­in­interface eth1 ­j ACCEPT 

elif [ "$1" = "off" ]; then 
  iptables ­F 
  iptables ­t nat ­F 
else 
  echo "Uso: $0 [on|off]" 
fi 

Depois disso dê permissão de execução ao script.
chmod +x /usr/local/sbin/nat­tcos.sh
Em   seguida   faremos   com   que   esse  script  seja   executado   na   inicialização   do 
sistema   operacional   do   servidor  editando   o   arquivo  /etc/rc.local  e   adicionando  a 
seguinte conteúdo antes da linha  exit 0:
bash /usr/local/sbin/nat­tcos.sh on

Para que o servidor DHCP entregue os nomes de máquina ou hostnames devemos 
editar o arquivo /etc/hosts indicando os pares IP <=> nome da seguinte forma:
10.0.0.1 equipo01
10.0.0.2 equipo02
....
10.0.0.253 equipo253

3.3. Configuração do TFTP

O TCOS instala por padrão o servidor Atftpd, que nas versões mais recentes do 
Debian e Ubuntu tem como diretório raiz o /var/lib/tftpboot.

página  17  de  39
Manual do TCOS para administradores

Simplesmente   devemos   verificar   se   dentro   desse   diretório   foi   criado   um  link 


simbólico   para   o   diretório   em   que   ficarão   os   arquivos   de   inicialização   dos   clientes:   o 
/var/lib/tcos/tftp. Para isso execute o comando:
# ls /var/lib/tftpboot/ ­l

Deve aparecer algo como:

  tcos ­> /var/lib/tcos/tftp

Para configurar o Atftpd edite o arquivo  /etc/default/atftpd    e substitua o 


conteúdo existente pelas linhas a seguir, lembrando que a expressão em negrito deve ser 
substituída pelos endereços da rede:

USE_INETD=false 
OPTIONS="­­daemon ­­port 69 ­­tftpd­timeout 300 ­­retry­timeout 10 
­­logfile   /var/log/atftpd.log       ­­mcast­port   1758   ­­mcast­addr 
10.0.0.0­255  ­­mcast­ttl   1   ­­maxthread   100   ­­verbose=5 
/var/lib/tcos/tftp"

Essa é a configuração básica do Atftpd, que irá usar a porta 69, especificada na 
opção  ­­port, para receber/enviar pacotes do tipo UDP (User Datagram Protocol)  aos 
terminais.  Na   opção  ­­logfile  deve   ser   especificado   o   arquivo   no   qual   serão 
registrados os logs do serviço (esse arquivo já deve existir, se não existir crie­o com o 
comando:

#touch /var/log/atftpd.log

Na   opção  ­­mcast­addr  deve   ser   especificado   o   endereço   da   rede   a   qual   os 


cliente magros pertencem  e, finalmente, o último parâmetro a ser informado é o diretório 
que contém os arquivos de inicialização.
Depois de configurá­lo, reinicie o Atftpd com o comando:

#/etc/init.d/atftpd restart

Em seguida, edite o arquivo  /etc/inetd.conf  e nas linhas que se referem ao 


TFTP, substitua­as pela linha a seguir: 

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd 


­­tftpd­timeout 300 ­­retry­timeout 10 ­­logfile 
/var/log/atftpd.log ­­mcast­port 1758         ­­mcast­addr 
10.0.0.0­255 ­­mcast­ttl 1 ­­maxthread 100 ­­verbose=5 
/var/lib/tcos/tftp 

página  18  de  39
Manual do TCOS para administradores

Depois disso reinicie o servidor, para que o serviço inetd possa carregar as novas 
configurações.

3.4. Servidores de fontes XFS e XFSTT.

Anteriormente o TCOS dependendia fortermente do servidor de fontes, mas a partir 
das versões recentes esse serviço se tornou opcional. Os servidores de fontes escutam 
as   requisições   dos   clientes   nas   portas   7100   e   7101/TCP,   dessa   forma   os   clientes 
conseguem ter as fontes tipográficas instaladas.
Para   configurar   o   XFS   é   necessário   editar   o   arquivo  /etc/X11/fs/config  e 
comentar a seguinte linha:
Antes:
no­listen = tcp

Depois:
#no­listen = tcp

Agora reiniciamos o serviço:
# /etc/init.d/xfs restart

A configuração do segundo servidor de fontes (XFSTT) é semelhante. Editamos o 
arquivo /etc/default/xfstt e configuramos:
Antes:
# LISTEN_TCP="yes"

Depois:
      LISTEN_TCP="yes"

No arquivo /etc/init.d/xfstt descomentamos o seguinte:


# To change the default port 
# and/or user modify and uncomment 

página  19  de  39
Manual do TCOS para administradores

portno=7101 
newuser=nobody 
portarg="­­port $portno" 
userarg="­­user $newuser" 

Agora reiniciamos o serviço:
# /etc/init.d/xfstt restart

Para verificar se os dois serviços estão funcionando corretamente executamos o 
comando:
# netstat ­tapun | grep 710 

tcp   0 0 0.0.0.0:7100 0.0.0.0:* LISTEN  6407/xfs        
tcp   0 0 0.0.0.0:7101 0.0.0.0:* LISTEN  6425/xfstt      
tcp6  0 0 :::7100      :::*      LISTEN  6407/xfs        
tcp6  0 0 :::7101      :::*      LISTEN  6425/xfstt

Os dois serviços são executados pelo usuário nobody, mas devemos protegê­los 
para que só sejam acessíveis a partir da interface eth1.

3.5. Configurando o GDM

No gerente de login do GNOME é necessário ativar o login remoto e opcionalmente 
o modo kiosko, este seria um extra do arquivo /etc/gdm/gdm.conf.
  Para configurá­lo edite o arquivo  /etc/gdm/gdm.conf  e nas sessões:  daemon, 
security  e  xdmcp,  modifique  as opções abaixo,  de   modo  que  tenham os  seguintes 
valores em negrito: 
[daemon] 
TimedLoginEnable=true 
TimedLogin=/usr/sbin/tcos­gdm­autologin| 
TimedLoginDelay=10 

[security] 
AllowRemoteAutoLogin=true
DisallowTCP=false 

página  20  de  39
Manual do TCOS para administradores

[xdmcp] 
Enable=true

Esta configuração também pode ser feita automaticamente usando o script  tcos­
gdm­autologin com a opção configure, como mostra o comando a seguir: 

# tcos­gdm­autologin ­­configure

Depois de editar o arquivo /etc/gdm/gdm.conf reinicie o GDM com o comando 
a seguir: 

# /etc/init.d/gdm restart

3.6. Configurando o KDM

Caso esteja utilizando o KDE, outro gerenciador de janelas, é necessário configurar 
o KDE Display Manager – KDM, o gerenciador de login usado pelo KDE. A configuração 
pode ser feita da seguinte maneira:

3.6.1. Para o KDE versão 3

Abra   o   arquivo  /etc/kde3/kdm/Xaccess  e     apague   o   símbolo   #,   que   está 


antes do símbolo *, na linha:

#* #any host can get a login window

E na linha:

#* CHOOSER BROADCAST #any host indirect host can get a chooser

Em   seguida   abra   o   arquivo  /etc/kde3/kdm/kdmrc.  Na   sessão   [XDMCP], 


troque a linha:

Enable=false

Por:

Enable=true

Depois de editá­los reinicie o KDM com o comando a seguir: 

página  21  de  39
Manual do TCOS para administradores

# /etc/init.d/kdm restart

3.6.2. Para o KDE versão 4

Abra  o  arquivo  /usr/lib/kde4/etc/kde4/Xaccess e  delete  o  #,  que  está 


antes do símbolo *, na linha:

#* #any host can get a login window

E:

#* CHOOSER BROADCAST #any host indirect host can get a chooser

Em   seguida   abra   o   arquivo  /usr/lib/kde4/etc/kde4/kdmrc.   Na   sessão 


[XDMCP], troque a linha:

Enable=false

Por: 

Enable=true

Depois de editá­los reinicie o KDM com o comando a seguir: 

# /etc/init.d/kdm­kde4 restart

página  22  de  39
Manual do TCOS para administradores

4. Gerando as imagens de inicialização.

As imagens de inicialização dos clientes podem ser geradas a partir do console de 
comandos,  com  o  script  gentcos,  ou  usando   o   assistente  gráfico  TcosConfig.  Na 
figura 2 é exibida a tela inicial do TcosConfig.

Figura 2: Tela de inicial do TcosConfig.

Esse  assistente   se   baseia   em  modelos  e   nas  modificações  das  variáveis  sobre 
cada modelo. Os modelos disponíveis são:

● tcosconfig.conf: utiliza todos os parâmetros indicados pelo administrador ao longo 
do processo de configuração do kernel. Permite uma configuração bastante flexível.

página  23  de  39
Manual do TCOS para administradores

● base.conf: template básico de configuração.

● tcos.conf.low:   desabilita   o   suporte   a   dispositivos   USB,   som   nos   terminais, 


TcosMonitor   (o   gerenciador   gráfico   dos   terminais),   a   discos   IDE   e   SATA. 
Recomendado para terminais antigos, que não possui suporte a esses dispositivos.
● tcos.conf.all: habilita todas as funcionalidades do TCOS. Indicado aos terminais 
que possuem suporte a estes recursos e dispositivos.
● tcos.conf.nfs: força a inicialização dos terminais a usar NFS (Network File System) 
e desabilita: o suporte a dispositivos USB, som nos terminais, TcosMonitor, discos 
IDE e SATA.

Esses modelos ficam inicialmente no diretório /usr/share/initramfs­tools­
tcos/templates/.   O   modelo   selecionado   será   armazenado   em 
/etc/tcos/templates para ser usado pelo TCOS. 

4.1. Como são geradas as imagens?

A   figura   3   mostra   um   esquema   de   como   é   gerada   a   imagem   carregada   pelos 


clientes.

Figura 3: Esquema da geração da imagem do sistema dos clientes TCOS.

página  24  de  39
Manual do TCOS para administradores

Como   podemos   na   figura   3,   o  script  gentcos  copia   certas   partes   do   sistema 


operacional   do   servidor   para   um   diretório   temporário   e   depois   disso   se   obtém   três 
arquivos:
● vmlinuz­2.6.xx­xx  => é o  kernel  da distribuição. É recomendado usar um  kernel  
486  ou   similar. Também devemos instalar o  pacote  tcos­extra­modules­2.6.xx­xx 
para que as imagens tenham os módulos necessários.
● initramfs­2.6.xx­xx  => é uma pequena distribuição que é executada na memória 
RAM do cliente magro e que contém o necessário para configurar a rede e  obter o 
restante da distribuição.
● usr­2.6.xx­xx.squashfs  =>   é   o   diretório  /usr  comprimido   dessa   pequena 
distribuição e que é descarregado na metada da inicialização, o que permite que os 
cliente necessitem de menos memória RAM inicial do que se fosse incluído por 
padrão no initramfs.

4.2. Processo de inicialização

O método de inicialização via rede é o mais usado, por isso é necessário entender 
como ele funciona. A figura 4 mostra as etapas da inicialização de um cliente TCOS.

Figura 4: Etapas do inicialização de um cliente TCOS.

Ao ser inicializado, o cliente passa instruções de várias maneiras a interface de 

página  25  de  39
Manual do TCOS para administradores

rede para fazer requisições ao servidor DHCP em questão (lembram do conteúdo das 
variáveis next­server e filename do arquivo dhcpd.conf?).
Temos várias formas de inicializar o cliente via rede:
● quando a interface de rede suporta nativamente o protocolo PXE, simplesmente 
configuramos  esse   dispositivo   na   BIOS  (Basic  Input   Output   System)  para   ser   o 
primeiro da ordem de inicialização do cliente;
● Quando   a   interface   de   rede   não   suporta   o   protocolo   PXE,   devemos   ajudá­la 
usando um disquete:
No servidor introduzimos  um disquete vazio e executamos o comando: 

  # make­tcos­floppy

● Com   ele   preparado   configuramos   o   disquete,   na   BIOS   do   cliente,   para   ser   o 


primeiro dispositivo de inicialização. Uma vez inicializado seguiremos os seguintes 
passos:
Aperte Ctrl + Alt + F1, logue­se como root (com a mesma senha informada no 
tcosconfig) e execute:

   # etherboot­installer.sh

Isto formatará o disco rígido do cliente, criando duas partições: uma para a SWAP 
(memória virtual com o dobro do tamanho da memória RAM) e outra com o sistema de 
arquivos FAT32,  usando o restante do espaço do disco e a imagem gravada no disquete.
Uma vez que o servidor tenha respondido a requisição DHCP, o cliente se conecta 
a ele, usando o protocolo TFTP (ou outros protocolos já mencionados na seção 2), para 
obter em primeiro lugar os arquivos vmlinuz e initramfs. Após  descompactá­los 
na   memória   RAM,   o   cliente   envia   a   segunda   requisição   DHCP   para   obter   as 
configurações da interface de rede (endereço IP, máscara de sub­rede, IP do gateway, do 
servidor DNS, etc), escaneia o disco rígido em busca da partição SWAP, obtém o arquivo 
squashfs, monta­o na memória e executa alguns serviços e  deamons. Esse processo é 
mostrado na figura 5.

página  26  de  39
Manual do TCOS para administradores

Figura 5: Detalhes da inicialização de um cliente TCOS.

As imagens de inicialização executam em ordem os seguintes scripts TCOS:
● tcos­top => configura a rede e se necessário carrega o sistema via NFS;
● tcos­premount => obtém o arquivo squashfs e monta o NFS ou criar o ambiente 
chroot;
● tcos­boton => inicializa os serviços e se conecta ao GDM do servidor.

Esse processo é mostrado na figura 6.

página  27  de  39
Manual do TCOS para administradores

Figura 6: Inicialização detalhada de um cliente TCOS.

Outra   coisa   que   diferencia   o   TCOS   dos   outros   sistemas   é   que   não   deixam   o 
initramfs,   incluindo   o   Xorg   executar   a   partir   de   um   mini­sistema   operacional   na 
memória. 

4.3. Os possíveis problemas de inicialização e as soluções

a)  O cliente não consegue IP depois de iniciar o disquete 

Possíveis problemas: defeito no cabo de rede, na interface de rede ou no servidor 
DHCP. 

página  28  de  39
Manual do TCOS para administradores

Possíveis soluções:
● verifique   se   o   cabo   de   rede   está   funcionando   corretamente   e   se   há   enlace 
(observando   se   os  leds  acendem)   tanto   no   cliente   quanto   no  swicth.  Observe 
também o cabo que liga o servidor ao swicth;
● verifique também se a interface de rede está funcionando corretamente, enviando 
Pings de um cliente a outro;
● leia os  logs  do servidor DHCP para ver o que foi informado sobre a requisição. 
Para isso execute no servidor o comando:
# tail ­f /var/log/syslog

Este comando irá mostrar o  log  do sistema e nos dará um texto como este que 


reporta a inicialização completa de um cliente TCOS:
Mar 25 21:04:01 localhost dhcpd: DHCPREQUEST for 192.168.0.211 (192.168.0.3) from
08:00:27:d3:bb:c1 via br0
Mar 25 21:04:01 localhost dhcpd: DHCPACK on 192.168.0.211 to 08:00:27:d3:bb:c1 via br0
Mar 25 21:04:01 localhost dhcpd: DHCPREQUEST for 192.168.0.211 (192.168.0.3) from
08:00:27:d3:bb:c1 via br0
Mar 25 21:04:01 localhost dhcpd: DHCPACK on 192.168.0.211 to 08:00:27:d3:bb:c1 via br0

FIM DA REQUISIÇÃO DHCP

Mar 25 21:04:01 localhost in.tftpd[864]: connect from 192.168.0.211 (192.168.0.211)


Mar 25 21:04:01 localhost atftpd[864]: Advanced Trivial FTP server started (0.7)
Mar 25 21:04:01 localhost atftpd[864]: Serving /tcos/pxelinux.0 to 192.168.0.211:2001
Mar 25 21:04:01 localhost atftpd[864]: Serving
/tcos/pxelinux.cfg/56424f58-0000-0000-0000-080027d3bbc1 to 192.168.0.211:57089
Mar 25 21:04:01 localhost atftpd[864]: Serving /tcos/pxelinux.cfg/01-08-00-27-d3-bb-c1 to
192.168.0.211:57090
Mar 25 21:04:01 localhost atftpd[864]: Serving /tcos/pxelinux.cfg/C0A800D3 to
192.168.0.211:57091
Mar 25 21:04:01 localhost atftpd[864]: Serving /tcos/pxelinux.cfg/C0A800D to
192.168.0.211:57092
Mar 25 21:04:01 localhost atftpd[864]: Serving /tcos/pxelinux.cfg/C0A800 to
192.168.0.211:57093
Mar 25 21:04:01 localhost atftpd[864]: Serving /tcos/pxelinux.cfg/C0A80 to 192.168.0.211:57094
Mar 25 21:04:01 localhost atftpd[864]: Serving /tcos/pxelinux.cfg/C0A8 to 192.168.0.211:57095
Mar 25 21:04:01 localhost atftpd[864]: Serving /tcos/pxelinux.cfg/C0A to 192.168.0.211:57096
Mar 25 21:04:01 localhost atftpd[864]: Serving /tcos/pxelinux.cfg/C0 to 192.168.0.211:57097
Mar 25 21:04:01 localhost atftpd[864]: Serving /tcos/pxelinux.cfg/C to 192.168.0.211:57098
Mar 25 21:04:01 localhost atftpd[864]: Serving /tcos/pxelinux.cfg/default to
192.168.0.211:57099
Mar 25 21:04:01 localhost atftpd[864]: Serving /tcos/tcos.msg to 192.168.0.211:57100
Mar 25 21:04:01 localhost atftpd[864]: Serving /tcos/logo.lss to 192.168.0.211:57101

COMEÇA A CARREGAR O KERNEL

Mar 25 21:08:30 localhost atftpd[864]: Serving /tcos/vmlinuz-2.6.26-1-486 to


192.168.0.211:57102
Mar 25 21:08:33 localhost atftpd[864]: Serving /tcos/initramfs-2.6.26-1-486 to
192.168.0.211:57103

Verifique   se   o  range  de   endereços   IP's   do   nosso   servidor   DHCP   também   está 

página  29  de  39
Manual do TCOS para administradores

definido no arquivo /etc/hosts. 
Para resolver esse problema use o o script tcos­gdm­autologin, com a opção 
add,  para   adicionar   os  IP's  dos   clientes   de     forma   automática.   O  script  irá   editar   os 
arquivos  /etc/hosts  e  /etc/dhcp3/dhcpd.conf  associando   os   respectivos 
endereços IP aos nomes de host de cada terminais  da rede.
Por exemplo: Para a nossa rede 10.0.0 com apenas três terminais a configuração 
será a seguinte:

# tcos­gdm­autologin ­­add 

Please input the common prefix of hosts/users (example host): 
nome_do_host 
Need network IP Address of thin clients (example 192.168.0): 
10.0.0 
Number of host/users to generate (number): 3 
Start generating from (default 1): 101 

I will generate users and hostnames from "host1" to "host3" 
with ip adresses from 10.0.0.101 to 10.0.0.103 
and uncompress "/root/skel.tar.gz" as HOME_TEMPLATE 

Are you sure you want this? [y/n] y

OBS.:  Os   termos   em   negrito   são   os   parâmetros   de   configuração   que   deverão   ser 
informados de acordo com a sua rede.

/etc/hosts 
10.0.0.101 nome_do_host1 
10.0.0.102 nome_do_host2 
10.0.0.103 nome_do_host3 
  
/etc/dhcp3/dhcpd.conf 
host host1 { 
        hardware ethernet       00:04:xx:xx:xx:xx; 
        fixed­address              10.0.0.101; 

  host nome_do_host2 { 
        hardware ethernet       00:04:xx:xx:xx:xx; 
        fixed­address              10.0.0.102; 

host nome_do_host3 { 
        hardware ethernet       00:04:xx:xx:xx:xx; 
        fixed­address              10.0.0.103; 

página  30  de  39
Manual do TCOS para administradores

Observe   que   após   a   execução   do  script  acima   são   criadas   contas   no   sistema 
associadas a nome de cada terminal.

b)  O cliente inicializa, mas quando chega na sessão gráfica aparece apenas um  
 tela cinza com o cursor do  mouse
    em forma de X.
   

Isso acontece porque há problemas na conexão com o GDM ou há excesso de 
conexões no enlace da rede:
Para   corrigir   esse   problema   configure   o   GDM   para   aumentar   o   número   de 
conexões   editando   o   arquivo  /etc/gdm/gdm.conf.  Por   padrão   são   16   conexões 
simultâneas, mas vamos aumentar para 50, por exemplo:

[xdmcp] 
Enable=true 
MaxSession=40 
MaxPending=60 
MaxPendingIndirect=30 
MaxWait=75 
MaxWaitIndirect=80 
DisplayperHost=4 
PingIntervalSeconds=35 
DisplaysPerHost=4 
MaxSessions=50 

As   vezes   o   GDM   fica   instável   se   a   conexão   com   o   servidor   DNS   não   estiver 
correta, não acessá­la ou não houver nenhuma ligação na interface de rede eth0, para de 
detectar o PID do processo do GDM e "straceá­lo".

# ps aux|grep gdm
root  1417  0.0   0.0     16076     2556   ?   S   21:09   0:00 
/usr/sbin/gdm

TEREMOS COMO PID 1417

# strace ­p 1417

ISTO NOS DARÁ ALGUMA PISTA DO QUE ESTÁ ACONTECENDO

página  31  de  39
Manual do TCOS para administradores

Uma   das   adições   ao   servidor   para   melhorar   o   desempenho   do   GDM   é   ter   um 
servidor DNS local. É recondável usa o bind9 ou pdnsd. O primeiro é capaz de ler o 
arquivo  /etc/hosts  e   resolver   os   nomes   computador   em   IP   (vice­versa),   utilizando 
chamadas DNS.

c)  O cliente faz o download do sistema via rede, mas não exibe a sessão gráfica  
ou pisca indefinidamente

Problemas  com   a   placa   gráfica.  Algumas  placa   gráficas   Intel   são   incompatíveis 
com o driver VESA, TCOS inclui alguns hacks para ativar estas placas gráficas durante o 
uso do TcosConfig.
O teclado ou  mouse estão com defeito ou usam drivers incorretos. TCOS suporta 
mouses PS2, serial ou USB óticos ou não. Se o mouse não for detectado, o Xorg não é 
carregado.
Qualquer um desses problemas podem ser verificados no log registrado no arquivo 
/var/log/Xorg.0.log  do cliente (as últimas linhas do arquivo mostram a causa do 
problema).
Outro  possível  problema é a má configuração do GDM. Leia  novamente a sub­
seção 3.5 e revise as configurações.

d)  O cliente “trava” durante a inicialização 

Se   ao   apertar   a   tecla  Caps   Look  ou  Num   Lock  do   teclado   e   os  leds  não 
funcionarem, então, temos um kernel panic. Um dos possíveis motivos é que o cliente não 
tem memória RAM suficiente para ser inicializado.
Recomenda­se   no   mínimo   64   MB   de   memória   RAM,   para   que   os   clientes 
sejam inicializados corretamente.
Para clientes com menos memória do que o recomendado devemos configurar uma 
inicialização alternativa mediante NFS. Para isso devemos gerar as imagens NFS com o 
comando:
# gentcos ­nfs ­rootfs

Em   seguida   instalamos   pacote  nfs­kernel­server   (apt­get   install 


nfs­kernel­server)   e   adicionamos   no   arquivo  /etc/exports  a   seguinte   linha, 
configurando o range da rede que estamos usando:
/var/lib/tcos 
10.0.0.0/255.255.255.0(ro,no_root_squash,sync,no_subtree_c
heck)

O cliente deveria receber sempre o mesmo IP. Para isso podemos reservar um IP 

página  32  de  39
Manual do TCOS para administradores

no   arquivo   /etc/dhcp3/dhcpd.conf   a   partir   do   endereço   MAC   da   interface   de   rede   do 


cliente:
  host cliente20 { 
      # pouca RAM
      hardware ethernet     08:00:27:a6:1e:d3; 
      fixed­address             10.0.0.20; 
    } 

Depois disso executamos o seguinte comando:

# tcospersonalize ­­host=10.0.0.20

Será exibida uma tela semelhante a da figura 7. 

 
Figura 7: Configurando um cliente TCOS.

Nesta tela devemos selecionar o kernel que estamos usando no TCOS. O método 
de   inicialização   é   o   NFS.   Agora   informamos   no   campo   “Linha   de   arranque”   essas 
palavras: quiet splash forcenfs. Depois clicamos em Aplicar.
Isto criará um arquivo de texto, cujo o nome terá o IP invertido em hexadecimal no 
diretório  /var/lib/tcos/tftp/pxelinux.cfg/.
Isso   fará   que   esse   cliente   necessite   de   menos   memória   para   inicializar,   em 
compensação consumirá mais recursos da rede por meio do protocolo NFS.

página  33  de  39
Manual do TCOS para administradores

e)  Se reinicia a sessão gráfica do cliente 

Possível  problema  com o  cabo  de   rede, pouca   memória  ou  placa  gráfica   muito 
ruim. O melhor jeito de descobrir o motivo da queda da sessão gráfica é olhando os logs 
do arquivo /var/log/Xorg.0.log  do cliente (podemos acessar esse arquivo via ssh 
a partir do servidor).
Mesmo que a placa gráfica sirva, se o cliente tiver pouca memória isso pode não 
ser o suficiente para usar a versão mais nova do Xorg. Como solução podemos investigar 
o fabricante e o modelo da placa para configurar esse cliente a usar um driver distinto...
Quando o cliente for iniciado e aparecer a palavra “boot:” escreveremos o seguinte 
texto em negrito:
boot: tcos xdriver=xxxxxx

Onde “xxxxx” no comando acima representa o nome do driver a ser utilizado. 

Se este truque funcionar, usaremos o tcospersonalize e acrescentaremos esse 
driver  no campo Linha de Arranque.

Instalação do ponto de rede e cache DNS (Domain Name Server).

O   GDM   é   instável   se   a   conexão   (enlace   físico)   é   instável.   Para   resolver   este 


problema pode­se usar um ponto de rede e um cache DNS. Para configurar um ponto de 
rede   editamos,   no   servidor,   o   arquivo  /etc/network/interfaces  para   ativar   a 
seguinte interface:

auto br0 
iface br0 inet static 
    address 10.0.0.254 
    network 10.0.0.0 
    netmask 255.255.255.0 
    broadcast 10.0.0.255 
    bridge_ports eth1
    bridge_maxwait 3 
    dns­nameservers xx.xx.xx.xx xx.xx.xx.xx

Para   a   configuração   do  cache  DNS   instalamos   o   pacote  pdnsd  (apt­get 


install   pdnsd)   e   o   configuramos   manualmente   editando   o   arquivo 
/etc/pdnsd.conf:

página  34  de  39
Manual do TCOS para administradores

global { 
perm_cache=1024; 
cache_dir="/var/cache/pdnsd"; 
run_as="pdnsd"; 
server_ip = br0;  // Use eth0 here if you want to allow other 
// machines on your network to query pdnsd. 
status_ctl = on; 
   paranoid=on; 
// query support for this to work. 
min_ttl=15m;       // Retain cached entries at least 15 minutes. 
max_ttl=1w;    // One week. 
timeout=10;        // Global timeout option (10 seconds). 

server { 
    label = "root­servers"; 
    root_server = on; 
    randomize_servers = on; 
    ip = 87.216.1.65, 87.216.1.65; // poner aquí los DNS de nuestro ISP
timeout = 5; 
uptest = query; 
interval = 30m;      // Test every half hour. 
ping_timeout = 300;  // 30 seconds. 
purge_cache = off; 
exclude = .localdomain; 
policy = included; 
preset = off; 

source { 
owner=localhost; 
file="/etc/hosts"; 

rr { 
name=localhost; 
reverse=on; 
a=127.0.0.1; 
owner=localhost; 
soa=localhost,root.localhost,42,86400,900,86400,86400; 

É importante modificar no arquivo  /etc/dhcp3/dhcpd.conf  para que ele sirva 


este DNS e no arquivo  /etc/default/dhcp3­server  e para receber as requisições 
através do interface br0.
Se tivermos mais clientes na rede será necessário editar o  script  nat­tcos.sh, 
visto na sub­seção 3.1 para que a interface de rede interna seja a br0.

Se após essas dicas ainda acontecerem problemas na inicialização dos clientes, 
peça ajuda a outros usuários através dos seguintes meios:

página  35  de  39
Manual do TCOS para administradores

● IRC:   Usando   um   cliente   IRC,   como   por   exemplo   o   Chatzilla 


(https://addons.mozilla.org/pt­BR/firefox/addon/16),  conecte­se   ao   servidor 
http://irc.freenode.net  digitando no cliente IRC o seguinte comando:

/server irc.freenode.net

E acesse o canal #tcos com o comando:

/j tcos

Todas as mensagens do canal estão disponíveis em:
 http://www.tcosproject.org/irclogs 

● Comunidade de usuários: Para interagir com outros usuários ou administradores 
de rede que usam o TCOS acesse as listas de discussão abaixo:

Comunidade espanhola: http://groups.google.com/group/tcos­usuarios?hl=es 
Comunidade inglesa: http://groups.google.com/group/tcos­usuarios?hl=en
Comunidade brasileira: http://groups.google.com/group/tcos_brasil  

página  36  de  39
Manual do TCOS para administradores

5. TcosMonitor

Essa   é   a   ferramenta   que   permite   ao   professor   ou   administrador   controlar   os 


clientes e interagir com os usuários. Na figura 8 é mostrada uma tela do TcosMonitor.

Figura 8: Usando o TcosMonitor.

Seu funcionamento é muito simples. Na primeira vez devemos configurar ao clicar 
no botão preferências: o método de escaneio dos clientes, a autenticação (use a senha 
do   usuário   root   informada   no   TcosConfig)   e   alguns   outros   parâmetros   que   variam   de 
acordo com o gosto e as necessidades de cada um.
TcosMonitor permite ver os clientes da rede como numa sala de aula, por meio de 
uma lista ou ícones, como mostrado na figura 9.

página  37  de  39
Manual do TCOS para administradores

Figura 9: Visualizando os clientes da rede no TcosMonitor.

O modo “Simulate Class Roon” ou “Simule uma sala de aula” nos permite organizar 
os   clientes   da   rede   em   ícones,   movimentando­os   de   maneira   a   deixá­los   de   forma 
semelhante a como estão conectados fisicamente na rede.
Na sessão gráfica e remota de cada usuário (nos clientes) são executados dois 
novos programas:

● tcos­devices­ng => reponsável por montar os dispositivos removíveis, permitir o 
acesso rápido ao conteúdo e desligar ou reiniciar o cliente. Vide figura 10.

Figura 10: Tcos­devices­ng em uso.

página  38  de  39
Manual do TCOS para administradores

● tcos­volume­manager: controla os canais de aúdio da placa de som dos clientes. 
Vide figura 11.

Figura 11: Tcos­volume­manager em uso.

Estas duas aplicações podem ser ativadas ou desativadas globalmente no arquivo 
/etc/tcos/tcosmonitor.conf e podemos permitir o uso de discos rígidos locais (se 
existirem)   dos   clientes,   de   CDROM,   etc;   a   partir   do   arquivo  /etc/tcos/tcos­
devices­ng.conf.

página  39  de  39

Você também pode gostar