Multiterminais com Debian Etch/Lenny

De MochilaWiki
Ir para navegaçãoIr para pesquisar

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


www.debian.org


O Debian é um sistema operacional (SO) livre para seu computador. Um sistema operacional é um conjunto de programas básicos e utilitários que fazem seu computador funcionar. O Debian usa o kernel (núcleo de um sistema operacional), Linux, mas a maior parte das ferramentas do SO vêm do projeto GNU; daí o nome GNU/Linux.

O Debian GNU/Linux é mais que um simples SO: ele vem com mais de 18733 pacotes contendo softwares pré-compilados e distribuídos em um bom formato, que torna fácil a instalação deles na sua máquina.


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.

Iniciando

Meu computador...

Dica importante: Particularmente prefiro fazer pelo modo gráfico, se essa for sua vontade pule para o seguinte parágrafo: "Execute o comando lspci..."

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.

# apt-get install 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 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/gdm/gdm.conf /etc/gdm/gdm.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.

Dica importante !!! Caso você tenha instalado o Debian pelo "Netinstall" é necessário você instalar o bzip2, pois o mesmo é usado pelo seguinte comando (# tar -xjf xephyr-precompiled.tar.bz2 --directory /usr/local/), que será usando logo abaixo.

# apt-get install bzip2 
# wget http://www.multiterminais.org/Xephyr/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 gdm.conf, requer muita atenção, pois uma vírgula esquecida pode apresentar erro na hora de depurar as configurações.

Vamos editar o arquivo gdm.conf (/etc/gdm/gdm.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 Debian, é 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 "gdm.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)

Agora vamos acertar a roda do rato(Scroll), edite o arquivo "/etc/gdm/gdm.conf" e acrescente ao final de cada endereço do mouse uma vírgula seguida 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 Debian Etch/Lenny


1 - Edite o arquivo: /usr/share/X11/xkb/keycodes/evdev

Caso você esteja utilizando teclados com LAYOUT US (Americano) sem o "ç", faça a alteração na última linha dos arquivos X?-config.keyboard (? = cada um tem um número) trocando layout="br" por layout="us_intl". Em um teclado americano não é necessário efetuar os próximos passos.


Acertando as teclas para o teclado ABNT2 (\ , | , / , ? , ° , . ):

Configurando a tecla (\ , | , / , ? , ° , . )

1 - Edite o arquivo: /usr/share/X11/xkb/keycodes/evdev
e acrescente as sequintes linhas abaixo dessa já existente (<AC11> = 48;), e salve.

<AC11> = 48;  ------> Essa já existe, então acrescente as outras !!!

<AC12> = 97;
<AC13> = 94;
<AC14> = 129;

Obs: agora encontre essas linhas e comente as duas acresentando duas barras como mostra no exemplo.

Comente a linha: //<RO> = 97; // #define KEY_RO 89
Comente a linha: //<I129> = 129; // #define KEY_KPCOMMA
121

Salve 

***************************************
2 - Edite o arquivo: /usr/lib/X11/xkb/symbols/br
e acrescente as sequintes linhas abaixo dessa já existente (key <AC13> { [ backslash, bar, masculine,
dead_breve ] };), salve e feche a
sessão.

key <AC13> { [ backslash, bar, masculine,
dead_breve ] };  ------> Essa já existe, então acrescente as outras !!!

key <AC12> { [ slash, question, degree ] };
key <AC14> { [ KP_Decimal, KP_Decimal ]}; 

3 - Salve
4 - Feche a Sessão 

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.

Dica importante: Não é mais possível retirar as opções de (Desligar/Reiniciar/Suspender) de contas de usuários comuns. Agora tudo é feito usando a opção (Janela de início de sessão), e isso afeta todas as contas inclusive a (Root), e para fazer essa correção, será necessário criar lançadores na conta do Root que será o único que poderá desligar, reiniciar ou suspender o sistema.

Caso tenha usado o "Netinstall" para instalar o Debian, será necessário o (gconf-editor), para facilitar as configurações.

# apt-get install gconf-editor

Agora vamos prosseguir nas configurações!!!

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 ()


Agradecimentos

  • Ronald Costa (Coodernador da Comunidade Multilinux)
  • Comunidade/Lista Multilinux

Por: Marcio Kleber Machado Torres

retirando de http://www.ronaldcosta.pro.br/sistemas/wiki/index.php?title=Multiterminais_com_Debian_Etch/Lenny