2015-05-19 41 views
1

我創建了一個在監視mac機器的後臺運行無頭程序的java進程。部分監控包括截取用戶的行爲並偶爾提出聊天窗口。 我假設這些行爲都不能從無頭模式執行,請糾正我,如果我錯了。是否有可能從我的無頭模式進程中啓動另一個進程,可以打開聊天窗口或截取屏幕截圖?我如何從無頭過程開始這樣的過程? 在此先感謝。從無頭模式啓動java桌面應用程序

編輯:它在Mac上運行,所以肯定有一個顯示器,一個鼠標和一個鍵盤,我們知道有人坐在它上面並使用它。

編輯:它通過運行在機器上的守護進程開始。

+1

無頭模式通常意味着他們是沒有鍵盤,鼠標或視頻支持 – MadProgrammer

+0

但它在Mac上運行,所以肯定是有顯示器,鼠標,和一個鍵盤,我們知道佛事實上,有人坐在它上面並使用它。 –

+0

您是否嘗試拍攝快照?或者打開聊天窗口? – MadProgrammer

回答

0

發現在此link試圖運行的命令爲被簽署到機器的用戶將以下代碼:

loggedInUser=`/bin/ls -l /dev/console | /usr/bin/awk '{ print $3 }'` 
declare -x LoginWindowPID="$(/bin/ps -axww | /usr/bin/grep loginwindo[w] | /usr/bin/awk '/console/{print $1;exit}')" 
/bin/launchctl bsexec "${LoginWindowPID:?}" /usr/bin/sudo -u "$loggedInUser" COMMAND GOES HERE 

使用,我們可以開始的java程序(或任何無頭處理)與下列爲了命令它能夠訪問用戶界面:

launchctl bsexec $(/bin/ps -axww | /usr/bin/grep loginwindo[w] | /usr/bin/awk '/console/{print $1;exit}') COMMAND GOES HERE 
相關問題