MultiTerminais_Linux_no_Ubuntu_6.10_Edgy
Sistema MultiTerminais Linux
- Este projeto foi trabalhado em cima do projeto original da UFPR. Segue abaixo o link do projeto original para conhecimento.
http://www.c3sl.ufpr.br/multiterminal/howtos/howto-xephyr-pt.htm Vamos aos passos: Instale o Ubuntu 6.10 Edgy ("última versão estável"), e configure o mesmo com acesso à internet; Atualize a base de dados do Apt, "apt-get update"; Instale o pacote udev, "apt-get install udev", pacote este responsável pelo recebimento dos eventos gerados através dos teclados/mouses;
Configuração do Servidor X(XOrg) xorg.conf
- Para um multiterminal de N terminais, o arquivo /etc/X11/xorg.conf deve ser configurado da seguinte forma: Defina um layout contendo N screen's.
Section "ServerLayout"
- Identifier "Layout" Screen "SCREEN 1" Screen "SCREEN N" above "SCREEN N-1"
InputDevice "Generic Keyboard" InputDevice "Configured Mouse 1"
- Obs: A disposição das telas apresentadas no layout acima não é relevante. Defina as seções das N placas de vídeo. Section "Device"
- Identifier "PLACA VIDEO 1"
- Driver "nv" BusID "0:10:0"
EndSection ## Substitua o driver da placa de vídeo de acordo com o seu hardware.
## A opção BusId identifica qual o endereço da placa de vídeo que está sendo utilizada.
## Para obter o BusId de suas placas digite "lspci | grep VGA" ## Tome cuidado com os valores, pois o endereço fornecido por lspci é em Hexadecimal enquando que o X ## espera um valor em decimal. Para conversão use "echo $((0xVALOR_HEXADECIMAL))" . . . Section "Device"
- Identifier "PLACA VIDEO N"
- Driver "sis" BusID "1:0:0"
- Defina as seções dos N monitores. Section "Monitor"
- Identifier "MONITOR 1" Option "DPMS"
EndSection . . . Section "Monitor"
- Identifier "MONITOR N" Option "DPMS"
EndSection Defina as seções das N screen's. Section "Screen"
- Identifier "SCREEN 1" Device "PLACA VIDEO 1" Monitor "MONITOR 1"
DefaultDepth 24 SubSection "Display"
- Depth 24 Modes "1024x768" "800x600" "640x480"
EndSection . . . Section "Screen"
- Identifier "SCREEN N" Device "PLACA VIDEO N" Monitor "MONITOR N"
DefaultDepth 24 SubSection "Display"
- Depth 24 Modes "1024x768" "800x600" "640x480"
Section "InputDevice"
- Identifier "Configured Mouse 1" Driver "mouse"
Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ImPS/2"
EndSection Baixe os arquivos necessários: Faça o download do servidor Xephyr modificado pela UFPR (aqui); Descompacte o arquivo; Copie os seguintes arquivos descompactados "cp -r bin/ include/ share/ /usr/local" "cp -r man/* /usr/local/man/" Faça o download do script "wrapper" Xephyr.sh, responsável por carregar o servidor Xephyr. O script deve ser copiado para o diretório /usr/sbin. Faça o download do layout dos teclados aqui. Descomprima o arquivo xkb-evdev.tar.gz no diretório /etc/X11 "tar -xvzf xkb-evdev.tar.gz -C /etc/X11" Edite o arquivo evdev em /etc/X11/xkb/rules/ , vá até a linha 70 do arquivo, altere o conteúdo "pc+pc(pc104)+pc/br" para "pc(pc104)+br" Edite o arquivo gdm.conf em /etc/gdm/ , e remova todo o conteúdo que vier após a linha [servers], incluindo essa linha. salve o arquivo. Copie o arquivo /etc/gdm/gdm.conf para /etc/gdm/gdm.conf_zero Faça o download do script multiterminais.sh, script criado por mim para atribuir os eventos corretos a cada dispositivo (teclado/mouse) e copie o mesmo para /etc/init.d/ Crie um link simbólico para que o mesmo seja iniciado automaticamente "ln -s etc/init.d/multiterminais.sh /etc/rcS.d/S69multiterminais" o "S69" é para que o script seja executado antes do gdm.conf, pois o runlevel do mesmo é S70.
- Identifier "Configured Mouse 1" Driver "mouse"
- Defina as seções dos N monitores. Section "Monitor"
- Obs: A disposição das telas apresentadas no layout acima não é relevante. Defina as seções das N placas de vídeo. Section "Device"
outro ponto importante está no scritp para associação de eventos aos seus respectivos dispositivos ( teclados/mouses).
com o comando "cat /proc/bus/input/devices" será retornado várias informações sobre os devices, incluse endereço físico e eventos, o que será importante para a gente.
no script as seguintes linhas devem ser alteradas para o correto funcionamento dos teclados e mouses usb, ou mesmo os teclados e mouses que estão ligados por conversores usb:
l_teclado2=cat devices.oia | grep "usb-0000:00:02.0-1" | cut -d: -f1 l_teclado3=cat devices.oia | grep "usb-0000:00:02.1-3" | cut -d: -f1
tipow... onde está "usb-0000:00:02.0-1" será substituído por a saída do comando "cat /proc/bus/input/devices", onde lá terá "usb-0000:00:02.0-1/input0" para o teclado e "usb-0000:00:02.0-1/input1" para o mouse...
eh clado que o "usb-0000:00:02.0-1/input1" será alterado na linha dos mouses.. logo abaixo.
l_mouse2=cat devices.oia | grep "usb-0000:00:02.1-1" | cut -d: -f1 l_mouse3=cat devices.oia | grep "usb-0000:00:02.0-3" | cut -d: -f1
- Pronto agora é só reiniciar o computador. Obs1: Algumas placas de vídeo podem ter problemas com seus drivers, eu mesmo tive problemas com a de modelo "via", para resolver usei o driver "vesa". Obs2: Os monitores podem ficar fora de ordem, para isso basta apenas ligar o monitor na placa de vídeo que o mouse e teclado estão funcionando. Abaixo está disponível a apresentação do projeto;
Apresentação MultiTerminais Linux. Obrigado e um grande abraço à todos. Valmar Neves - The-Root
- www.ivsolutions.eti.br
MultiTerminais_Linux_no_Ubuntu_6.10_Edgy (last edited 2011-09-19 23:20:22 by localhost)