No trabalho, eu devo ter um aplicativo Java rodando em tela cheia em uma TV de tela grande. Esta TV está conectada a um dispositivo Intel Nuc , que está rodando Lubuntu 13.10 .
Esta TV está pendurada na parede e está inclinada. Se você virar a cabeça 90 graus para a esquerda, você verá a TV "normalmente".
Para compensar isso, editei a seção [XRandr]
de ~/.config/lxsession/Lubuntu/desktop.conf
da seguinte maneira:
[XRandr]
mode=command
command=xrandr -o right
Isso faz com que a tela seja mais legível por todos os humanos que estão mantendo os pés no chão e com a cabeça para cima (mas ainda olhando para frente).
No entanto, quando inicio um aplicativo Java que está sendo exibido, o manipulador X congela. Eu posso mover o mouse, mas não usá-lo. Eu não consigo usar o teclado de qualquer maneira, exceto mudar para um TTY. Os TTYs geram essas mensagens de erro em diferentes intervalos:
Para fins de integridade, aqui está o código Java que estou executando para mostrar o aplicativo em tela cheia:
GraphicsDevice[] devices = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();
frame.setVisible(false);
frame.dispose();
frame.setUndecorated(true);
GraphicsDevice device = devices[0];
Rectangle rect = device.getDefaultConfiguration().getBounds();
frame.setBounds(rect.x, rect.y, rect.height, rect.width); // width and height have switched places because of the display being rotated
device.setFullScreenWindow(frame);
frame.setResizable(false);
frame.setAlwaysOnTop(false);
frame.setVisible(true);
(Este código é de uma pergunta SO sobre como mostrar um JFrame em tela cheia)
Eu tentei instalar novos drivers, Intel(R) Graphics Installer 1.0.4 for Linux*
do link ( Graphics Installer for Ubuntu* 13.10, 32-bit
). Isso não ajuda: (
O problema é que, quando não altera o desktop.conf , o aplicativo Java funciona perfeitamente em tela cheia. Portanto, parece estar relacionado ao comando xrandr -o right
.
Todas as ideias, sugestões, pensamentos apreciados.