Você está na página 1de 14

Configurando o multiterminal no Ubuntu 14.

04 LTS para
computadores do ProInfo
Laercio de Sousa
E-mail: laerciosousa@sme-mogidascruzes.sp.gov.br
5 de dezembro de 2014
Resumo
Neste artigo, explicaremos como configurar corretamente o multiterminal no Ubuntu 14.04
LTS Trusty Tahr em computadores do ProInfo pregoes FNDE 83/2008 e 71/2010.

Sumario
1 Introducao

2 Cuidados iniciais

3 Instalacao e configuracao do sistema


3.1 Adicionando o PPA do projeto Ubuntu Multiseat
3.2 Adicionando os arquivos de configuracao . . . . .
3.2.1 Udev . . . . . . . . . . . . . . . . . . . . .
3.2.2 X.Org X11 Server . . . . . . . . . . . . . .
3.2.3 LightDM . . . . . . . . . . . . . . . . . . .
3.3 Reiniciando o sistema . . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

3
3
4
4
5
6
7

4 O problema da Tela Listrada

5 O problema do Ponteiro do Mouse Piscante

6 [EXPERIMENTAL] Configurando tres terminais com servidores X


6.1 Habilitando o modo dual-head na placa TN-502 . . . . . . . . . . . . .
6.2 Complementando a configuracao do Udev . . . . . . . . . . . . . . . . .
6.3 Multiterminal com Xephyr . . . . . . . . . . . . . . . . . . . . . . . . .
6.4 Multiterminal com Xorg e o driver de vdeo nested . . . . . . . . . . .
6.5 Problemas comuns . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1

aninhados
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .

.
.
.
.
.

8
9
10
10
11
12

A Automatizando a reinicialiacao do sistema (para contornar o problema


listrada)
A.1 Procedimentos a serem feitos no Linux Educacional 4.0 . . . . . . . . . . . .
A.2 Procedimentos a serem feitos no Ubuntu . . . . . . . . . . . . . . . . . . . .
A.3 Desativando a reinicializacao automatica do Linux Educacional . . . . . . . .

da tela
13
. . . . . 13
. . . . . 13
. . . . . 14

Introducao

No ultimo dia 17 de abril de 2014, foi lancada a versao 14.04 LTS, codinome Trusty Tahr, do
sistema operacional Ubuntu, bem como de seus derivados. Esta e a primeira versao LTS do Ubuntu
lancada apos o incio da sua transicao para a adocao do systemd como ferramenta de inicializacao
e monitoramento de sistema, e ja oferece suporte parcial a multiterminais de forma nativa, isto e,
sem a necessidade de recorrer a solucoes comerciais como o Userful Multiseat.
Provavelmente, o Ubuntu 14.04 LTS sera a base de um eventual Linux Educacional 6.0 1 .

Cuidados iniciais

Antes de comecarmos o processo de instalacao do Ubuntu e configuracao do multiterminal, algumas observacoes sao necessarias:
[IMPORTANTE] Nao exclua a sua instalacao atual do Linux Educacional! Em vez disso,
voce deve instalar o Ubuntu lado a lado com a sua instalacao atual do Linux Educacional.
Voce pode redimensionar a particao do Linux Educacional para um valor pequeno (10GB ou
20GB) e reservar o restante para o novo sistema. Manter o Linux Educacional instalado pode
ser importante para contornarmos um eventual problema de Tela Listrada (veja a secao 4)
que pode se manifestar em alguns computadores.
Numa montagem tpica de multiterminal do ProInfo, ha um hub USB para cada terminal.
Retire o hub do terminal primario (aquele correspondente ao vdeo onboard da Intel) e conecte
teclado e mouse diretamente a CPU. Reserve os hubs USB para os terminais secundarios
(aqueles correspondentes a placa de vdeo externa TN-502).
Existem diversas derivacoes do Ubuntu disponveis, que diferem umas das outras principalmente
pelo ambiente grafico. Escolha a que melhor atenda as suas necessidades:
Edubuntu: Otimizada para uso educacional. Oferece duas opcoes de ambiente grafico (Unity
e GNOME-Flashback). O ambiente grafico Unity nao e recomendado para os computadores do ProInfo, pois ele exige muito processamento grafico, algo que as placas de
1

