在 Linux 中,我们有虚拟屏幕,例如桌面 1、2、3、4。大多数情况下,我们使用桌面 1(屏幕 1,带有一台显示器)。
现在,我的问题是如何告诉我的 java 应用程序在桌面 2 上启动(屏幕 2,带有一台显示器)
默认情况下,当我运行 java -cp /var/tmp/SystemX.jar run.X 时,它将在桌面 1 的屏幕 1 中启动。这不是我的情况。
尝试:以下但没有帮助导致,它适用于双显示器场景。不是我所期待的。
screen = Toolkit.getDefaultToolkit().getScreenSize();
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] screenDevices = ge.getScreenDevices();
for (int i = 0; i < screenDevices.length; i++) {
System.out.println(screenDevices[i].getIDstring());
int screenWidth = 1024;
int screenHeight = 764;
if (screenDevices[i].getDisplayMode()!=null) {
DisplayMode dm = screenDevices[i].getDisplayMode();
screenWidth = dm.getWidth();
screenHeight = dm.getHeight();
}
System.out.println("[myResolution]: " + screenWidth + " " + screenHeight);
screen.width = screenWidth;
screen.height = screenHeight;
}
跟进:
#!/bin/sh
(export DISPLAY=:0.0 && java -cp /var/tmp/SystemX.jar run.X) & (wmctrl -r "WINDOW_TITLE" -t DESKTOP_NUMBER)
* 但是,如果我的应用程序没有窗口标题,边框较少怎么办?我怎么告诉 wmctrl ?