Principal arrow Artigos arrow Multiterminal com Zenwalk
KyNDeR Home Page
Top Module Empty
 
 
 

Procurar no site

Visitantes

Multiterminal com Zenwalk PDF Imprimir E-mail

Multiterminal com Zenwalk 4.6

Este projeto foi aplicado no Programa Educando e Valorizando a Vida (EVV) da Universidade Estadual de Goiás em Goiânia.

Image 


A configuração da máquina utilizada foi: Image

Processador: Intel Celeron D 3.06GHz
RAM: 1 GB
Placas de Vídeo: 1 SiS (onboard)
                            2 NV4 RIVA TNT de 32 MB.
HD: 40GB

TECLADO: 1 Teclado ABNT2 porta PS/2
                    2 Teclados ABNT2 porta USB 
                    1 Mouse PS/2 e 2 USB
                   

Instalação:
Fazer o download da versão Standard e instalar o sistema normalmente.

http://distro.ibiblio.org/pub/linux/distributions/zenwalk/i486/zenwalk-4.6.1/ISO/zenwalk-4.6.1.iso

 

Após instalar o sistema, ele irá configurar o X automaticamente, mas vai embaralhar as configurações dos monitores e placas de vídeo, para solucionar isso quando aparecer o erro do GDM, pressione Ctrl+Alt+F2 e arrume o /etc/X11/xorg.conf, depois de arrumá-lo digite telinit 3 e então telinit 4 (aguarde um tempo para cada telinit) para atualizar as configurações do XORG. 

 

Configurações para o Multiterminal!

Após logar na máquina com usuário root, abra um terminal, pode ser pelo terminal do xfce.
Preste atenção nos valores em negrito, eles serão utilizados no xorg.conf em hexadecimal.

root[~]# lspci|grep VGA
01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 330 [Xabre] PCI/AGP VGA Display Adapter (rev 01)
02:0a.0 VGA compatible controller: nVidia Corporation NV4 [RIVA TNT] (rev 04)
02:0c.0 VGA compatible controller: nVidia Corporation NV4 [RIVA TNT] (rev 04)


Faça uma cópia de seu XORG.CONF

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

Configurações do Teclado e Mouse

Com o comando cat podemos ver os endereços dos dispositivos de entrada.

# cat /proc/bus/input/devices

Ao se listar os dispositivos USB, devemos desconsiderar os que terminam com input1. Isso é o que normalmente se faz ao se usar os teclados e mouse USB.

ATENÇÃO: Se estiver usando adaptadores, os input1 são relevantes.

Para facilitar utilize o comando:

# cat /proc/bus/input/devices > periféricos.txt

Se digitar o comando acima, abra o arquivo perifericos.txt que a informação dos dispositivos de entrada estarão nele e você não precisará anotar ou repetir o comando, é só abri-lo em um editor qualquer.

Repare na lista abaixo o que está em negrito são as informações relevantes.

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/class/input/input0
H: Handlers=kbd event0
B: EV=120013
B: KEY=4 2000000 3802078 f840d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7

I: Bus=0011 Vendor=0002 Product=0005 Version=0000
N: Name="ImPS/2 Generic Wheel Mouse"
P: Phys=isa0060/serio1/input0
S: Sysfs=/class/input/input1
H: Handlers=mouse0 event1 ts0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103

I: Bus=0003 Vendor=062a Product=0003 Version=0110
N: Name="MosArt Optical Mouse"
P: Phys=usb-0000:00:1d.0-1/input0
S: Sysfs=/class/input/input2
H: Handlers=mouse1 event2 ts1
B: EV=7
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=103

I: Bus=0003 Vendor=0a81 Product=0101 Version=0110
N: Name="CHESEN USB Keyboard"
P: Phys=usb-0000:00:1d.0-2/input0
S: Sysfs=/class/input/input3
H: Handlers=kbd event3
B: EV=120003
B: KEY=10000 7 ff87207a c14057ff febeffdf ffefffff ffffffff fffffffe
B: LED=1f

I: Bus=0003 Vendor=0a81 Product=0101 Version=0110
N: Name="CHESEN USB Keyboard"
P: Phys=usb-0000:00:1d.0-2/input1
S: Sysfs=/class/input/input4
H: Handlers=kbd event4
B: EV=3
B: KEY=20000 3878 d801d101 1e0000 0 0 0