A ser confirmado pela equipe do C3SL/UFPR responsavel pelo desenvolvimento do Linux Educacional. A versao
atual, 5.0, e baseada no Ubuntu 12.04 LTS.

vdeo TN-502 sao incapazes de oferecer. Caso voce prefira instalar outra derivacao do
Ubuntu, ainda podera instalar os pacotes educacionais mantidos pelo projeto Edubuntu.
Os pacotes sao ubuntu-edu-preschool, ubuntu-edu-primary, ubuntu-edu-secondary
e ubuntu-edu-tertiary.
Ubuntu GNOME: Baseada no ambiente GNOME 3.10 completo. E a que oferece o melhor
suporte a multiterminal.
Kubuntu: Baseada na versao 4.13 do ambiente KDE, o mesmo do Linux Educacional 4.0.
Xubuntu: Baseada no ambiente XFCE. Por ser leve, deve funcionar bem nos computadores
do ProInfo, sobretudo nos do pregao 83/2008, que possuem menor quantidade de memoria
RAM.
Lubuntu: Baseada no ambiente LXDE. Dentre todas as derivacoes do Ubuntu, esta e a mais
leve, alem de oferecer uma interface que lembra o Windows XP.
Todas as derivacoes do Ubuntu descritas acima apresentam suporte correto a configuracao de
dispositivos de entrada e sada por terminal (teclado, mouse, microfone e fone de ouvido). No
entanto, ate a presente data, as derivacoes Edubuntu, Kubuntu e Lubuntu, bem como o proprio
Ubuntu, ainda apresentam algum inconveniente quanto ao uso de dispositivos de armazenamento
removveis (pendrives, discos rgidos externos, etc.). Caso voce precise utilizar tais dispositivos com
frequencia em seus computadores multiterminais, recomendamos as derivacoes Ubuntu GNOME ou
Xubuntu.
A versao 14.04 LTS do Ubuntu oferece um recurso que permite delegar ao processador principal
parte do processamento grafico, compensando a limitacao da placa de vdeo TN-502. No entanto,
parte deste processamento acaba sendo consumida pelo proprio ambiente grafico para lidar com
efeitos visuais, tais como animacoes, transparencias, etc. Assim, quanto mais leve o ambiente grafico
escolhido, maior sera a sobra de processamento grafico para as aplicacoes.
Portanto, se voce pretende executar jogos mais pesados e/ou com graficos em 3D, recomendamos as derivacoes Xubuntu ou Lubuntu. Em nossos testes, executando o jogo SuperTuxKart com
resolucao de 800x600 pixels em computadores do pregao 71/2010, o desempenho grafico na placa
TN-502 foi razoavel, tanto no Xubuntu, como no Lubuntu.

Instalacao e configuracao do sistema

3.1

Adicionando o PPA do projeto Ubuntu Multiseat

Apesar de o Ubuntu apresentar suporte parcial na sua instalacao padrao, alguns pacotes ainda
precisam de modificacoes para garantir o funcionamento correto do modelo de multiterminal dos
computadores do ProInfo. Para tanto, a equipe do projeto Ubuntu Multiseat mantem um PPA2 com
2

Personal Package Archive, ou repositorio de pacotes particular.

os pacotes modificados. Para adicionar o PPA do projeto Ubuntu Multiseat a sua lista de repositorios
e atualizar o sistema, basta executar os comandos abaixo:
$ sudo apt-add-repository ppa:ubuntu-multiseat/ppa
2 $ sudo apt-get update
3 $ sudo apt-get upgrade
1

3.2

Adicionando os arquivos de configuracao

3.2.1

Udev

O primeiro arquivo de configuracao que precisamos adicionar ao nosso sistema serve para registrarmos os hubs USB da ThinNetworks como dispositivos-mestres para novos terminais. Assim, o
sistema reconhecera o hub e criara um novo terminal para ele automaticamente. Com o auxlio de um
editor de textos, crie um arquivo com o caminho /etc/udev/rules.d/71-seat-tn.rules conforme
abaixo:
#
#
3 #
4 #
5 #
6 #
7 #
1
2

SUBSYSTEM=="usb": identifica dispositivos USB em geral


