PHP SSH执行gnome计算器(ubuntu)
嗨,我正在使用php和ssh,希望执行一个像gnome计算器这样的图形程序。我该怎么做?这是我的代码:PHP SSH执行gnome计算器(ubuntu),php,ssh,graphic,Php,Ssh,Graphic,嗨,我正在使用php和ssh,希望执行一个像gnome计算器这样的图形程序。我该怎么做?这是我的代码: <?php if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist"); // log in at server1.example.com on port 22 if(!($con = ssh2_connect("localhost", 22))){ echo "f
<?php
if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist");
// log in at server1.example.com on port 22
if(!($con = ssh2_connect("localhost", 22))){
echo "fail: unable to establish connection\n";
} else {
// try to authenticate with username root, password secretpassword
if(!ssh2_auth_password($con, "terminator", "root")) {
echo "fail: unable to authenticate\n";
} else {
// allright, we're in!
echo "okay: logged in...\n";
$get = $_GET['cmd'];
// execute a command
if (!($stream = ssh2_exec($con, $get ))) {
echo "fail: unable to execute command\n";
}
else {
// collect returning data from command
stream_set_blocking($stream, true);
$data = "";
while($line = fgets($stream)) {
echo nl2br($line);
}
fclose($stream);
}
}
}
?>
`
您希望它会从web浏览器内部弹出X-window应用程序吗?从HTTP和X11应用程序的概念来看,这是不可能的。这是不可能的。PHP在服务器上执行,然后将任何数据传回客户机。如果您尝试执行任何应用程序,它将以您指定的用户(或web服务器的用户,如果未设置)的身份在服务器上运行,结果将在服务器上解释(如果已捕获),然后必须在网页上呈现给客户机
要在客户机上运行外部程序,您需要使用在客户机上运行语言的其他系统。是否存在这样一个系统有待进一步讨论(换句话说,我不知道,所以我不打算为自己挖一个洞)
你需要考虑的一个明显问题是:如果客户端的机器没有安装和提供应用程序,你会怎么做?我不会说这是不可能的,但它不像你在编码那么简单。看看你是不是想让计算器在另一台TTY上运行?如果是的话,请看我如何将此用于gnome calc的setsid?如果您有新问题,请单击按钮询问。如果这个问题有助于提供上下文,请包含一个链接。@Abdulla我认为这不是另一个问题。这是一个答案,带有这样的信息:OP最初想要做的是不可能的。