Ответ 1
Я знаю, что эта ветка устарела... но я хотел убедиться, что я разъяснил что-то, вводящее в заблуждение в ответ paulsm4...
X - назад... Вы не подключаетесь к X-серверу. Вы запускаете сервер на своем локальном компьютере (то, что он вызывает клиент, на самом деле является сервером). Когда вы подключаетесь к удаленному ящику Nix, в котором установлены X libs, и вы добавляете переключатель -X в команду SSH, ssh отправит вам запросы X. Программа, запущенная на другой стороне (Gnome, Chrome, PyCharm и т.д.), Будет вашим X-клиентом, и она будет перенесена на ваш рабочий стол, содержащий X-сервер. Здесь это как последовательность Диаграмма:
User Remote
-----------------------------------------------------------------------
User Inits SSH -X Session -----------------> SSH Server Auth User
|
V
SSH Session is established <---------------- SSH User is Authenticated
|
V
User Initiates App on server --------------> App Starts Running
|
V
App Writes output to X Server
|
V
Xorg receives write commands <-------------- SSH Tunnels that back to User
|
V
Writing occurs on desktop
-----------------------------------------------------------------------
В большинстве случаев X-сервер и X-клиент одинаковы (как это происходит на вашем локальном рабочем столе). Поэтому, как только клиент записывает в X, локальный X-сервер записывает на экран. Процесс отображения фактически выполняется на компьютере пользователя, где он когда-либо был, ваш компьютер становится сервером. Сумасшедший, не так ли?