ATTR{idVendor}=="05e3": identifica o fabricante (ThinNetworks)
ATTR{idProduct}=="0608": identifica o hub USB
TAG+="master-of-seat": registra o hub USB como dispositivo-mestre
para novos terminais
ENV{ID_AUTOSEAT}="1": cria o novo terminal automaticamente assim que
o hub USB e detectado pelo sistema

SUBSYSTEM=="usb", \
ATTR{idVendor}=="05e3", \
11
ATTR{idProduct}=="0608", \
12
TAG+="master-of-seat", \
13
ENV{ID_AUTOSEAT}="1"
9

10

Para aplicar imediatamente as alteracoes de sistema apos criar este arquivo, execute o comando
1

$ sudo udevadm trigger

Para listar os terminais presentes no sistema, execute o comando


1

$ loginctl list-seats

Exemplo de sada do comando para tres terminais (2 hubs USB conectados):


SEAT
seat0
seat-usb-pci-0000_00_1d_7-usb-0_2
seat-usb-pci-0000_00_1d_7-usb-0_4

3 seats listed.

Repare que o nome do terminal criado automaticamente (seat-usb-pci-0000_00_1d_7-usb-0_2)


varia de acordo com a porta USB na qual o hub e conectado. Caso o seu sistema possua apenas dois terminais (isto e, um unico hub conectado), talvez prefira a seguinte variacao do arquivo
71-seat-tn.rules:
# ENV{ID_FOR_SEAT}="tn": adiciona o sufixo -tn ao nome do terminal
2 # criado automaticamente (seat-tn)
1

SUBSYSTEM=="usb", \
5
ATTR{idVendor}=="05e3", \
6
ATTR{idProduct}=="0608", \
7
TAG+="master-of-seat", \
8
ENV{ID_AUTOSEAT}="1", \
9
ENV{ID_FOR_SEAT}="tn"
4

Com a entrada adicional ENV{ID_FOR_SEAT}="tn"3 , o novo terminal criado automaticamente recebera


sempre o mesmo nome, seat-tn, independentemente da porta USB a qual esteja conectado.
Para o que segue, vamos assumir que o sistema a ser configurado possui apenas dois terminais,
sendo que o terminal secundario possui o nome seat-tn.
3.2.2

X.Org X11 Server

O proximo arquivo de configuracao que precisamos criar e o do X.Org X11 Server, necessario para
configurarmos corretamente a placa de vdeo TN-502. Esta placa possui um chip Silicon Motion SM501, que utiliza o driver de vdeo xf86-video-siliconmotion.
Caso o seu sistema nao possua uma pasta chamada /etc/X11/xorg.conf.d, crie-a. Em seguida,
com o auxlio de um editor de textos, crie o arquivo /etc/X11/xorg.conf.d/90-seat-tn.conf
conforme abaixo:
Section "Device"
2
# Modifique a linha abaixo de acordo com o seu hardware.
3
BusID "PCI:4:1:0"
4
Identifier "videocard_sm501"
5
Driver "siliconmotion"
6
Option "PanelSize" "1360x768"
7
MatchSeat "seat-tn"
8 EndSection
1

Section "Screen"
Identifier "screen_sm501"
12
Device "videocard_sm501"
10
11

Voce pode substituir o tn por qualquer sequencia de caracteres de sua escolha.

DefaultDepth 16
MatchSeat "seat-tn"
15 EndSection
13
14

No exemplo acima, o campo BusID "PCI:4:1:0" esta configurado de acordo com a sada do
comando
1

$ lspci | grep SM501


04:01.0 Display controller: Silicon Motion, Inc. SM501 VoyagerGX Rev. AA
(rev c0)

Execute este comando no seu proprio computador e adapte o valor de BusID no seu arquivo de
configuracao conforme necessario.
IMPORTANTE: certifique-se de ter adicionado o PPA do projeto Ubuntu Multiseat e atualizado
o seu sistema antes de criar este arquivo. Caso contrario, o sistema podera travar na proxima
inicializacao.
3.2.3

LightDM