I: Bus=0003 Vendor=0a81 Product=0101 Version=0110
N: Name="CHESEN USB Keyboard"
P: Phys=usb-0000:00:1d.1-1/input0
S: Sysfs=/class/input/input5
H: Handlers=kbd event5
B: EV=120003
B: KEY=10000 7 ff87207a c14057ff febeffdf ffefffff ffffffff fffffffe
B: LED=1f

I: Bus=0003 Vendor=0a81 Product=0101 Version=0110
N: Name="CHESEN USB Keyboard"
P: Phys=usb-0000:00:1d.1-1/input1
S: Sysfs=/class/input/input6
H: Handlers=kbd event6
B: EV=3
B: KEY=20000 3878 d801d101 1e0000 0 0 0

I: Bus=0003 Vendor=062a Product=0003 Version=0110
N: Name="MosArt Optical Mouse"
P: Phys=usb-0000:00:1d.1-2/input0
S: Sysfs=/class/input/input7
H: Handlers=mouse2 event7 ts2
B: EV=7
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=103

I: Bus=0019 Vendor=0000 Product=0002 Version=0000
N: Name="Power Button (FF)"
P: Phys=button_power/button/input0
S: Sysfs=/class/input/input8
H: Handlers=kbd event8
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button (CM)"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/class/input/input9
H: Handlers=kbd event9
B: EV=3
B: KEY=100000 0 0 0

Estou destacando os endereços para facilitar. Se contarmos os dispositivos com seus endereços em negrito, vamos notar que são em número de 6, sendo 3 teclados e 3 mouses. Notem que os teclados e mouse tem o input0 (isa0060/serio0/input0 e isa0060/serio1/input0). No caso dos periféricos USB, são 4 (usb-0000:00:1d.0-1/input0, usb-0000:00:1d.0-2/input0, usb-0000:00:1d.1-1/input0, usb-0000:00:1d.1-2/input0).

Configuração o 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.
Execute o comando abaixo. Esse comando vai configurar o Xorg automaticamente, detectando todos os dispositivos 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 /root/

# Xorg :1 -configure

Abra o xorg.conf original e o xorg.conf.new e faça as alterações, no xorg.conf original, alterando apenas as partes que diz respeito as placas de vídeo, monitores e ServerLayout, destacadas em negrito na configuração abaixo.

xorg.conf alterado:

# **********************************************************************
# This file was generated by videoconfig (Zenwalk Xorg configuration tool)
# If you changed your video card or monitor, please run videoconfig again
# from runlevel 3. Don't modify this file yourself until you know what you do ;)
# **********************************************************************


# **********************************************************************
# Files section.  This allows default font and rgb paths to be set
# **********************************************************************

Section "Files"
    RgbPath      "/usr/share/X11/rgb"
    ModulePath   "/usr/lib/X11/modules"
    FontPath     "/usr/share/fonts/misc"
    FontPath     "/usr/share/fonts/75dpi"
    FontPath     "/usr/share/fonts/100dpi"
    FontPath     "/usr/share/fonts/TTF"
    FontPath     "/usr/share/fonts/Type1"
EndSection

# **********************************************************************
# Module section -- this  section  is used to specify
# which dynamically loadable modules to load.
# **********************************************************************

Section "Module"
    Load  "glx"
    Load  "extmod"
    Load  "xtrap"
    Load  "record"
    Load  "GLcore"
    Load  "dbe"
    Load  "dri"
    Load  "freetype"
    Load  "type1"
EndSection

# **********************************************************************
# Server flags section.
# **********************************************************************

Section "ServerFlags"
#    Option     "NoTrapSignals"
#    Option     "DontVTSwitch"
#    Option     "DontZap"
#    Option     "DontZoom"
#    Option     "DisableVidModeExtension"
#    Option     "AllowNonLocalXvidtune"
#    Option     "DisableModInDev"
#    Option     "AllowNonLocalModInDev"
#    Option      "blank time"    "10"    # 10 minutes
#    Option      "standby time"  "20"
#    Option      "suspend time"  "30"
#    Option      "off time"      "60"

# Option   "EstimateSizesAggresively" "0"

EndSection


# **********************************************************************
# DRI section
# **********************************************************************

Section "dri"
# Access to OpenGL ICD is allowed for all users:
    Mode 0666
# Access to OpenGL ICD is restricted to a specific user group:
#    Group 100    # users
EndSection


