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