Привет, я использую php и ssh и хочу выполнить графическую программу типа gnome-calculator. Как я могу это сделать? Это мой код:
<?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);
}
}
}
?>
`
Я могу выполнять такие команды, как ls -a или mkdir и т. Д. Но я не могу получить что-то вроде приложения для выполнения графического интерфейса (например, выполнение gnome-calculator). Как мне это сделать? Я использую свой код следующим образом: HTTP: //localhost/index.php CMD = Ls% 20-а
Просто дурачиться!
И вы ожидаете, что это появится приложение X-Window изнутри веб-браузера? Это невозможно из концепции приложений HTTP и X11.
Это невозможно. PHP выполняется на сервере до любые данные передаются обратно на компьютер клиента. Если вы попытаетесь выполнить какое-либо приложение, оно будет запущено на сервере как пользователь, которого вы укажете (или пользователь веб-сервера, если ни одно из них не задано), результаты интерпретируются на сервере (если они захвачены), которые затем должны быть представлены. клиенту на веб-странице.
Чтобы запустить внешнюю программу на компьютере клиента, вам необходимо использовать другую систему, в которой язык работает на компьютере клиента. Существует ли такая система, остается открытым для дальнейшего обсуждения (другими словами, я не знаю, поэтому я не собираюсь выкапывать яму для себя)
Очевидная проблема, которую вы должны принять во внимание, заключается в следующем: что вы будете делать, если на компьютере клиента не установлено и не доступно приложение?