# **********************************************************************
# Extensions section.
# **********************************************************************

Section "Extensions"
        Option "Composite" "Enable"
EndSection


# **********************************************************************
# Core keyboard's InputDevice section
# **********************************************************************
Section "InputDevice"
    Identifier    "Keyboard1"
    Driver    "kbd"
    Option     "XkbRules"      "xorg"
    Option     "XkbModel"      "pc105"
    Option     "XkbLayout"     "br"
EndSection


# **********************************************************************
# Core Pointer's InputDevice section
# **********************************************************************

Section "InputDevice"

# Identifier and driver
    Identifier "Mouse1"
    Driver         "mouse"
    Option         "Protocol" "Auto"
    Option         "Device" "/dev/mouse"
    Option     "ZAxisMapping" "4 5"
EndSection


# **********************************************************************
# Monitor section
# **********************************************************************

Section "Monitor"
    #DisplaySize      280   210    # mm
    Identifier   "Monitor0"
    VendorName   "PBR"
    ModelName    "562NS"
 ### Comment all HorizSync and VertRefresh values to use DDC:
    HorizSync    30.0 - 55.0
    VertRefresh  50.0 - 150.0
    Option        "DPMS"
EndSection

Section "Monitor"
    #DisplaySize      280   210    # mm
    Identifier   "Monitor1"
    VendorName   "SAM"
    ModelName    "SyncMaster"
 ### Comment all HorizSync and VertRefresh values to use DDC:
    HorizSync    30.0 - 55.0
    VertRefresh  50.0 - 120.0
    Option        "DPMS"
EndSection

Section "Monitor"
    #DisplaySize      280   210    # mm
    Identifier   "Monitor2"
    VendorName   "SAM"
    ModelName    "SyncMaster"
 ### Comment all HorizSync and VertRefresh values to use DDC:
    HorizSync    30.0 - 55.0
    VertRefresh  50.0 - 120.0
    Option        "DPMS"
EndSection
# **********************************************************************
# Graphics device section
# **********************************************************************

# Any number of graphics device sections may be present

Section "Device"
    Identifier  "Card0"
    Driver      "sis"
    VendorName  "Silicon Integrated Systems [SiS]"
    BoardName   "330 [Xabre] PCI/AGP VGA Display Adapter"
    BusID       "PCI:1:0:0"
EndSection

Section "Device"
    Identifier  "Card1"
    Driver      "nv"
    VendorName  "nVidia Corporation"
    BoardName   "NV4 [RIVA TNT]"
    BusID       "PCI:2:10:0"
EndSection

Section "Device"
    Identifier  "Card2"
    Driver      "nv"
    VendorName  "nVidia Corporation"
    BoardName   "NV4 [RIVA TNT]"
    BusID       "PCI:2:12:0"
EndSection

# **********************************************************************
# Screen sections
# **********************************************************************

Section "Screen"
    Identifier  "Tela0"
    Device      "Card0"
    Monitor     "Monitor0"
    DefaultDepth 24

    Subsection "Display"
        Depth       24
        Modes "1024x768" "800x600" "640x480"
    EndSubsection
EndSection

Section "Screen"
    Identifier  "Tela1"
    Device      "Card1"
    Monitor     "Monitor1"
    DefaultDepth 24

    Subsection "Display"
        Depth       24
        Modes "1024x768" "800x600" "640x480"
    EndSubsection
EndSection

Section "Screen"
    Identifier  "Tela2"
    Device      "Card2"
    Monitor     "Monitor2"
    DefaultDepth 24
    
    Subsection "Display"
        Depth       24
        Modes "1024x768" "800x600" "640x480"
    EndSubsection
EndSection

# **********************************************************************
# ServerLayout sections.
# **********************************************************************

Section "ServerLayout"
    Identifier     "Simple Layout"
    Screen      0  "Tela0" 0 0
    Screen      1  "Tela1" RightOf "Tela0"
    Screen      2  "Tela2" RightOf "Tela1"
    InputDevice     "Mouse1" "CorePointer"
    InputDevice     "Keyboard1" "CoreKeyboard"
EndSection


Fazendo download do XEPHYR

Basta agora baixar o Xephyr modificado do site da UFPR e colocar no /usr/local

# 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

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

Cole o texto abaixo no arquivo e salve.

