Portanto, este é um guia antigo, mas ainda pode funcionar. MultiSeatOneCard .
Algumas notas antes de começar a trazer instruções:
-
Toda a configuração de
gdm
que você deseja fazer pode nem ser necessária. Se você tem o GNOME, você já temgdm
(e uma versão muito mais recente). Unity usalightdm
, o que parece não funcionar. Você deve instalar ogdm
e usá-lo para experimentar este guia. -
Apenas outro aviso: GUIA ANTIGO. Pode não funcionar, pode quebrar o Ubuntu, pode explodir sua máquina (não é claro). Por favor, tenha cuidado e volte as coisas.
Agora para o guia
O wiki sugere desativar a tela inicial com o seguinte. Não sei se o procedimento ainda funciona ou não.
Muita coisa pode dar errado com essa configuração e a tela inicial sofisticada durante a inicialização não ajuda. Para desabilitá-lo (talvez temporariamente) edite / etc / default / grub e mude a designação GRUB_CMDLINE_LINUX_DEFAULT de respingo silencioso para nomodeset noplymouth. Em seguida, execute sudo update-grub.
A próxima parte, sobre "área de trabalho expandida", provavelmente também pode ser ignorada. Basta conectar os dois monitores e configurá-los para o "modo estendido" nas configurações do monitor.
Agora, para alguma configuração.
Primeiro, encontre em /etc/gdm/gdm.conf, na seção [servers], uma linha começando com 0 = .... (sem # no início da linha). Coloque um # na frente dele.
Isso deve ser possível sem muitos problemas.
Em seguida, edite /etc/gdm/gdm.conf-custom. Encontre a seção [security] e adicione uma linha PamStack = gdm-2.20.
Aqui é onde você pode ter um problema. Em vez de 2.20, você pode precisar experimentar 3.18 (isto é para 16.04).
encontre a seção [xdmcp] e adicione uma linha Enable = true.
Isso não deve causar problemas.
O XDMCP não é um protocolo particularmente seguro, por isso é uma boa idéia fazer com que o gdm refute conexões de outros computadores. Adicione uma linha gdm: 127. * em /etc/hosts.allow e uma linha gdm: ALL em /etc/hosts.deny.
Isso, você pode optar por não fazer. Se você se preocupa com segurança, eu sugiro que você faça isso, mas caso contrário, eu acho que você pode deixar isso.
Agora reinicie o gdm
reinicializando (provavelmente da maneira mais fácil). Se você vir a tela de login do GDM, alguma coisa está acontecendo. Verifique o guia original e ajuste algumas configurações.
Se você não tiver uma tela de login, acesse um TTY e execute X -query 127.0.0.1
. Se o GDM aparecer, mate-o (volte para o TTY e o mate lá).
Crie um novo usuário chamado monitor
:
addgroup --gid 983 monitor
adduser --uid 983 --gid 983 monitor
Crie um arquivo (o guia não possui especificações de nome) em /etc/udev/rules.d/my.rules
e insira o seguinte:
SUBSYSTEM=="input", OWNER="monitor", GROUP="monitor"
Algumas instalações de pacotes:
apt-get install x11-utils xserver-xephyr
Precisamos separar os monitores com alguns aliases:
ln -s xmessage /usr/bin/xmessage0
ln -s xmessage /usr/bin/xmessage1
Faça login no usuário monitor
no TTY e crie ~/.xsession
.
Coloque isso dentro:
runscreen () {
# = number
# = geometry
local xpid winid k
while :; do
xmessage -geometry "Window " &
xpid=$!
k=10
while \
winid='xwininfo -name xmessage|grep 'Window id'|cut -d' ' -f4' \
&& [ $k -gt 0 -a ! "$winid" ]
do
sleep 1
k=$(($k - 1))
done
if [ "$winid" ]; then
Xephyr :1 -parent "$winid" -dpms -keybd "evdev,,device=,$xkb" -mouse "evdev,,device=" -query 127.0.0.1
fi
kill $xpid
sleep 3
kill -9 $xpid
done
}
# For some reason I was unable to set the following in xorg.conf
# We need to turn off power management of the main X server because it doesn't
# see either of the keyboards and the mice so it will enter power-saving mode
# after 10 minutes
xset s off
xset dpms 0 0 0
xset -dpms
xkb='xkbrules=xorg,xkbmodel=evdev,xkblayout=us'
# PS/2 keyboard and mouse
kbd1='ls /dev/input/by-path/platform-*-event-kbd'
mouse1='ls /dev/input/by-path/platform-*-event-mouse'
# USB keyboard and mouse
kbd2='ls /dev/input/by-path/pci-*-event-kbd'
mouse2='ls /dev/input/by-path/pci-*-event-mouse'
runscreen 1 1280x1024+1920+0 "$kbd2" "$mouse2" &
runscreen 0 1920x1080+0+0 "$kbd1" "$mouse1"
Lembre-se de editá-lo para refletir suas resoluções.
Execute startx
como o usuário monitor
e veja se funciona.
Isso precisa ser feito para iniciar na inicialização se funcionar, então adicione isso ao final de ~/.profile
(para a conta do monitor):
if [ "'tty'" = /dev/tty6 ]; then
exec startx
fi
Mate a GUI e vá para TTY6. Faça o login como monitor
e ele deve ser iniciado.
Se isso funcionar, edite o arquivo /etc/init/tty6.conf
como root e substitua a linha que começa com /sbin/getty
por
exec /bin/login -f monitor tty6 </dev/tty6 >/dev/tty6 2>&1
Se funcionar, mas você também quiser separar o áudio, o guia MultiSeatX vinculado tem algumas coisas para você.
Lembre-se de que isso pode não funcionar. Eu digitei isso rapidamente e espero editá-lo para ser um pouco mais claro, se necessário. Eu adaptei partes do guia para estar mais atualizado e aumentar a chance de sucesso.
Boa sorte!