0

我正在尝试为 Linux 创建一个 .bat 文件:

  1. 检查应用程序的现有实例,然后
  2. 启动应用程序的初始实例或向前调用现有实例。

我目前有一个可以在一台 Linux 机器上运行的 .bat(如下),但它不能在其他机器上运行。

#!/bin/bash

pid=`ps axwww | grep filename | grep java | sed -e 's/^[ \t]*//' | cut -f1 -d " "`

if [ a$pid == "a" ]
then
    java -Djava.net.preferIPv4Stack=true -Dsun.java2d.opengl=true -jar filename.jar /home/user/Desktop/folder/config/FILENAMEConfig.properties
else
    wid=`xdotool search "FILENAME"`
    xdotool windowactivate $wid
fi

我的问题是,当我将此 .bat 复制到另一台机器时,它给了我错误:

默认搜索窗口名称、类和类名 XGetWindowProperty[_NET_WM_DESKTOP] 失败(代码=1)

我试过在第二台机器上手动输入一个新的 .bat ——仍然失败。

任何帮助是极大的赞赏。

4

1 回答 1

0

尝试:

wid=`xdotool search "FILENAME"`
xdotool windowactivate $wid

在:

xdotool search "FILENAME" windowactivate --sync

无论如何,存在影响某些发行版的错误,请参阅https://code.google.com/archive/p/semicomplete/issues/66

于 2016-04-28T17:56:29.377 回答