[英]Open gnome-terminal from php script
我想嘗試從 php 腳本打開 gnome-terminal:
shell_exec('bash /data/manager/application/.shell/system.sh');
此腳本使用一個函數來檢查終端:
SCRIPTCURRENT=`readlink -m $0`
SCRIPTCURRENTPATH=$(dirname "$SCRIPTCURRENT")
runintoterminal () {
if ! [ -t 1 ]; then
gnome-terminal -e "bash $1"
exit 0
fi
}
runintoterminal $SCRIPTCURRENT
我試過了:
shell_exec('gnome-terminal');
但它不起作用......(我知道這是可能的......)但是如何?
我使用 nginx 和 php-fpm。 用我自己的插座。 nginx 和套接字使用我的用戶而不是 www-data。 (我在 ubuntu 14.04LTS 上)
我已經嘗試了 0777 權利...
我的 bash 腳本可以從 netbeans IDE ans 終端運行...但不能從 php...
問題很可能是 gnome-terminal 不知道它應該在哪里繪制自己。 通常,它與啟動它的程序(IDE、終端)顯示在同一顯示器上,但 Web 服務器沒有顯示器,因此它不知道去哪里。 您可以嘗試 DISPLAY=:0 gnome-terminal -e "bash $1" 在當前第一個本地圖形登錄會話中顯示它,如果它有權限的話。 那個家伙
shell_exec('DISPLAY=:0 bash /data/manager/application/.shell/system.sh');
或在功能上:
SCRIPTCURRENT=`readlink -m $0`
SCRIPTCURRENTPATH=$(dirname "$SCRIPTCURRENT")
runintoterminal () {
if ! [ -t 1 ]; then
DISPLAY=:0 gnome-terminal -e "bash $1"
exit 0
fi
}
runintoterminal $SCRIPTCURRENT
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.