Multiterminais com Ubuntu 8.04.1
De Wiki do Ronald
Este tutorial é LIVRE e pode ser usado sem nenhuma restrição - APENAS MANTENHA OS CRÉDITOS DOS AUTORES !!!
Ubuntu é um sistema operacional baseado em Linux desenvolvido pela comunidade e é perfeito para notebooks, desktops e servidores. Ele contém todos os aplicativos que você precisa - um navegador web, programas de apresentação, edição de texto, planilha eletrônica, comunicador instantâneo e muito mais.
Compromisso Ubuntu
O Ubuntu sempre será gratuito, e não cobrará adicionais por uma "versão enterprise" ou atualizações de segurança. Nosso melhor trabalho está disponível para todos sob as mesmas condições. Uma nova versão do Ubuntu é lançada periodicamente a cada seis meses. Cada nova versão possui suporte completo, incluindo atualizações de segurança pela Canonical por pelo menos 18 meses, tudo isto gratuitamente. O Ubuntu possui a melhor infraestrutura de tradução e acessibilidade que a comunidade do Software Livre tem a oferecer, tornando o Ubuntu usável por tantas pessoas quanto for possível.O CD do Ubuntu possui apenas Software Livre, nós encorajamos você a usar software de código aberto, melhorá-lo e distribui-lo.
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.
Conteúdo |
Iniciando
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.
# apt-get install openssh-server
Anote o seu IP
# ifconfig
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/gdm/gdm.conf /etc/gdm/gdm.conf.original
XORG.CONF
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.
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 no seguinte diretorio: /root.
É importante salientar que essa configuração não se aplica quando se utiliza placas com saídas dual que seja virtual, ou seja; são geradas a partir de um recurso do drive, e com isso não geram endereços físicos individuais como é o caso da Nvidia FX6200.
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
No caso de utilizar placa de vídeo como saída dual (DVI/VGA), como foi citado acima, as configurações se torna até mais simples e o desempenho é melhor. Primeiro certifique-se de ter atualizado o cache do APT, para realizar a instalação do drive e pendências necessárias para utilizar a placa com todas as suas características.
# apt-get update
Agora é preciso instalar o drive proprietário, utilizando o a ferramenta (Drive de Hardware), e o gerenciador do drive, no caso de placas Nvidia.
# apt-get install nvidia-settings
Agora reinicie o Sistema, e logo apos faça:
1 - Sistema >> Administração >> Nvidia X Server Settings >> X Server Display Configuration 2 - Clique sobre o primeiro retângulo que representa o primeiro monitor 3 - Configure >> Separate X scree 4 - Clique sobre o segundo retângulo que representa o segundo monitor 5 - Configure >> Separate X scree(requires X restart) 6 - Save to X configuration File >> Show preview... 7 - Copie todo conteúdo mostrado >> cole dentro do '''/etc/X11/xorg.conf''', salve e feche.
Voltando as configurações manuais, 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://home.doomer.ru/files/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
Dica importante: A configuração do gdm.conf, requer muita atenção, para evitar erros na hora de depurar as configurações.
Vamos editar o arquivo gdm.conf (/etc/gdm/gdm.conf).
Comente a seguinte a seguinte linha:
#Greeter=/usr/lib/gdm/gdmgreeter
OBS: Essa configuração funciona perfeitamente, porém o tema do login que será usado, é o padrão do sistema e não o administrado pelo gdmgreeter, com isso você ganhará um desempenho melhor na transição entre o login e o carregamento das configurações do Desktop.
Remova tudo que estiver abaixo de [servers], agora acrescente 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 dessas distros atuais, é 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 -br -dpms -s 0 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,5 -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,5 -use-evdev handled=true flexible=false
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".
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/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 ...
- cp /usr/share/X11/xkb/X1-config.keyboard /usr/share/X11/xkb/X3-config.keyboard
- 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 Ubuntu 8.04.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.
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
Por: Marcio Kleber Machado Torres owned BY nunao o guru do linux



