Obra: Multiterminais/Multiterminal com evdev
Nível: médio
esta página ensina como um multiterminal com evdev funciona como fazê lo esse método elimina uso de patches no kernel então configura multiterminal utilizando protocolo evdev como fazer sistema operacional hardware placas de vídeo placas sis outras placas de vídeo também podem ser utilizadas mas nem todas funcionam teclados mouses teclado ps mouse ps teclados usb mouses usb certifique se de que seu kernel núcleo do sistema esteja compilado com suporte ao módulo evdev necessária também instalação do udev que provê um diretório dev dinâmico atualizado de acordo com os dispositivos conectados apt get install udev udev exige kernel ou mais novo instalação do driver para placa de vídeo sis adicione seguinte linha ao arquivo etc apt sources list http www winischhofer net sis debian stable atualize as informações de pacotes do sistema instale driver driver sis apt get update apt get install driver sis hotplug instale pacote hotplug apt get update apt get install hotplug dispositivos de entrada antes de prosseguir preciso verificar se os dispositivos de entrada mouses teclados foram detectados para isso analise arquivo proc bus input devices que informa detalhes sobre os dispositivos de entrada encontrados pelo kernel um exemplo deste arquivo apresentado abaixo apenas dois campos nos interessam nome de cada dispositivo indicado nas linhas que começam com name endereço físico mostrado nas linhas que começam com phys bus vendor product version ab name at translated set keyboard phys isa serio input handlers kbd event ev key ffffdf ffefffff ffffffff fffffffe msc led bus vendor product version name imps generic wheel mouse phys isa serio input handlers mouse event ev key rel bus vendor product version name chesen usb keyboard phys usb input handlers kbd event ev key ff ff febeffdf ffefffff ffffffff fffffffe led bus vendor product version name chesen usb keyboard phys usb input handlers kbd event ev key bus vendor fc product version name usb opticalwheel mouse phys usb input handlers mouse event ev key rel note que arquivo parece indicar presença de três teclados embora no sistema aferido existam apenas dois razão do dispositivo adicional que muitos teclados usb contém teclas especiais por exemplo de controle multimídia ou acesso internet detectadas pelo kernel como pertencentes um teclado secundário cujo endereço físico termina em input configuraremos apenas os teclados primários com endereço físico terminado em input portanto seção correspondente ao teclado secundário de endereço físico usb input será ignorada instalação do servidor xorg próximo passo instalação do servidor xorg faça uma cópia de segurança backup remova arquivo etc init xfree common adicione as seguintes linhas ao arquivo etc apt sources list caso sua distribuição do debian seja sarge use deb http people debian org nobse xorg sarge main deb src http people debian org nobse xorg sarge main caso sua distribuição do debian seja etch use as fontes oficiais deb http ftp br debian org debian etch
o sua distribuição do debian seja etch use as fontes oficiais deb http ftp br debian org debian etch main deb src http ftp br debian org debian etch main instale pacote xserver xorg apt get update apt get install xserver xorg apt get upgrade obs caso use debian etch sempre prefira usar comando aptitude ao invés do apt get senão você poderá causar instabilidade em seu sistema de dependências configuração do servidor xorg xorg conf essa configuração será usada durante funcionamento do multiterminal neste arquivo serão criadas seções adicionais de acordo com número de terminais que estamos configurando para cada terminal criaremos uma seção para mouse teclado placa de vídeo monitor tela screen layout por exemplo no caso de um multiterminal com quatro terminais arquivo terá quatro seções de mouse quatro de teclado assim por diante os valores sugeridos para identifier em cada seção não são mandatórios eles podem ser alterados desde que mantida coerência dos nomes na configuração toda endereço físico opção dev phys de cada dispositivo pode ser obtido através do arquivo proc bus input devices como visto anteriormente seguir um exemplo para cada tipo de seção section inputdevice identifier generic keyboard driver kbd substitua valor da opção dev phys pelo endereço físico do teclado correspondente obtido partir do arquivo proc bus input devices option protocol evdev option dev phys isa serio input as opções abaixo são adequadas um teclado brasileiro com cedilha abnt option xkbrules xorg option xkbmodel abnt option xkblayout br option xkbvariant abnt option xkboptions abnt option corekeyboard endsection section inputdevice identifier configured mouse driver mouse substitua valor da opção dev phys pelo endereço físico do mouse correspondente obtido partir do arquivo proc bus input devices option protocol evdev option dev phys isa serio input todos os mouses devem ter opção corepointer option corepointer option zaxismapping endsection section device identifier placa de vídeo genérica driver sis screen obrigatório explicitar busid de todas as placas para obtê los use lspci grep vga cuidado com os valores pois endereço fornecido pelo lspci em base hexadecimal xorg espera um valor decimal para conversão use echo busid pci esta opção desabilita as chamas vga vbe da irq para evitar que uma placa interfira com as demais ver também arquivo xorg conf probe option noint yes esta opção para placas sis evita problemas ao alternar entre terminais virtuais ou ao encerrar servidor option no endsection os valores abaixo são default mantenha configuração que você usaria normalmente para seus monitores section monitor identifier monitor genérico horizsync vertrefresh option dpms endsection configuração da tela abaixo também ilustrativa personalize de acordo com sua preferência section screen identifier default screen device placa de vídeo genérica monitor monitor genérico defaultdepth subsection display depth modes endsubsection endsection section serverlayout identifier ser
ultdepth subsection display depth modes endsubsection endsection section serverlayout identifier será usado na chamada em linha de comando identifier layout screen default screen inputdevice generic keyboard inputdevice configured mouse option singlecard endsection xorg conf probe além do arquivo padrão xorg conf será necessário criar um segundo arquivo de configuração xorg conf probe durante uso do multiterminal desabilitamos as interrupções no canal irq para evitar que chamadas vga vesa vbe de uma placa interfiram com as demais porém com essas chamadas desabilitadas as placas secundárias não são inicializadas para resolver este problema durante processo de inicialização do sistema xorg será rodado com arquivo xorg conf probe ele fará uma checagem probe pela presença destas placas com irq ativa durante teste de forma inicializá las para criar xorg conf probe tome xorg conf como base remova as seções relativas placa de vídeo primária que inicializada pela bios ao ligar computador troque opção noint para no será necessário um único layout mas incluindo todas as placas secundárias como exemplo alguns trechos do arquivo xorg conf probe derivado do xorg conf acima em todas as seções device das placas de vídeo troque opção noint para option noint no declarar apenas um layout sem usar opção singlecard todas as telas screens secundárias devem ser incluídas disposição das telas leftof etc não importante tampouco os dispositivos de entrada usados section serverlayout identifier probe screen default screen screen default screen leftof default screen screen default screen leftof default screen inputdevice generic keyboard inputdevice configured mouse endsection para rodar teste probe fornecido arquivo xorg multiterminal ele executa servidor no modo probeonly apenas testar por dispositivos encerrar com arquivo xorg conf probe como explicado acima este passo inicializa as placas de vídeo secundárias conteúdo do arquivo file etc xorg conf probe file usr bin config file probeonly dev null salve como um script executável configure sistema de inicialização para rodá lo no caso do debian caminho deve ser etc init xorg multiterminal existem duas maneiras de configurar sistema através do comando update rc este comando funciona tanto para usuários do sistema padrão do debian sysv rc quanto para usuários do pacote file rc update rc xorg multiterminal start manualmente em um sistema debian usando esquema padrão de inicialização crie um link ln etc init xorg multiterminal etc rcs xorg multiterminal em um sistema debian com pacote file rc instalado acrescente seguinte linha em um lugar apropriado no arquivo etc init runlevel conf etc init xorg multiterminal gdm último passo configurar gerenciador de login para iniciar todos os servidores trataremos apenas do gdm outros gerenciadores como xdm kdm podem ser configurados por um processo similar deve se editar seção servers do arquivo etc gdm gdm conf para que contenha múltiplas entradas como no exemplo seguinte para quatro
arquivo etc gdm gdm conf para que contenha múltiplas entradas como no exemplo seguinte para quatro terminais servers xserver xserver xserver xserver os nomes dos servidores são arbitrários mas deve se adicionar uma seção para cada servidor com conteúdo como abaixo server xserver name standard server command usr bin br audit layout layout vt sharevts flexible true server xserver name standard server mmand usr bin br audit layout layout vt sharevts flexible true server xserver name standard server mmand usr bin br audit layout layout vt sharevts flexible true server xserver name standard server mmand usr bin br audit layout layout vt sharevts flexible true solução de problemas problemas na inicialização do multiterminal podem ser analisados nos arquivos em var log xorg log servidor de cada terminal criará seu próprio arquivo de registro veja também