簡體   English   中英

從 php 腳本打開 gnome-terminal

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM