[英]running bash file with “xte command” in php
對於我的項目,我需要通過php運行位於ubuntu服務器上的bash腳本。
這是我的sh腳本:test1.sh
#!/bin/bash
xte 'keydown Control_L' 'keydown Alt_L' 'key l' 'keyup Alt_L' 'keyup Control_L'
我的php文件是:bashTest1.php
<?php
$message = shell_exec("bash test1.sh 2>&1");
echo $message;
?>
但是,當我在瀏覽器中打開php頁面時,出現此錯誤:
Unable to open display 'default'
“ test1.sh”中的“ xte”命令基本上實際上執行Ctlr + Alt + L操作。 我已經檢查了“ test1.sh”的文件許可權。 沒關系。 我已經在正在運行的終端中運行了bash文件。 我還檢查了同一“ test1.sh”文件中的“ ls”命令,它在我的瀏覽器中顯示了該目錄中的所有文件。 您能幫我在我的PHP腳本中運行此命令嗎?
謝謝大家!
最后我解決了這個問題。 在Ubuntu中,每個用戶都有一個DISPLAY。 首先,我必須在bash文件中指定執行命令所需的DISPLAY。 最后,我需要授予php用戶執行命令的權限。 最后我的bash文件看起來像這樣:
#!/bin/bash
export DISPLAY=":0"
xhost +
xte 'keydown Control_L' 'keydown Alt_L' 'key l' 'keyup Alt_L' 'keyup Control_L'
注意:請記住先檢查用戶的顯示。 因為不同的用戶將獲得不同的顯示。 您可以通過終端中的此命令檢查您的用戶顯示
who
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.