NOTA: caso voce optado pela derivacao Ubuntu GNOME, pode pular esta secao.
Desde o dia 15 de agosto de 2014, os pacotes do gerenciador de login LightDM disponveis no PPA
do projeto Ubuntu Multiseat incluem patches que adicionam suporte a configuracao automatica de
multiterminais, de modo que nenhuma configuracao adicional e necessaria, em princpio.
ATUALIZACAO 15/09/2014: O suporte a configuracao automatica de multiterminais, cuja implementacao foi finalizada a tempo para o fechamento da versao 1.12 do LightDM (que sera
lancada juntamente com o Ubuntu 14.10 Utopic Unicorn) foi portado para a serie 1.10 e
devera ser disponibilizado em breve para a versao 14.04 LTS. No entanto, diferentemente do
pacote do PPA do projeto Ubuntu Multiseat, a ativacao deste suporte sera opcional na atualizacao oficial (para evitar quebras com configuracoes anteriores). Assim, e recomendavel
acrescentar a configuracao abaixo ao seu arquivo lightdm.conf para nao haver problemas
quando a atualizacao sair:
1
2

[LightDM]
logind-load-seats=true

Quando a atualizacao oficial estiver disponvel, o pacote do PPA do projeto Ubuntu Multiseat
sera descontinuado.
No entanto, e possvel personalizar alguns parametros de configuracao do LightDM para terminais
adicionados automaticamente, como o usuario que fara login automatico no terminal em questao,
6

o comando personalizado do servidor X que sera executado naquele terminal, etc. Com o auxlio
de um editor de textos, crie (ou edite, caso exista) o arquivo /etc/lightdm/lightdm.conf (ou
/etc/lightdm/lightdm.conf.d/90-seat-tn.conf, se preferir) conforme o exemplo abaixo:
[Seat:seat-tn]
autologin-user=<NOME-DE-USUARIO>
3 xserver-command=X -core -dpms -s 0
1
2

3.3

Reiniciando o sistema

Se voce chegou ate aqui, ja tem o sistema suficientemente preparado para o multiterminal. Reinicie o computador e, se tudo correu como esperado, voce devera ter o multiterminal pronto para
uso.

O problema da Tela Listrada

Uma vez instalado o Ubuntu e configurado corretamente o multiterminal, e possvel que, ao


desligar o computador e liga-lo novamente, voce se depare com um estranho problema: os monitores
conectados a placa TN-502 podem apresentar apenas uma tela listrada, como mostra a figura 1.
Nao sabemos ainda qual e a causa deste problema, mas provavelmente se trata de alguma inconsistencia entre o driver de vdeo xf86-video-siliconmotion e as placas TN-502, tampouco
conhecemos sua solucao. Nao obstante, e possvel contornar o problema seguindo os passos abaixo:
1. Reinicie o computador.
2. Na tela do gerenciador de boot, escolha a sua instalacao anterior do Linux Educacional.
3. Aguarde a inicializacao do Linux Educacional. Assim que voce perceber que a imagem nos
monitores conectados a placa TN-502 voltou ao normal (uma tela preta com o ponteiro do
mouse ja e suficiente), pressione rapidamente [Ctrl]+[Alt]+[Delete] para reiniciar o sistema
novamente.
4. Na tela do gerenciador de boot, escolha a sua instalacao atual do Ubuntu (ou a derivacao do
Ubuntu que voce escolheu).
5. Aguarde a inicializacao do sistema. Se tudo correu como esperado, os monitores conectados a
placa TN-502 devem ter voltado ao normal.
6. A partir deste ponto, voce pode reiniciar o computador quantas vezes quiser, que o problema
nao voltara a se manifestar, ate que voce o desligue e ligue novamente.
Embora nao seja possvel ainda evitar todo este procedimento, e possvel ao menos automatiza-lo.
O roteiro completo para automatizacao do procedimento esta disponvel no apendice A.
7

Figura 1: Problema na sada de vdeo da placa TN-502.

O problema do Ponteiro do Mouse Piscante

Outro problema observado devido a limitacoes no driver de vdeo atual da placa TN-502 e que o
ponteiro do mouse fica piscando quando e movimentado. Alem de ser um incomodo no uso geral do
ambiente de trabalho, este comportamento estranho pode ser bastante prejudicial em alguns aplicativos especficos, como o GCompris. Ainda nao descobrimos uma solucao para este problema, mas
uma medida paliativa possvel e a utilizacao de servidores X aninhados, a mesma solucao abordada
a seguir para configurar tres terminais utilizando as duas sadas de vdeo da placa TN-502.

