从无头模式启动 java 桌面应用
Starting java desktop app from headless mode
我创建了一个 java 进程,它在后台无头运行,监控 mac mac 网络。部分监控包括截取用户操作的屏幕截图以及偶尔发起聊天 window。
我假设 none 这些操作可以在无头模式下执行,如果我错了请纠正我。是否可以从能够打开聊天 window 或截取屏幕截图的无头模式进程中启动另一个进程?我如何从无头过程开始这样的过程?
提前致谢。
编辑:运行 在 mac 上,所以肯定有显示器、鼠标和键盘,我们知道有人坐在上面使用它。
编辑:它通过 machine 上的守护进程 运行 启动。
在此 link 中发现以下代码试图 运行 作为登录计算机的用户的命令:
loggedInUser=`/bin/ls -l /dev/console | /usr/bin/awk '{ print }'`
declare -x LoginWindowPID="$(/bin/ps -axww | /usr/bin/grep loginwindo[w] | /usr/bin/awk '/console/{print ;exit}')"
/bin/launchctl bsexec "${LoginWindowPID:?}" /usr/bin/sudo -u "$loggedInUser" COMMAND GOES HERE
使用它,我们可以使用以下命令启动 java 进程(或任何无头进程),以便它可以访问 UI:
launchctl bsexec $(/bin/ps -axww | /usr/bin/grep loginwindo[w] | /usr/bin/awk '/console/{print ;exit}') COMMAND GOES HERE
我创建了一个 java 进程,它在后台无头运行,监控 mac mac 网络。部分监控包括截取用户操作的屏幕截图以及偶尔发起聊天 window。 我假设 none 这些操作可以在无头模式下执行,如果我错了请纠正我。是否可以从能够打开聊天 window 或截取屏幕截图的无头模式进程中启动另一个进程?我如何从无头过程开始这样的过程? 提前致谢。
编辑:运行 在 mac 上,所以肯定有显示器、鼠标和键盘,我们知道有人坐在上面使用它。
编辑:它通过 machine 上的守护进程 运行 启动。
在此 link 中发现以下代码试图 运行 作为登录计算机的用户的命令:
loggedInUser=`/bin/ls -l /dev/console | /usr/bin/awk '{ print }'`
declare -x LoginWindowPID="$(/bin/ps -axww | /usr/bin/grep loginwindo[w] | /usr/bin/awk '/console/{print ;exit}')"
/bin/launchctl bsexec "${LoginWindowPID:?}" /usr/bin/sudo -u "$loggedInUser" COMMAND GOES HERE
使用它,我们可以使用以下命令启动 java 进程(或任何无头进程),以便它可以访问 UI:
launchctl bsexec $(/bin/ps -axww | /usr/bin/grep loginwindo[w] | /usr/bin/awk '/console/{print ;exit}') COMMAND GOES HERE