1

Я пытаюсь запустить приложение с графическим интерфейсом (если только это не GUI ...) через SSH, но я хочу, чтобы оно портировало приложение на собственный сеанс X, а не на сеанс SSH. Таким образом, когда я закрою сеанс SSH, программа останется запущенной. Я вхожу в ящик с тем же пользователем, который уже вошел в ящик, и у меня есть права root. Сеанс x на коробке - UserA, и я вхожу через SSH как userA. ОС Ubuntu 13.04.

Есть ли способ сделать это легко? Любые прошлые попытки всегда пытались показать клиентское окно X Window, и когда я закрыл SSH, программа перестала работать. Я также подумал о том, чтобы войти и отредактировать сценарий запуска сеанса и просто перезагрузить компьютер, чтобы заставить его работать так, как я хочу, но у него есть несколько серверных программ, к которым я не знаю, как получить доступ (они являются командной строкой). на основе), чтобы правильно отключить их удаленно. Если я убью машину в противном случае, она, скорее всего, повредит программное обеспечение сервера.

1 ответ1

2

Вы можете отказаться от сеанса SSH, если можете напрямую подключиться с сервера, на котором запущено приложение X-клиента, к локальному компьютеру, на котором работает X-сервер.

Подключитесь через SSH, а затем:

export DISPLAY=your.computer.ip:0.0

Это скажет X-клиенту, что он должен подключиться к первому X-серверу и найти первый X-дисплей (0.0) на your.computer.ip . Просто запустите приложение X-клиента как обычно, и оно должно подключиться к вашему X-серверу напрямую, и вы можете затем закрыть сеанс SSH.

Вам необходимо убедиться, что прямое соединение может быть установлено из любого места, где работает клиент, в вашу локальную систему, включая все правила переадресации портов и маршрутизации. Возможно, вам также придется настроить ваш локальный X-сервер для приема соединений из сети (я не могу вспомнить, если это по умолчанию только localhost). Вам также необходимо полностью отключить всю безопасность на X-сервере (не делайте этого, если вы не находитесь в частной локальной сети, где вы можете доверять всем компьютерам):

xhost +

или узнайте, как правильно настроить и настроить X-аутентификацию между клиентами.

Честно говоря, это именно то, что происходит, когда вы делаете это обычно через SSH - за исключением того, что туннель SSH используется для пересылки соединения, поэтому вам не нужно иметь дело с переадресацией портов, и вам не нужно справьтесь с изменением конфигурации вашего X-сервера для прослушивания входящих соединений в сети (потенциальная угроза безопасности), и SSH автоматически настроит всю безопасность X для вашего пользователя, чтобы у приложения не было проблем с подключением. Даже через SSH приложение работает в собственном сеансе X, а SSH используется только в качестве прокси.

Вы не перечислили причины отказа от SSH, но если только это жесткое требование от босса, которое вы не можете изменить, я бы настоятельно рекомендовал использовать его для переадресации X-сессии. Вы не получите ничего, в частности, от прямого соединения, но SSH может упростить многие болевые точки, потому что он был разработан именно для этого.

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