[EXPERIMENTAL] Configurando tres terminais com servidores X aninhados

Atualmente, nao e possvel executar mais de um servidor X sobre uma mesma placa de vdeo, o
que permitiria, por exemplo, configurar dois terminais utilizando as duas sadas de vdeo da placa
TN-502. No entanto, e possvel contornar esta limitacao com uma solucao paliativa a mesma
utilizado pelo Userful Multiseat no Linux Educacional 5.0. Esta solucao consiste em executar um
servidor X hospedeiro que se expande sobre ambas as sadas de vdeo da placa TN-502 e abrir
sobre ele duas janelas com servidores X hospedes aninhados, cujos tamanhos e posicoes deve ser
8

escolhidos para se ajustar exatamente as dimensoes de cada monitor conectado as sadas de vdeo.
Existem atualmente duas alternativas para executar os servidores X aninhados:
utilizar o software Xephyr, que e um servidor X minimalista feito especificamente para ser
executado sobre um outro servidor X.
utilizar o proprio Xorg com um driver de vdeo que permita executa-lo sobre um outro servidor
X. Esta e a solucao adotada pelo Userful Multiseat no Linux Educacional 5.0, que utiliza um
driver proprietario chamado uvdd, mas existe um outro driver de codigo aberto chamado
xf86-video-nested que se propoe a fazer o mesmo.
Cada uma das alternativas apresentadas possui suas vantagens e desvantagens. Ate o momento,
o Xephyr esta mais otimizado no quesito desempenho grafico, mas apresenta limitacoes no gerenciamento de dispositivos de entrada (por exemplo, os LEDs do teclado NumLock, ScrollLock e
CapsLock nao acendem quando estao ativados, os dispositivos de entrada nao sao detectados se
voce desconecta-los e conecta-los novamente, etc.). O Xorg com o driver nested, por sua vez, gerencia muito bem os dispositivos de entrada, mas o driver ainda esta num estagio imaturo e carece
de otimizacoes graficas (em nossos testes realizados em 2 de julho de 2014, o Google Chrome nao
conseguia reproduzir vdeos do YouTube no Xorg com o driver nested).
Vamos explicar a seguir como configurar o multiterminal com servidores aninhados para cada
uma das abordagens apresentadas.

6.1

Habilitando o modo dual-head na placa TN-502

Antes de prosseguirmos com a configuracao do multiterminal com servidores X aninhados, precisamos habilitar o modo dual-head na placa TN-502 quando executarmos o servidor X hospedeiro.
Crie/Edite o arquivo /etc/X11/xorg.conf.d/90-sm501-dualhead.conf com o seguinte conteudo:
Section "Device"
2
MatchSeat "__sm501-dualhead__"
3
Identifier "videocard_sm501_dualhead"
4
BusID "PCI:4:1:0"
5
Driver "siliconmotion"
6
Option "PanelSize" "1360x768"
7
Option "Dualhead" "true"
8 EndSection
1

Section "Screen"
MatchSeat "__sm501-dualhead__"
12
Identifier "screen_sm501_dualhead"
13
Device "videocard_sm501_dualhead"
14
DefaultDepth 16
10
11

15

SubSection "Display"
Virtual 2720 768
18
EndSubSection
19 EndSection
16
17

6.2

Complementando a configuracao do Udev

Para nao precisar carregar nomes de terminal muito extensos, como aqueles gerados automaticamente, voce pode criar um arquivo complementar /etc/udev/rules.d/72-tn-late-seat.rules4
com o seguinte conteudo:
1
2

TAG=="seat", ENV{ID_FOR_SEAT}=="usb-pci-0000_00_1d_7-usb-0_2", \
ENV{ID_SEAT}="seat-VGA"

3
4
5

TAG=="seat", ENV{ID_FOR_SEAT}=="usb-pci-0000_00_1d_7-usb-0_4", \
ENV{ID_SEAT}="seat-LVDS"

Os exemplos de configuracao que seguem abaixo baseiam-se na regra acima. Seguindo esta convencao, voce vai associar uma determinada porta USB da CPU a uma determinada sada de vdeo
da placa TN-502. Certifique-se de conectar o hub na porta USB associada a sada de vdeo desejada.
Se voce perceber que seus terminais aparentam estar trocados (mouse de um terminal associado ao
monitor de outro), permute as portas USB em que os hubs estao conectados.

