在工作中,我应该在大屏幕电视上全屏运行一个 Java 应用程序。这台电视连接到英特尔 Nuc正在运行的设备Lubuntu 13.10。
这台电视挂在墙上,是倾斜的。如果你把头向左转90度,你就能“正常”地看电视了。
为了弥补这一点,我对[XRandr]
部分内容 进行了~/.config/lxsession/Lubuntu/desktop.conf
如下编辑:
[XRandr]
mode=command
command=xrandr -o right
这使得所有脚踏实地、抬起头(但仍直视前方)的人都能更清晰地阅读屏幕。
但是,当我启动显示的 Java 应用程序时,X 处理程序会冻结。我可以移动鼠标但不能使用它。除了切换到 TTY 之外,我似乎无法以任何方式使用键盘。TTY 以不同的间隔输出以下错误消息:
- 卡在渲染环上(最常见,大约每 3 秒一次)
- 渲染环卡在 bo 内(很常见,大概每 30 秒一次)
- 等待强制唤醒旧确认清除超时(非常罕见,但有时似乎仍会发生)
为了完整起见,下面是我运行的用于全屏显示应用程序的 Java 代码:
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);
(此代码来自一个关于如何全屏显示 JFrame 的问题)
我尝试安装新的驱动程序Intel(R) Graphics Installer 1.0.4 for Linux*
,https://01.org/linuxgraphics/downloads(Graphics Installer for Ubuntu* 13.10, 32-bit
)。这没用 :(
事情是这样的不改变desktop.conf,Java 应用程序在全屏模式下运行良好。所以这似乎与命令有关xrandr -o right
。
欢迎提出任何想法、建议和意见。