Multiterminais com Mandriva 2008.1

Multiterminais com Mandriva 2008.1

Multiterminais com Mandriva 2008.1

www.mandriva.com.br

O Mandriva Linux 2008.1, oficialmente chamada de “2008 Spring” é Conseqüência do ciclo de desenvolvimento do Mandriva, a versão 2008.1 oferece as últimas atualizações em termos de software de código aberto. Entre as mudanças, estão melhorias feitas na interface gráfica de instalação de pacotes do RPMdrake; novo controle de pais, permitindo a eles melhor supervisão nas atividades de suas crianças na Internet; novo centro multimídia Elisa; novo suporte para telefones e smartphones, agora com sincronização com os ambientes GNOME e KDE; novo framework para instalação de codecs, o Codeina; novos temas gráficos;kernel 2.6.24.4, X.Org 1.4.0.90, GNOME 2.22, KDE 3.5.9 e 4.0.3.

Para este exemplo, utilizei um computador P4 2.26 Ghz, 1024 Mb de memória RAM, com HD de 4 Gb (o que poderia ser com 10 Gb), monitores CRT/17″/15″, teclados e mouse PS2, adaptadores PS2 para USB, placas de vídeo of-board (AGP-Nvidia-128MB/AGP/ Com duas saídas VGA/DVI), não utilizei a placa on-board por a mesma compartilhar o mesmo barramento da AGP.



Veja o vídeo 1 maior !!! Veja o vídeo 2 maior !!!

Iniciando

Meu computador…

Dica importante: Particularmente prefiro fazer pelo modo gráfico.

Para iniciar acesse um terminal (tty1). Entre como root. Execute o comando abaixo:

# /etc/init.d/gdm stop

Após ter parado o ambiente gráfico, vamos executar alguns passos. Instalar o SSH. Você só sabe que vai precisar dele quando algo sair errado e tiver que reiniciar a máquina com o reset.

# urpmi openssh-server

Anote o seu IP

# ifconfig

Conexões de Vídeo e USB…

Execute o comando lspci para listar as placas de vídeo e seus endereços. Essa informação é importante e será usada no XORG.CONF. Observe ainda os endereços que tem que ser convertidos para decimal. No caso de estar usando uma placa com saida DVI ela vai aparecer apenas uma vez no LSPCI. Repita o endereço dela duas vezes.

Em meu caso, utilizei 1 placas de vídeo,(Nvidia/AGP com duas saídas VGA/DVI para dois terminais), o exemplo abaixo é apenas como referencia, note o endereço físico de cada uma: (00:09.0) (01:00.0).

# lspci | grep VGA
00:09.0 VGA compatible controller: ATI Technologies Inc Rage XL 
01:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 4000 AGP

Faça uma cópia de seu XORG.CONF e do CUSTOM.CONF(equivale ao GDM.CONF) por segurança. Dica importante: É muito importante, fazer as cópias de segurança, pois ao longo das configurações pode ser necessário para restabelecer o funcionamento do mesmo.

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.original
# cp /etc/X11/gdm/custom.conf /etc/X11/gdm/custom.conf.original

 

XORG.CONF

Placa Nvidia Dual VGA/DVI…

Neste passo vamos realizar a alteração do xorg.conf, de maneira a deixar uma sessão para cada conjunto de monitor e placa de vídeo que você está usando.

Execute o comando abaixo. Esse comando vai configurar o Xorg automaticamente, detectando todos os dispositivos(placas de vídeo e monitores), que estão ligados ao seu computador. Após a execução desse comando vai ser gerado um arquivo de nome Xorg.conf.new. Você pode renomear o novo Xorg.conf.new para xorg.conf ou abrir o Xorg.conf original e o Xorg.conf.new e fazer as alterações necessárias.

# Xorg :1 -configure

Estou mostrando apenas a parte do XORG que foi alterada. Notem que existem 2 (duas) Section “Screen”, uma para cada cabeça (head) do MULTILINUX. Em cada uma delas associamos um monitor e uma placa de vídeo. Note também que só existe uma única placa de vídeo, porém utilizo as duas saídas da placa(DVI e VGA),proporciona economia de hardware e um melhor desempenho.

Section "Monitor"

    # TV fullscreen mode or DVD fullscreen output.
    # 768x576 @ 79 Hz, 50 kHz hsync
    Identifier     "monitor1"
    VendorName     "Unknown"
    ModelName      "CRT-1"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    ModeLine       "768x576" 50.0 768 832 846 1000 576 590 595 630
    ModeLine       "768x576" 63.0 768 800 960 1024 576 578 590 616
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 71.0
    VertRefresh     50.0 - 160.0
EndSection