6.3

Multiterminal com Xephyr

Para configurar corretamente o multiterminal com o Xephyr, precisamos instalar um aplicativo


auxiliar, desenvolvido por nos, chamado multi-seat-xephyr. Ele tambem esta disponvel no PPA
do Ubuntu Multiseat, que voce ja deve ter adicionado. Para instalar o aplicativo, execute
1

$ sudo apt-get install multi-seat-xephyr

Tambem precisamos do Xephyr disponvel no PPA do Ubuntu Multiseat, pois ele contem algumas
modificacoes necessarias para a correta configuracao do multiterminal. Provavelmente voce ja deve
te-lo atualizado quando fez a atualizacao completa do sistema, mas pode certificar-se executando
1

$ sudo apt-get install xserver-xephyr

Em seguida, edite/crie o arquivo de configuracao /etc/xdg/multi-seat-xephyr.conf. Voce


pode encontrar todas as opcoes de configuracao disponveis no arquivo de documentacao disponvel
em /usr/share/doc/multi-seat-xephyr/multi-seat-xephyr.conf.example. Segue abaixo um
exemplo do arquivo /etc/xdg/multi-seat-xephyr.conf:
4

Nao renomeie este arquivo para algo como 72-seat-tn-late.rules. Caso contrario, voce podera exclu-lo acidentalmente se executar o comando sudo loginctl flush-devices.

10

[default]
2 seat-parent-window=false
3 xephyr-options=-sw-cursor
1

[daemon]
host-seat=__sm501-dualhead__
7 host-options=-nolisten tcp -dpms -s 0
5
6

[seat-LVDS]
10 output=LVDS
9

11

[seat-VGA]
13 output=VGA
12

O proximo passo e configurar o LightDM para executar o programa multi-seat-xephyr no


lugar do /usr/bin/Xorg quando carregar os terminais secundarios. Para isso, adicione as seguintes
entradas ao arquivo de configuracao lightdm.conf:
1
2

[Seat:seat-LVDS]
xserver-command=multi-seat-xephyr

[Seat:seat-VGA]
5 xserver-command=multi-seat-xephyr
4

Para garantir que o servidor X hospedeiro seja executado automaticamente na inicializacao do


sistema, inclua o seguinte comando no arquivo /etc/rc.local, antes da linha exit 0:
1

multi-seat-xephyr --daemon

Por fim, voce pode reiniciar o computador para que todas as alteracoes tenham efeito. Caso
queira aplica-las imediatamente, execute os seguintes comandos:
1
2

6.4

sudo multi-seat-xephyr --daemon


sudo restart lightdm

Multiterminal com Xorg e o driver de vdeo nested

Para configurar o multiterminal com o Xorg e o driver nested, voce pode comecar seguindo o
mesmo roteiro da secao anterior para executar o servidor X hospedeiro a partir do multi-seat-xephyr,
ou seja, crie o arquivo /etc/xdg/multi-seat-xephyr.conf conforme la mostrado e acrescente o
comando multi-seat-xephyr --daemon ao seu arquivo /etc/rc.local. Para executar os servidores X aninhados, crie/edite o arquivo /etc/X11/xorg.conf.d/90-seat-sm501-dualhead.conf
conforme abaixo.
11

ATENCAO!! O modelo abaixo esta sujeito a alteracoes conforme o driver nested venha a ser
atualizado. Este documento sera atualizado a medida que novas opcoes de configuracao sejam
implementadas.
Section "Device"
2
Identifier "nested_device"
3
Driver "nested"
4
Option "Display" ":90"
5
MatchSeat "seat-LVDS"
6
MatchSeat "seat-VGA"
7 EndSection
1

Section "Screen"
10
Identifier "nested_screen_LVDS"
11
Device "nested_device"
12
DefaultDepth 16
13
Option "Output" "LVDS"
14
MatchSeat "seat-LVDS"
15 EndSection
9

16

Section "Screen"
18
Identifier "nested_screen_VGA"
19
Device "nested_device"
20
DefaultDepth 16
21
Option "Output" "VGA"
22
Option "RightOf" "LVDS"
23
MatchSeat "seat-VGA"
24 EndSection
17

6.5

