Як запустити два X сеанси одночасно?


24

Я хотів би запустити два екземпляри сервера X одночасно.

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

Іншими словами, я хочу щось на зразок telnet / ssh, що дозволяє мені увійти до своєї машини Ubuntu з іншого місця. Однак я хотів би хоча б базовий графічний дисплей під час входу.


1
Я припускаю, що ви хочете одночасно запустити двох користувачів на комп’ютері?
richzilla

@rich: Так, але обидва повинні мати графічний дисплей.
Натан Осман

Відповіді:


7

Якщо ви запускаєте сеанс X під Ubuntu на машині A, він з'явиться на екрані: 0 ( Ctrl+ Alt+ F7) на A.

Ви хочете запустити віддалений X сеанс з машини B (на своєму Lan), не перериваючи поточний сеанс на A.

Перейдіть до першого екрана ( Ctrl+ Alt+ F1) консолі, увійдіть у консоль, а потім попросіть Machine B надіслати X-сеанс на екран: на A - як це

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

Xзапитує X-сеанс, :1каже поставити його на екран 1, -queryзапитує сеанс з цього випадку IP-адреси B

Ви знайдете новий сеанс на екрані: 1 ( Ctrl+ Alt+ F8).

Це не захищено (без ssh), але це швидко і легко для домашньої мережі, коли звук не потрібен під час з'єднання.

Ви можете використовувати nxclient / сервер 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, на вашій машині Ubuntu потрібно включити XDMCP. Це було легко зробити в 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 таким чином? (Я розуміюсь за правильну термінологію тут, але не вдається :))
Натан Осман,

Просто спробував це, і це чудово працює.
Натан Осман

@George: Пам'ятайте, що X трохи назад. Користувач запускає локальний сервер, до якого підключаються окремі програми (клієнти).

1
@George: Поки у вашому вікні Fedora працює X-сервер, ви зможете використовувати ssh -X. В основному ssh використовуватиме X-сервер у вашій скриньці Fedora, щоб показати вам програми Ubuntu.
W. Goeman

3

Не зовсім відповідь на ваше запитання, але ...

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

ssh -X user@host firefox

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


3

Я фактично виявив ще один спосіб досягти цього: за допомогою xrdp Встановіть xrdp .

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


1

FreeNX також буде служити вашим цілям.

З Ubuntu Wiki:

FreeNX - це система, яка дозволяє отримати доступ до робочого столу з іншої машини через Інтернет. Ви можете використовувати це для графічного входу на робочий стіл з віддаленого місця. Одним із прикладів його використання може бути встановлення сервера FreeNX на домашньому комп’ютері та графічний вхід на домашній комп'ютер із робочого комп’ютера, за допомогою клієнтського комп'ютера FreeNX, за допомогою клієнта FreeNX.

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


1

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

Ці пакети дозволяють запускати додаткові X-дисплеї у фоновому режимі. Щоб побачити їх, ви використовуєте переглядач / клієнт VNC. Для Ubuntu та Windows є декілька клієнтів , не кажучи вже про Android, PalmOS тощо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.