Section "Device"
    Identifier     "device1"
    Driver         "nvidia"
    VendorName     "nVidia Corporation"
    BoardName      "NVIDIA GeForce FX to GeForce 8800"
    Option         "DPMS"
    Option         "RenderAccel" "false"
    Option         "AddARGBGLXVisuals"
EndSection

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 6200"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Videocard1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 6200"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Screen"
    Identifier     "screen1"
    Device         "Videocard1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "CRT-1: 1024x768 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "TwinViewXineramaInfoOrder" "CRT-0"
    Option         "metamodes" "CRT-0: 1024x768  +0+0"
EndSection

Section "Extensions"
    Option         "Composite"
EndSection

 

Fazendo download do XEPHYR

Agora vamos baixar o Xephyr modificado pela equipe do C3sl, baixando do site da UFPR, e executar os comandos abaixo para deixar tudo ok.

# wget http://www.c3sl.ufpr.br/multiterminal/howtos/xephyr-precompiled.tar.bz2
# tar -xjf xephyr-precompiled.tar.bz2 --directory /usr/local/

 

O script Xephyr.sh

Agora vamos criar um arquivo que será responsável em carregar o Servidor Xephyr.

# touch /usr/sbin/Xephyr.sh
# chmod 755 /usr/sbin/Xephyr.sh
# gedit /usr/sbin/Xephyr.sh

Cole o texto abaixo no arquivo e salve.

#!/bin/bash

trap "" usr1

XEPHYR=/usr/local/bin/Xephyr

args=()

while [ ! -z "$1" ]; do
 if [[ "$1" == "-xauthority" ]]; then
   shift
   if [ ! -z "$1" ]; then
     export XAUTHORITY="$1"
   fi
 elif [[ "$1" == "-display" ]]; then
   shift
   if [ ! -z "$1" ]; then
     export DISPLAY="$1"
   fi
 else
   if ! expr match $1 'vt[0-9][0-9]*' >/dev/null; then
     args=("${args[@]}" "$1")
   fi
 fi

 shift
done

exec $XEPHYR "${args[@]}"

 

GDM.CONF

Tela de Login

Dica importante: A configuração do custom.conf, requer muita atenção, pois uma virgula esquecida pode apresentar erro na hora de depurar as configurações.

Vamos editar o arquivo gdm.conf (/etc/X11/gdm/custom.conf) e acrescentar as informações necessárias, abaixo de [servers]. Efetue sempre as alterações de acordo com o seu caso. Observe que uso apenas dois terminais, logo minha configuração é a mostrada abaixo. Um fato importante nas configurações utilizando o MANDRIVA SPRING 2008.1, é o apontamento(endereço) dos dispositivos(teclados e mouses), e devem ser feita de forma diferente das outras receitas.

Ex:

[servers]

0=Xephyr0

1=Xephyr1

2=Xephyr2

[server-Xephyr0]

name=Xephyr0
command=/usr/bin/X -ac -br
handled=false
flexible=false

[server-Xephyr1]

name=Xephyr1
command=/usr/sbin/Xephyr.sh -display :0.0 -xauthority /var/lib/gdm/:0.Xauth -fullscreen -keyboard /dev/input/by-path/platform-i8042-serio-0-event-kbd -mouse /dev/input/by-path/platform-i8042-serio-1-event-mouse -use-evdev         
handled=true
flexible=false

[server-Xephyr2]

name=Xephyr2
command=/usr/sbin/Xephyr.sh -display :0.1 -xauthority /var/lib/gdm/:0.Xauth -fullscreen -keyboard /dev/input/by-path/pci-0000:00:10.1-usb-0:1.1:1.0-event-kbd -mouse /dev/input/by-path/pci-0000:00:10.1-usb-0:1.4:1.1-event-mouse -use-evdev
handled=true
flexible=false

Browser=true

Descobrindo os Nomes dos Dispositivos (Teclados e Mouses)

Note que o primeiro comando lista os teclados, e o segundo os mouses, outra dica, todos que comecem com “platform” correspodem aos dispositivos “PS2” e os “pci” são evidentemente os USB.

# ls -la /dev/input/by-path/ | grep event | grep kbd

lrwxrwxrwx 1 root root   9 2008-02-20 09:49 pci-0000:00:1d.2-usb-0:1:1.0-event-kbd -> ../event5
lrwxrwxrwx 1 root root   9 2008-02-20 09:49 pci-0000:00:1d.2-usb-0:2:1.0-event-kbd -> ../event6

# ls -la /dev/input/by-path/ | grep event | grep mouse

lrwxrwxrwx 1 root root   9 2008-02-20 09:49 pci-0000:00:1d.3-usb-0:1:1.0-event-mouse -> ../event8
lrwxrwxrwx 1 root root   9 2008-02-20 09:49 platform-i8042-serio-1-event-mouse -> ../event2

Dica importante: Os dispositivos são esses grifado em negrito, então basta copiar e colar no “custom.conf”.

Adaptador USB – PS2

Adaptador – USB

lrwxrwxrwx 1 root root 9 2008-02-20 09:49 pci-0000:00:1d.2-usb-0:1:1.0-event-kbd -> ../event5 lrwxrwxrwx 1 root root 9 2008-02-20 09:49 pci-0000:00:1d.2-usb-0:2:1.0-event-kbd -> ../event6
lrwxrwxrwx 1 root root 9 2008-02-20 09:49 pci-0000:00:1d.3-usb-0:1:1.0-event-mouse -> ../event8 lrwxrwxrwx 1 root root 9 2008-02-20 09:49 platform-i8042-serio-1-event-mouse -> ../event2

Configuração da roda do rato(Scroll)

OBS: Essa configuração talvez ajude o pessoal que usa o Ubuntu 8.04 como multiterminais.
Agora vamos acertar a roda do rato(Scroll), edite o arquivo “/etc/X11/gdm/custom.conf” e acrescente ao final de cada endereço do mouse uma vírgulaseguida do número 5, note que estou destacando apenas a configuração que envolve os mouses.

Ex:

-mouse /dev/input/by-path/platform-i8042-serio-1-event-mouse,5 -use-evdev 

-mouse /dev/input/by-path/pci-0000:00:10.1-usb-0:1.4:1.1-event-mouse,5 -use-evdev

Configuração dos Teclados

Agora vamos acertar os teclados, verifique o seu locales e o tipo de teclado que você usa. Faça os acertos necessários. Para cada teclado crie um arquivo. No meu caso serão 2(dois) arquivos.

# echo "model = \"pc105\"" > /usr/share/X11/xkb/X1-config.keyboard 
# echo "keycodes = \"evdev\"" >> /usr/share/X11/xkb/X1-config.keyboard 
# echo "layout = \"br\"" >> /usr/share/X11/xkb/X1-config.keyboard

Repita conforme a quantidade de teclados:

# cp /usr/share/X11/xkb/X1-config.keyboard /usr/share/X11/xkb/X2-config.keyboard

Caso eu tivesse mais terminais, eu teria que repetir o comando de acordo com a quantidade de teclados. Note que sempre mudando o inicio para diferenciar X1, X2, X3 …

  1. cp /usr/share/X11/xkb/X1-config.keyboard /usr/share/X11/xkb/X3-config.keyboard
  2. cp /usr/share/X11/xkb/X1-config.keyboard /usr/share/X11/xkb/X4-config.keyboard

Agora os ajustes finais:

# ln -s /usr/share/X11/xkb /usr/lib/X11/xkb
# cp `which xkbcomp` /usr/lib/X11/xkb
# mkdir /usr/lib/X11/xkb/compiled

Configurando as Teclas (\ , | , / , ? , ° , . ), no MANDRIVA SPRING 2008.1
1 – Edite o arquivo: /usr/share/X11/xkb/keycodes/evdev

Agora vá até a linha (<RO> = 97;	// #define KEY_RO  89) e substitua por
(<AB11> = 97;	// #define KEY_RO  89)

Agora vá até a linha (<I129> = 129; // #define KEY_KPCOMMA  121) e substitua por
(<KPPT> = 129;	// #define KEY_KPCOMMA 121)

Salve, pronto as teclas estarão configuradas.

Configurações Desligar/Reiniciar

Vamos fazer uma configuração essencial para o bom funcionamento dos multiterminais, essa configuração evitará que um usuário desavisado ou espertalhão resolva resetar ou desligar os multiterminais.

1 - logue-se na conta do Administrador

2 - Sistema >> Administração >> Janela de início de sessão >> Local

3 - Desmarque a opção >> Mostrar menu ações

4 - Feche a janela

5 - Clique com o botão direito do mouse na tela do Desktop >> Criar um Lançador >> Tipo >> 

Aplicação no Terminal >> Nome (Desligar) >> Comando (shutdown -h now) >> OK

6 - Clique com o botão direito do mouse no tela do Desktop >> Criar um Lançador >> Tipo >> 
Aplicação no Terminal >> Nome (Reiniciar) >> Comando (shutdown -r now) >> OK

7 - Caso queira trocar de ícone, clique sobre a imagem do lado esquerdo e escolha outro !!!

8 - Nos comando não use os ()

 

Este tutorial é LIVRE e pode ser usado sem nenhuma restrição – APENAS MANTENHA OS CRÉDITOS DOS AUTORES

Agradecimentos

  • Ronald Costa (Coodernador da Comunidade Multilinux)
  • Comunidade/Lista Multilinux
  • Marcio Kleber Machado Torres

Deixe uma resposta