Предположим, что есть 3 машины: A, B, C. B и C находятся в одной сети, а A - удаленная. Соединение между B и C очень быстрое, но любое соединение от A до (B или C) медленное.
Я хотел бы выполнить трудоемкую работу на C, включающую графический вывод (а именно, создание файлов png из MATLAB). Если я использую SSH из A -> B -> C, вывод X11 отображается на A. Я хотел бы использовать SSH из A -> B и выполнить те же вычисления на C, но весь графический вывод ограничен B, чтобы медленное соединение A -> B не заставляет работать вечно (это то, что сейчас происходит со мной). Возможно ли это, и если да, то как мне это настроить?
Операционные системы: A - OSX, B - Ubuntu, C - CentOS (часть вычислительного кластера).
Что ж, простите меня, если я слишком упрощаю это, но не самым простым решением было бы использовать ssh от A до B (без перенаправления X11), а затем по ssh (с перенаправлением X11) от B до C. графический интерфейс для запуска задания, вы можете начать с включения опции пересылки X11 для соединения от A к B, затем отключиться (A от B, но не B от C) и контролировать задание через SSH с отключенным X11 соединение после запуска задания.
Похоже, у вас работает перенаправление X11 и включено по умолчанию, поэтому вы сможете отключить его, когда повторно выполните ssh со следующей строкой:
ssh user @ hostB -o "ForwardX11 = no"
РЕДАКТИРОВАТЬ: Конечно, это предполагает, что вы можете начать сеанс пересылки ssh X11 на C из B. Это так? Если нет, не могли бы вы опубликовать строку, которую используете для начала туннелированного сеанса? Честно говоря, это может быть сложно в зависимости от ваших данных.