Как делает ssh-X функция?

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

8
17.08.2010, 16:39
4 ответа

Исполняемый файл выполнен на удаленной машине и отображен (оттянутый) на локальной машине. Что ssh -X remote делает запустить сервер X11 прокси на удаленной машине. Если Вы делаете echo $DISPLAY на удаленной машине необходимо видеть что-то как localhost:21.0. Это говорит программе, работающей на удаленной машине отправлять команды рисования на сервер X11 с идентификатором 21. Это затем направляет те команды к реальному серверу X11, работающему на локальной машине, которая привлекает Ваш экран. Эта передача происходит по зашифрованному соединению SSH, таким образом, их нельзя (легко) слушать.

В отличие от Windows, Mac OS, и т.д., X11 был разработан с начала смочь запустить программы через сеть, не нуждаясь в вещах как удаленный рабочий стол. Некоторое время тонкие клиенты X11 были популярны. Это - в основном разделенный вниз компьютер, который только выполняет сервер X11. Все программы работают на некотором сервере приложений где-нибудь.

16
27.01.2020, 20:09
  • 1
    "тонкие клиенты X11" обычно называли "X терминалами" на самом деле. –   18.08.2010, 06:16
  • 2
    X11 разработан, чтобы смочь запустить программы через сеть, потому что X11 является сетевым протоколом.:) И много полноценных рабочих станций имели опцию X Terminal, где они загрузили простое ядро с корнем по NFS (или на электронном диске) и просто выполнили X-сервер. XKernel Sun был одним из них. Вы могли работать на нем мясистый (но бездисковый) рабочие станции как Sun 3/50, 3/60, 3/75 или позже классик SPARCstation, SLC, ELC, и т.д. –  Alexios 01.02.2012, 11:43
  • 3
    @Alexios я помню старый ряд Sun 3. У нас была комната, полная Sun X терминалов (бездисковое) убегание единственного сервера для нашей компьютерной лаборатории. Довольно забавный, когда питание мерцало и весь приблизительно 20, X Условий пытались загрузиться одновременно. Основная проблема состояла в том, что видение Sun превысило то, что технология могла поддерживать в то время. –  KeithB 01.02.2012, 17:21
  • 4
    Это определенно сделало. Но если бы Вы думаете об этом, Вы испытали бы те же затруднения сегодня, если бы Вы пытались выполнить лабораторию 20 энергоемких, многоядерных зверей от единственного сервера. Мы больше не выполняем Motorola 68020 s на уровне 16 МГц, но самая низкая современная спецификация графического устройства не мечталась о тогда. Я пускал слюни в Sun 1152x900 неускоренные дисплеи с 256 цветами. Но это было 80-ми. :) –  Alexios 01.02.2012, 19:59

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

1
27.01.2020, 20:09

Установка $DISPLAY только половина соглашения все же. Чтобы смочь аутентифицировать клиенты на стороне сервера, ssh также использует xauth создать новый cookie аутентификации. Посмотрите xauth list и ~/.Xauthority.

0
27.01.2020, 20:09

Ключ может быть должен понять, что X-сервер является единственной вещью, которая предоставляет графику пользователю, и всеми различными программами, которые хотят графику, должны быть X-клиенты и подключение к серверу. Интерфейс между клиентскими программами и X-сервером был разработан от запуска для поддержки соединений с удаленными программами, не только теми, которые на локальной машине.

В достаточно сумасшедшей сети программа могла быть запущена где угодно и отобразить свою графику где-либо еще...

0
27.01.2020, 20:09

Теги

Похожие вопросы