Запустить gnome-терминал с удаленного сервера

Итак, у меня есть VPS, работающий с gnome-терминал, и я использую следующий скрипт php для выполнения команд на удаленном сервере.

<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('IP address');
if (!$ssh->login('root', 'rthtrhtrhrthrthrth')) {
exit('Login Failed');
}

echo $ssh->exec('gnome-terminal -e java -jar run.jar --window-with-profile=b1dcc9dd-5262-4d8d-a863-c897e6d979b9');
?>

Который, когда я запускаю скрипт, я получаю следующую ошибку

** (gnome-терминал: 1952): ПРЕДУПРЕЖДЕНИЕ **: Не удалось открыть дисплей X Не удалось проанализировать аргументы: Не удалось открыть дисплей:

Я пытаюсь заставить его выполнить команду с удаленного сервера, которая будет выполняться в gnome-терминал и открыть файл JAR. В значительной степени, когда команда shell выполняется на моем удаленном сервере, подключается к ssh и запускает команду gnome-terminal, чтобы открыть настольное приложение на этом VPS.

Это возможно или я что-то не так делаю?

ОБНОВИТЬ

В Putty я заработал, выполнив следующие команды

export DISPLAY=:1
gnome-terminal -e "java -jar file.jar"

Но все еще пытаюсь выполнить его с моим веб-сервером, используя

<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('IP address');
if (!$ssh->login('root', 'rthtrhtrhrthrthrth')) {
exit('Login Failed');
}
echo $ssh->exec('export DISPLAY=:1');
echo $ssh->exec('gnome-terminal -e "java -jar run.jar"');
?>

Я все еще получаю сообщение об ошибке, когда он не может открыть X дисплей. Я только пытаюсь передать это на VPS, не отображать ничего на веб-сервере

1

Решение

У VPS есть работающий X?
Я бы предложил немного другой подход:
Вместо того, чтобы запускать gnome-терминал, вы можете выполнять вещи напрямую, используя ssh.
Имейте в виду, что ваш php будет зависать до тех пор, пока не завершится Java. Добавить «&msgstr «в конце вашей команды, если вы хотите отсоединить ее от ssh.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]