Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP SSH执行gnome计算器(ubuntu)_Php_Ssh_Graphic - Fatal编程技术网

PHP SSH执行gnome计算器(ubuntu)

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和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 "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最初想要做的是不可能的。