У меня есть веб-сервер, использующий переадресацию X11, в которую я ssh -Y для активации приложения Rails. Приложение содержит системный вызов файла JAR, который будет отображаться на моем компьютере:

def executeJar
    value = %x( {PATH TO JAVA} -jar {PATH TO JAR} )
end

и я называю эту ссылку , используя простой link_to тег в html.erb.

Моя проблема в том, что графический интерфейс отображается только на моем экране, а не на других, как я хотел бы. (То есть, если кто-то на другом компьютере щелкнет ссылку, на моем экране появится графический интерфейс, а не их.)

Могу ли я что-нибудь сделать, чтобы изменить место появления графического интерфейса?

1 ответ1

2

Это очень необычно, поскольку веб-приложения обычно не взаимодействуют с X11.

Если вы посмотрите на входящий IP-адрес, вы можете установить для переменной среды $DISPLAY значение <client IP address>:0 а затем запустить программу Java, как и раньше.

Но это предполагает несколько вещей:

  1. Веб-клиент не защищен брандмауэром, который блокировал бы TCP на порту 6000 (или 6000 плюс номер дисплея).
  2. Это отображение 0 является правильным. (Обычно это правда, но не всегда.)
  3. Веб-клиент работает под управлением X11 и настроен на прием соединений с вашего сервера. Это не будет правдой вообще.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .