Início > Tutorial > Aproveitando computadores antigos. Usando Debian para logar automaticamente no WTS.

Aproveitando computadores antigos. Usando Debian para logar automaticamente no WTS.

No meu trabalho, temos um servidor WTS (Windows Terminal Service) onde aos poucos, estamos migrando os computadores mais antigos para que façam seu uso. O problema é que muitos destes computadores tem pouca memória, e fica inviável instalar o Windows XP, atualizar, e deixar configurado para utilizar o WTS. No computador que utilizei como exemplo para este post, mesmo que ele tivesse com 512Mb de memória RAM, levaria quase um dia inteiro de trabalho para fazer o Windows update.

Sendo assim, lembrei-me que a alguns anos atrás, eu havia aproveitado um pentium 233 usando o Slackware para que fizesse o login em modo texto sem pedir senha, e abrisse somente o X com o rdesktop, que é o programa responsável no Linux por fazer a conexão com o WTS usando o protocolo RDP da microsoft. Resumindo um Thin Client caseiro.

Resolvi aproveitar a necessidade atual, e refazer o procedimento, só que desta vez utilizando o Debian e compartilhando também o Pen Drive e o CD-Rom. A solução toda não consome mais que 600Mb de espaço no HD, e apenas 51Mb de memória RAM. Testei esta solução tanto em uma máquina virtual com Virtual Box, como em um máquina real, um P3 de 1Ghz com 128Mb de RAM.

Para começar o procedimento, eu fiz a instalação mínima do Debian 5, utilizando o CD netinstall, com apenas o mínimo necessário para inicializar o sistema. Não vou falar muito sobre particionamento, pois como citei anteriormente, a solução toda não consome mais que 600Mb de espaço, então fica a seu critério como quer particionar. No meu caso, criei um partição de 2,5Gb em um HD de 15Gb, que foi muito mais que o suficiente.

Com o sistema instalado, temos que criar um usuário (ou você pode utilizar o usuário criado na instalação), que fará o login automático no sistema, por isso recomendo que seja um usuário comum. Note que apesar do login ser automático, você pode e deve criar o usuário com sua respectiva senha, ela não será solicitada, mas é mais seguro criá-lo com senha.

Para fazer o login automático precisamos instalar um programa chamado: rungetty. Esta dica eu tirei do site Debian Admin.

#sudo apt-get install rungetty

Com o rungetty instalado, precisamos alterar o arquivo /etc/inittab

#vi /etc/inittab

E comentar a linha:

#1:2345:respawn:/sbin/getty 38400 tty1

Repare no “#” no começo da linha, isso indica que ela esta comentada.

E em seu lugar inserir a seguinte linha:

1:2345:respawn:/sbin/rungetty tty1 --autologin USUARIO

Em USUARIO coloque o login que você criou para que faça o logon automático, depois é só salvar o arquivo e reiniciar o computador que ele deve iniciar com o usuário escolhido.

Agora temos que tratar de instalar o servidor X o rdesktop e mais alguns programas necessários, como o usbmount e o autofs5, ambos utilizados para a montagem automática do pendrive e do CD-Rom respectivamente. Digite como root no terminal o seguinte comando:

#sudo aptitude install xbase-clients xserver-xorg rdesktop autofs5 usbmount pmount sudo

Agora que temos todos os pacotes instalados, precisamos fazer algumas configurações no /etc/usbmount/usbmount.conf e no /etc/auto.misc para não termos problemas com as permissões dos dispositivos ao tentar acessá-los pelo WTS.

No arquivo /etc/usbmount/usbmount.conf é necessário adicionar o sistema de arquivos VFAT, ou seu pen drive não será montando. Adicione o VFAT na linha:

FILESYSTEMS=”ext2 ext3″

Ficando desta forma:

FILESYSTEMS=”vfat ext2 ext3″