Problemas comuns

E possvel que, ao inicializar o sistema, um ou outro terminal nao seja carregado corretamente.
Isso acontece principalmente quando o servidor X hospedeiro nao foi executado corretamente ou
quando o gerenciador de login tenta executar o servidor X aninhado antes de o servidor X hospedeiro
estar pronto. Se isso acontecer com voce, reinicialize o servico do LightDM (ou GDM) para que os
terminais voltem ao normal. Para reinicializar o servico, execute:
1

$ sudo restart lightdm

$ sudo restart gdm

ou

12

Para o caso especfico do multiterminal com servidores X aninhados, e possvel que as telas dos
monitores apresentem-se invertidas em relacao aos dispositivos de entrada, ou seja, o teclado/mouse
do terminal a esquerda estarem associados ao monitor da direita e vice-versa. Uma solucao simples
para corrigir esta inversao e permutar as portas USB dos hubs conectados, ou as sadas de vdeo dos
monitores.

Automatizando a reinicialiacao do sistema (para contornar o problema da tela listrada)

O procedimento abaixo e derivado de uma colaboracao com Andre Lucio Fiamoncini5 , que o
desenvolveu originalmente para a distribuicao openSUSE 13.1, e se divide em duas partes, a saber:

A.1

Procedimentos a serem feitos no Linux Educacional 4.0

Inicialize o sistema no Linux Educacional 4.0 uma vez. Faca login normalmente como professor
e crie um arquivo chamado /usr/local/sbin/auto-reboot.sh com o seguinte conteudo:
#!/bin/sh
timeout=10 # Mude este valor de acordo com a sua preferencia
3 echo "Reiniciando em $timeout segundos..."
4 sleep $timeout
5 reboot
1
2

Salve o arquivo e torne-o executavel:


1

sudo chmod +x /usr/local/sbin/auto-reboot.sh

Em seguida, edite o arquivo /etc/kde4/kdm/Xsetup, acrescentando a seguinte linha ao seu final:


1

xterm -e auto-reboot.sh

Por fim, reinicie o computador e volte para o Ubuntu.

A.2

Procedimentos a serem feitos no Ubuntu

No lado do Ubuntu, precisamos configurar o gerenciador de boot, GRUB, para que escolha uma
vez o Linux Educacional na proxima reinicializacao do sistema. O primeiro passo e editar o arquivo
/etc/default/grub, editando/acrescentando a seguinte linha:
1

GRUB_DEFAULT=saved

Em seguida, execute o seguinte comando para aplicar a alteracao:


5

E-mail para contato: andrelucyo@hotmail.com.

13

sudo update-grub

Precisamos agora informar o GRUB para escolher uma vez o outro sistema na proxima inicializacao. Isto pode ser feito executando o seguinte comando:
1

$ sudo grub-reboot <NUMERO>

Para descobrir qual valor deve ser utilizado no lugar de <NUMERO> no comando acima, observe a
tela principal do GRUB e conte, de cima para baixo, a posicao da linha referente ao Linux Educacional
(a contagem inicia em 0). Por exemplo, se a linha do Linux Educacional estiver na quinta posicao,
o comando completo ficaria assim:
1

$ sudo grub-reboot 4

Para garantir que este comando seja executado na inicializacao do sistema, insira-o no final do
script /etc/rc.local, desta forma:
grub-reboot 4
2 exit 0
1

Agora basta reiniciar o computador. Se tudo estiver configurado corretamente, ele ira inicializar
no Linux Educacional na proxima vez. Uma vez carregado o Linux Educacional, o sistema ira
reinicializar automaticamente no Ubuntu novamente.

A.3

Desativando a reinicializacao automatica do Linux Educacional

Um efeito colateral deste procedimento e que o Linux Educacional ficara inacessvel por causa
da reinicializacao automatica. Se, por algum motivo, voce precisar de acesso ao Linux Educacional,
precisara antes desativar o reincio automatico. Para isso, execute os seguintes comandos no Ubuntu:
1
2

$ sudo mount /dev/sda1 /mnt


$ sudo nano /mnt/etc/kde4/kdm/Xsetup

No editor de textos que sera aberto, apague ou comente a seguinte linha:


1

xterm -e auto-reboot.sh &

Em seguida, reinicie o computador.

14