Как запустить два сеанса X одновременно?

24

Я хотел бы запустить два экземпляра X-сервера одновременно.

Одним из них будет интерактивный сеанс с использованием мыши и клавиатуры, подключенных к компьютеру. Другим был бы «виртуальный» сеанс, к которому я мог бы затем подключиться и использовать по сети.

Другими словами, я хочу что-то вроде telnet / ssh, которое позволит мне войти в систему на моей машине с Ubuntu откуда-то еще. Тем не менее, я хотел бы по крайней мере базовый графический дисплей при входе в систему.

Натан Осман
источник
1
Я предполагаю, что вы хотите запустить двух пользователей на вашем компьютере одновременно?
Ричзилла
@rich: Да, но оба должны иметь графический дисплей.
Натан Осман

Ответы:

7

Если вы запускаете сеанс X под Ubuntu на компьютере A, он появится на экране: 0 ( Ctrl+ Alt+ F7) на A.

Вы хотите запустить удаленный сеанс X с компьютера B (на вашей локальной сети), не прерывая текущий сеанс на A.

Перейдите к первому входу в консоль ( Ctrl+ Alt+ F1) на консоли и затем попросите компьютер B отправить сеанс X на экран: на A - вот так

u@A:~$  X :1 -query IP-of-B

Xзапрашивает сеанс X, :1говорит, чтобы поместить его на экран 1, -queryзапрашивает сеанс с в этом случае IP-адрес B

Вы найдете новую сессию на экране: 1 ( Ctrl+ Alt+ F8).

Это небезопасно (без ssh), но быстро и легко для домашней сети, когда по соединению не требуется звук.

Вы можете использовать nxclient / server от nomachine, что нормально, но работает в вашем текущем сеансе на экране A: 0 в его собственном окне. Он обеспечивает поддержку локального звука и локальной печати - в прошлый раз, когда я смотрел, Firefox не запустился бы, если бы звук был включен.

Занна
источник
Это определенно помогает.
Натан Осман
5

SSH-X

Первым и самым простым вариантом, безусловно, будет «ssh -X», но он будет работать только тогда, когда в системе, к которой вы подключаетесь, уже запущен X-сервер. Итак, предположим, что вы работаете на машине с Ubuntu и хотите подключиться к другой машине с Ubuntu, вы можете ввести в консоли «ssh -X ipaddress». Это оставит вас с консолью, но когда вы запустите любое приложение, которое использует X из этой консоли, оно будет показано в вашем текущем сеансе X.

Xming

Если вы работаете в Windows и хотите запустить сеанс X на удаленной машине с Ubuntu, вы можете использовать XMing. XMing - это в основном X-сервер для работы на Windows. Это доступно на sourceforge .

Чтобы использовать XMing, XDMCP должен быть включен на вашем компьютере с Ubuntu. Это было легко сделать в Ubuntu до 10.04. В настоящее время вы должны обновить /etc/gdm/custom.conf следующим образом. Сначала сделайте резервную копию! Вы не хотите испортить GDM с этим;)

[daemon]
User=gdm
Group=gdm


[security]
DisallowTCP=true

[xdmcp]
Enable=true
DisplaysPerHost=2
HonorIndirect=false
MaxPending=4
MaxSessions=16
MaxWait=30
MaxWaitIndirect=30
PingIntervalSeconds=60
Port=177

[greeter]

[chooser]
Multicast=false

[debug]
Enable=false 
В. Гоман
источник
+1 Спасибо за подробное объяснение, как это сделать - смогут ли другие дистрибутивы Linux с X выполнить трюк с 'ssh -X'? Например, если у меня есть коробка Fedora, могу ли я подключиться к своему компьютеру с Ubuntu и запускать приложения поверх X таким образом? (Я ухватился за правильную терминологию здесь, но не смог :))
Натан Осман
Просто попробовал это, и это прекрасно работает.
Натан Осман
@ Джордж: Помните, что Х немного отсталый. Пользователь запускает сервер локально, к которому подключаются отдельные приложения (клиенты).
1
@ Джордж: Пока ваша коробка Fedora работает на X-сервере, вы сможете использовать ssh -X. По сути, ssh будет использовать X-сервер на вашем компьютере Fedora, чтобы показывать вам приложения Ubuntu.
В. Гоман
3

Не совсем ответ на ваш вопрос, но ...

Вы можете запускать X-программы через ssh, я часто использую это, чтобы дать мне доступ к защищенным / запрещенным службам в моей локальной сети, когда меня нет дома. По сути, он подключает канал от вашей машины к ssh-серверу и перенаправляет отображение с сервера на клиент, но приложение работает на сервере. По умолчанию клиент SSH не настроен для этого, но его можно включить с помощью этой -Xопции. Пример:

ssh -X user@host firefox

На самом деле, так работает LTSP в наши дни. Возможно, вам удастся найти больше информации о том, как работает LTSP при удаленном использовании всего сеанса вместо одного приложения.

LassePoulsen
источник
3

Я действительно нашел другой способ достичь этого: с помощью xrdpУстановить xrdp .

xrdpявляется удаленным рабочим столом сервер для Linux , который создает отдельный сеанс входа в системе (с X) , которые могут быть доступны с инструментом удаленного рабочего стола Windows' или с другими совместимыми приложениями RDP.

Натан Осман
источник
1

FreeNX также будет служить вашей цели.

Из Ubuntu Wiki:

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

https://help.ubuntu.com/community/FreeNX

LFC_fan
источник
1

Похоже, вы ищете пакет VNC-сервера. Существует два вида пакетов VNC-серверов: те, которые используют ваш существующий дисплей X, и пакеты, которые управляют отдельным рабочим столом X для удаленного использования. Последний вид, который вы, кажется, хотите. Примеры включают vnc4server и tightvncserver / tigervncserver.

Эти пакеты позволяют запускать дополнительные X-дисплеи в фоновом режиме. Чтобы их увидеть, вы используете VNC viewer / client. Для Ubuntu и Windows доступно несколько клиентов , не говоря уже об Android, PalmOS и т. Д.

аап
источник