#!/bin/bash
# 20060905 - josean - added get_event() function to obtain eventNN from a physical address
# Original version:
# http://en.wikibooks.org/wiki/Multiterminal_with_Xephyr
# http://www.c3sl.ufpr.br/multiterminal/howtos/Xephyr.sh

trap "" usr1

XEPHYR=/usr/local/bin/Xephyr

get_event()
{
  evento=`grep -A2 $1 /proc/bus/input/devices | grep 'H: Handlers=' | grep --only-matching -e 'event[0-9]*'`
}

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
 elif [[ "$1" == "-kbdphys" ]]; then
   shift
   if [ ! -z "$1" ]; then
     get_event $1
     args=("${args[@]}" "-keyboard")
     args=("${args[@]}" "/dev/input/$evento")
   fi
 elif [[ "$1" == "-mousephys" ]]; then
   shift
   if [ ! -z "$1" ]; then
     get_event $1
     args=("${args[@]}" "-mouse")
     args=("${args[@]}" "/dev/input/$evento,5")
   fi
 else
   if ! expr match $1 'vt[0-9][0-9]*' >/dev/null; then
     args=("${args[@]}" "$1")
   fi
 fi

 shift
done

# echo $XEPHYR "${args[@]}" >> /tmp/logXephyr

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

Criando o GDM.CONF
Vamos editar o arquivo gdm.conf (/etc/X11/gdm/gdm.conf) e limpar o que estiver depois de [servers]. Efetue sempre as alterações de acordo com o seu caso. Observe a quantidade de cabeças que estamos configurando e os endereços dos dispositivos. Para comentar uma linha coloque um # no início. Depois de remover, cole o trecho abaixo:

[servers]

0=Xephyr0
1=Xephyr1
2=Xephyr2
3=Xephyr3

[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 -kbdphys isa0060/serio0/input0 -mousephys isa0060/serio1/input0 -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 -kbdphys usb-0000:00:1d.0-2/input0 -mousephys usb-0000:00:1d.0-1/input0 -use-evdev
handled=true
flexible=false


[server-Xephyr3]

name=Xephyr3
command=/usr/sbin/Xephyr.sh -display :0.2 -xauthority /var/lib/gdm/:0.Xauth -fullscreen -kbdphys usb-0000:00:1d.1-1/input0 -mousephys usb-0000:00:1d.1-2/input0 -use-evdev
handled=true
flexible=false

Reapare que destaquei em negrito as informações mais importantes, é no gdm.conf que usaremos as informações dos dispositivos de entrada anotadas anteriormente.

O que está no Xephyr1, teclado e mouse para o primeiro monitor, no Xephyr2, o teclado e mouse para o segundo monitor e assim por diante.


Configurando os TECLADOS

Vamos agora acertar os teclados. Verifique o seu modelo e o tipo de teclado que você usa. Faça as alterações necessárias. Para cada teclado crie um arquivo. Em nosso caso serão 3 (três) 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 sua quantidade de teclados alterando o valor do X, repare no exemplo:

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

Ajustes finais:

# ln -s /usr/share/X11/xkb /usr/lib/X11/xkb


Arrumando as teclas:

Baixe o arquivo xkb-evdev.tar.gz no link:

# wget http://www.c3sl.ufpr.br/multiterminal/howtos/xkb-evdev.tar.gz

Descompacte o xkb-evdev.tar.gz no /etc/X11

# tar -zxvf xkb-evdev.tar.gz --directory /etc/X11/


Pronto, agora é só reiniciar o computador e ver se tudo funcionará, caso dê algum problema com mouse ou teclado, verifique o endereço dos dispositivos novamente e altere no arquivo /etc/gdm/gdm.conf caso seja necessário.

Após entrar no sistema e tudo ter funcionado direito, você poderá instalar outros programas utilizando o aplicativo netpkg, para isso vá em Menu -> Sistema -> Netpkg

Digite a senha de root depois click em load, assim que terminar o processo de carregamento, click em Fechar e então aparecerá a janela com a lista de programas que você poderá selecionar para instalar.



Fontes:

http://www.c3sl.ufpr.br/fourhead/index-pt.php
http://www.ronaldcosta.pro.br/sistemas/wiki/index.php/Multiterminais_Ubuntu_7.04

Google: multiterminal linux
Google: multiterminais ubuntu

 
< Anterior   Próximo >

© 2010 KyNDeR Home Page
Joomla! is Free Software released under the GNU/GPL License.
Template Design by funky-visions.de