如何为虚拟屏幕运行java应用程序?
在Linux中,我们有像desktop 1、2、3、4这样的虚拟屏幕。大多数情况下,我们使用桌面1(屏幕1,带一个显示器) 现在,我的问题是如何告诉我的java应用程序在desktop 2上启动(屏幕2,带有一个监视器) 默认情况下,当我运行java-cp/var/tmp/SystemX.jar run.X时,它将在桌面1的屏幕1中启动。这不是我的情况 已尝试:以下操作但没有帮助导致,它针对双监视器场景运行。不是我所期望的如何为虚拟屏幕运行java应用程序?,java,linux,swing,graphics,xorg,Java,Linux,Swing,Graphics,Xorg,在Linux中,我们有像desktop 1、2、3、4这样的虚拟屏幕。大多数情况下,我们使用桌面1(屏幕1,带一个显示器) 现在,我的问题是如何告诉我的java应用程序在desktop 2上启动(屏幕2,带有一个监视器) 默认情况下,当我运行java-cp/var/tmp/SystemX.jar run.X时,它将在桌面1的屏幕1中启动。这不是我的情况 已尝试:以下操作但没有帮助导致,它针对双监视器场景运行。不是我所期望的 screen = Toolkit.getDefaultToolkit(
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;
}
*但如果我的应用程序没有边框,而没有窗口标题,该怎么办?如何告诉wmctrl?无边框应用程序仍应具有窗口标题。(即xfce4面板显示。)您可以使用以下方法检查它们是什么: wmctrl-l
从命令行。如果您很难确定哪个窗口是您的,请在打开它之前尝试该命令,然后在它打开后再尝试。这样,您只需查找新窗口。无边界应用程序仍应具有窗口标题。(即xfce4面板显示。)您可以使用以下方法检查它们是什么: wmctrl-l
从命令行。如果您很难确定哪个窗口是您的,请在打开它之前尝试该命令,然后在它打开后再尝试。这样,您只需查找新窗口。您是否能够在特定屏幕上启动正常应用程序,即终端窗口?我现在使用的是windows(在office中),所以我不能亲自尝试,但我认为X11程序有一个标准选项可以用于此,我认为这些选项也可以传递到Java命令行。您是否可以在特定屏幕上启动普通应用程序,即终端窗口?我现在使用的是windows(在office中),所以我不能亲自尝试,但我认为X11程序有一个标准选项可用于此,我认为这些选项也可以传递到Java命令行。
#!/bin/sh
(export DISPLAY=:0.0 && java -cp /var/tmp/SystemX.jar run.X) & (wmctrl -r "WINDOW_TITLE" -t DESKTOP_NUMBER)