1

Я пытаюсь запустить программу X на своем домашнем компьютере с рабочего компьютера. Базовая настройка такова:

Рабочий компьютер Arch Linux -> OpenBSD SSH роутер (дома) -> Домашний компьютер Arch Linux (с SSH)

Я никогда не пытался сделать это, и я не совсем уверен, как это сделать. Как бы мне заставить это работать?

Когда я просто пытаюсь сделать

$(work computer) ssh -Y home-ip
..
$(home router) ssh -Y private-ip

Я получаю по последнему туннелю "Не удалось отправить запрос X11 на канале 0"

Как мне сделать это правильно?

РЕДАКТИРОВАТЬ: я забыл включить перенаправление X на sshd моего домашнего компьютера. Я исправил это сейчас, но, кажется, ничего не происходит, когда я выполняю простую команду, такую как xterm . Он просто сидит там, по-видимому, пытаясь отобразить окно xterm на моем маршрутизаторе, а не на моем рабочем компьютере

2 ответа2

4

Как насчет переадресации порта на вашем рабочем компьютере на порт 22 вашего домашнего компьютера и затем ssh -Y на этот локальный порт?

Например,

ssh -L 2222:private-ip:22 router-ip
ssh -Y localhost:2222
2

То, что вы сделали, должно работать, но на маршрутизаторе должна быть установлена программа xauth чтобы он мог создать ключ безопасности для виртуального дисплея X11, который создает SSH. Вам нужен xauth на любом компьютере, к которому вы используете ssh -X или ssh -Y , даже если вы на самом деле не запускаете там никаких приложений X, а просто используете его как шаг к чему-то другому.

После подключения к домашнему компьютеру проверьте переменную $DISPLAY . Это должно быть что-то вроде localhost:10 . Если нет, вернитесь к вашей оболочке на маршрутизаторе и проверьте там $DISPLAY .

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