Outra alteração necessária, é a permissão de montagem. Se você deixar assim como esta, você enxergará o dispositivo usb mas não terá permissão para alterá-lo, para resolver este problema eu fiz o seguinte, verifique o UID e o GID do seu usuário criado, o mesmo que fará o login automático no WTS. Se você estiver usando o usuário criado na instalação, o UID deverá ser 1000 e o GID 1000 também, caso use outro usuário, verifique no arquivo /etc/passwd e no /etc/group. Este número é criado em sequência, então se você criou outro usuário após a instalação para utilizar no WTS, provavelmente o UID e o GID serão 1001.

Com o UID e o GID em mãos altere a seguinte linha ainda no arquivo /etc/usbmount/usbmount.conf:

FS_MOUNTOPTIONS=””

para:

FS_MOUNTOPTIONS=”uid=1000,gid=1000″

Assim o dispositivo será montando com permissão total para o usuário com gid=1000 e uid=1000.

Agora vamos para o autofs, que será responsável pela montagem automática do CDROM.

Altere o arquivo /etc/auto.master descomentando (removendo a tralha) da linha:

misc /etc/auto.misc

Em seguida altere o arquivo /etc/auto.misc adicionando os parâmetros uid=1000 e gid=1000 na linha a seguir:

cd -fstype=uid=1000,gid=1000,iso9660,ro,nosuid,nodev :/dev/cdrom

Com as configurações prontas, agora precisamos que o sistema além de logar automaticamente com o usuário que queremos, também abra o X já conectando no WTS de forma automática, afinal não da para dizer para o usuário digitar startx toda vez que ligar o computador né?

Para isso devemos criar 2 arquivos no $HOME do usuário. O .xserverrc e o .xinitrc:

$touch .xserverrc

$touch .xinitrc

Dentro do arquivo .xserverrc coloque a seguinte linha:

exec /usr/bin/X

Somente isso, e no arquivo .xinitrc, coloque isto:

exec /usr/bin/rdesktop -5 -f -z ip_do_servidor

Teste agora executando o comando startx, ele deverá abrir o X puro, sem gerenciador de janelas, e pedir o usuário e senha do seu WTS.

Agora temos que configurar as opções do rdesktop relativas ao mapeamento de discos, pois só assim como o executamos,  o cdrom e o pendrive não serão reconhecidos no WTS. Digitando somente o comando rdesktop, ele mostra um help bem útil, estude-o conforme suas necessidades, eu utilizei a seguinte linha aqui no meu .xinitrc:

exec /usr/bin/rdesktop -5 -z -f -r disk:usb=/media/usb -r disk:cdrom=/misc/cd ip_do_servidor_wts

Note que o diretório /misc/cd fará com que o autofs monte o CD dando acesso ao dispositivo via WTS. Da mesma forma o diretório /media/usb, pois o usbmount monta o dispositivo neste diretório.

Estamos quase terminando, teste bastante até ficar satisfeito, agora só falta iniciar o comando startx automaticamente. E que tal se fizéssemos também com que ao fazer logoff do WTS, o computador deligue? Então vamos a pratica. Crie no $HOME do usuário o arquivo .bash_profile:

$touch .bash_profile

E insira dentro do arquivo os seguintes comandos:

#!/bin/bash

startx

sudo /sbin/halt

Se você conhece um pouco de linux, percebeu que quando o usuário logar, vai executar o comando startx, e quando ele fechar a interface gráfica do linux, ou seja, fizer o logoff no WTS, será executado o desligamento do computador.

Como último passo precisamos configurar o sudo, para permitir que o usuário que fará o login automático tenha permissão para desligar o computador. Edite o arquivo /etc/sudoers com o comando:

#visudo

E adicione ao final do arquivo a seguinte linha:

usuario ALL=NOPASSWD:/sbin/halt

Onde mais uma vez, “usuario” é o usuário utilizado para fazer o login automático. Salve o arquivo e para finalizar reinicie seu sistema para testar. Note que o pendrive e o CD-Rom irão aparecer no WTS em “Meu Computador” e obviamente só aparecerá algum arquivo se você tiver inserido algum dispositivo.

Espero que este tutorial possa ajudar alguém, apesar de eu preferir que fosse um LTSP, (como tenho alguns aqui), infelizmente precisamos rodar alguns sistemas administrativos que só tem disponibilidade para Windows.

Abraços…

Anúncios
Categorias:Tutorial
  1. 18/07/2011 às 2:44 PM

    Muito legal. Curto muito esses artigos que possibiliam dar uma “sobrevida” aos hardwares antigos. Acho que sob o aspecto empresarial é interessante a economia obtida na área de hardware. E sob o aspecto social é interessante pois fornece substrato para aqueles que são contrários a obsolescência programada.

  2. 18/07/2011 às 2:52 PM

    Obrigado pelo feedback Sr. hilton gil.

  3. bruno miranda
    22/07/2011 às 3:01 PM

    Aqui na empresa que trabalho estou pensando em fazer algo do tipo, qual hardware do servidor você recomenda para 10 workstations com Microsoft Windows XP, elas só precisam rodar um sistema de gestão que não usa mais de 50 mb de ram e ocasionalmente o BrOffice (Calc e Write). Muito bom o artigo, é sempre bom reaproveitar o que ja temos, por aqui vamos economizar bastante comprando um servidor ao invés de trocar todas worksations.

    • 22/07/2011 às 4:09 PM

      Olá Bruno, aqui na empresa temos um Core 2 Duo, com 4Gb de RAM, e tem hoje, no máximo 30 usuários, mas não usam todos ao mesmo tempo.

      Até agora não temos reclamação sobre lentidão. Todos eles usam o sistema de gestão da empresa, e o thunderbird. Para navegar na internet é pouco usado, pois usamos algumas restrições para evitar infecções de vírus.

      Abraços…

  4. 22/07/2011 às 3:10 PM

    Legal mesmo!
    Eu fiz um esquema parecido com este, mas com a diferença de que virtualizei dois servidores windows com wts ativo e ativei o ltsp para que quarenta máquinas os utilizassem. Ficou muito bom. Fiz com Debian Squeeze/Xen 4.0/Ltsp e os Windows Server no servidor e nas máquinas clientes eu usei boot via pxe.

  5. Gustavo Melo
    24/07/2011 às 5:10 PM

    Solução é muito boa, já ví em uso. Só setores contábeis/fiscais geralmente tem dificuldade com este tipo de solução devido aos softwares específicos que geralmente necessitam instalação em uma máquina local física para funcionar bem. Essa solução tbm funciona http://www.wtware.com/

    Muito bom seu post, parabéns.

  6. Vinicius Miqueloti
    10/04/2012 às 12:38 PM

    Muito bom o artigo, favoritado para eu me lembrar dele caso um dia precise de uma solução similar!!!

  7. Luiz Carlos Polezer
    16/10/2013 às 1:27 AM

    acabei instalando agora com o debian 7 funcionou bem, prem nao funciona o redirecionamento de usb e cd rom .. nem aparece. Estou usando o RDP no windows 2012 server

  8. 09/05/2014 às 6:27 PM

    Acabei instalando agora com o debian 6 funcionou bem, mais nao funciona o redirecionamento de usb e cd rom .. nem aparece. alguem tem alguma solucao pra isso…

    • 12/05/2014 às 11:40 AM

      Olá Vinicius. Eu acabei adaptando para o Ubuntu. Mas acho que tenho uma máquina virtual aqui com o Debian 6 ainda. Se não me engano tem algumas alterações no autofs em relação ao Debian 5. Vou dar uma olhada depois retorno. Abraços…

      • 12/05/2014 às 2:21 PM

        Blza Jose Carlos, fico no aguardo então, obrigado pelo retorno.

    • 14/05/2014 às 6:08 PM

      Bom, eu abri minha máquina virtual Debian 6 e testei o pen drive e funcionou. Não sei o que pode ser Vinicius. Chegasse a verificar se o pendrive esta sendo montado realmente nesse diretório /media/usb ?

      Abraços..

  9. 22/05/2014 às 7:54 AM

    Outra coisa Vinicius eu li agora que saiu uma versão nova do Rdesktop, 1.8.2 que corrige problemas de redirecionamento com conexoes no 2008 e 2012, talvez seja este seu problema, tenta compilar essa versão mais nova no Debian para ver se resolve o problema.
    http://www.rdesktop.org/

    • 22/05/2014 às 9:37 AM

      opa, blza, vou tentar isso, mais vou tentar tambem com ubuntu, mais me tira uma duvida e o mesmo procedimento ou tem q alterar alguma coisa ?
      desde ja agradeco muito a ajuda

      • 29/05/2014 às 8:24 AM

        Olha Vinicius na verdade eu acho que foi até mais fácil porque se não me engano, não é necessária o autofs. E lembro que tive que trocar o rungetty pois as vezes não ele não logava automático. Usei o padrão do ubuntu com um parâmetro que agora não lembro, para logar automático.

        Só dois detalhes. A imagem fica um pouco maior, e o boot é um pouco mais lento que o Debian. Porem ganha-se em suporte a hardware.

        Abraços…

      • 29/05/2014 às 9:20 AM

        Blza, vou tentar.
        E muito obrigado pela atenção, me ajudou muito
        Abraço.

  10. Luiz Carlos Polezer
    09/06/2014 às 7:04 PM

    Boa noite LinuxMan, vc teria um procedimento para fazer com o ubuntu? Fez a instalação minima deste ubuntu? Qual versão utilizou do ubuntu nos terminais? Tentei aqui, mas os terminais ficaram muito lentos com ubuntu 13.

    • 10/06/2014 às 6:02 PM

      Olá Luiz Carlos:

      Eu fiz basicamente igual ao Debian, talvez os pacotes tenham os nomes diferentes apenas, e eu fiz uma instalação minima também. Para isso eu usei o Ubuntu Server, que tem essa opção na instalação, ao invés da versão desktop.

      Eu tenho uma imagem no VirtualBox do sistema pronta, eu costumo salvar no formato do clonezilla para depois baixar nas máquinas.

      Se alguém tiver um FTP posso upar essa imagem do Virtualbox para vocês brincarem sem problemas.

      Abraços…

  11. 10/06/2014 às 9:19 AM

    Bom dia Galera, eu estou com problema, ele esta muito instável, ele ta logando só quando quer, rsrs, as vezes tenho q reiniciar varias vezes ate aparecer a tela de login do Server, alguém já passou por isso ?

    • Luiz Carlos Polezer
      10/06/2014 às 10:22 AM

      Vinicius, verifique a infra de rede no terminal e no SERVER. Tenho 10 destes rodando em debian por mais de 8 meses sem problemas. Meu problema é outro. Os usuários querem ouvir música e baixar fotos do celular via USB e ler pendrives e CD-ROM e o direcionamento parece nao funcionar bem principalmente com o som que NUNCA funcionou. No caso do pendrive ele lê mas nao deixa escrever e armazenamento de celular ele nao deixa mesmo.

    • 10/06/2014 às 6:04 PM

      Olá Vinicius:

      As vezes que eu tive problema de instabilidade, foram exatamente como você falou, as vezes demora para entrar e tal. Sempre que o sistema não pega IP ele demora para entrar. No meu caso a maioria das vezes era conflito de IP, pois eu havia fixado um IP e o linux não avisa que o IP já esta em uso, sofri muito com isso.
      Tente verificar também se os cabos de rede estão ok.
      Fora isso não sei o que pode ser, aqui funciona bem.

      Abraços…

  12. 15/02/2015 às 6:29 PM

    Boa noite gostaria de saber se alguem conhece uma solução pra que possa usar o debian pra fazer esse login no RDP do windows sem uso de discos ou CD via boot PXE. Caso alguém conheça ficarei muito grato pelo informação.

    Abraços

    • 03/03/2015 às 8:40 PM

      Acho que o que você quer é o LTSP. A maioria dos computadores hoje em dia suportam boot via PXE. Você teria que configurar um servidor LTSP para receber essas estações, e no servidor LTSP você configura para ao invés de levantar o X, ele fazer uma conexão remota no WTS. É possível, e esta documentado no LTSP.
      Abraços…

  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: