Существует ли способ мгновенного переключения (предпочтительно из командной строки) между одним окружением рабочего стола и другим; скажем, от Unity до классического GNOME без необходимости закрывать какие-либо запущенные приложения в одном сеансе рабочего стола?
(Обратите внимание, что речь идет не о установка окружения.)
Я получил хороший трюк, когда искал связывание ключей WM, читая страницы руководства.
man dm-tool
dm-tool
- это инструмент для связи с диспетчером отображения LightDM.
list-seats
List the active seats and sessions that are running.
add-nested-seat
Start an X server inside a session and connect it to a display manager.
add-local-x-seat DISPLAY_NUMBER
Connect an existing X server to the display manager.
add-seat TYPE [NAME=VALUE...]
Add a dynamic seat.
Выполнение:
$ dm-tool add-nested-seat
/org/freedesktop/DisplayManager/Seat2
Обновление : с более новой версией можно управлять размерами нового окна или позволить ему быть полноэкранный, добавив параметры --fullscreen
или --screen XxY
, см. dm-tool --help
.
Получено новое окно с новым сеансом (под названием Xephyr on
):
Затем войдите в систему с помощью другого рабочего стола (LXDE) ):
Чтобы включить захват мыши и клавиатуры в новом сеансе, введите Ctrl-Shift
.
Проверьте список мест:
$ dm-tool list-seats
Seat2
CanSwitch=false
HasGuestAccount=true
Session2
UserName='sneetsher'
Seat0
CanSwitch=true
HasGuestAccount=true
Session0
UserName='sneetsher'
Для запуска в полноэкранном режиме:
Xephyr :1 -br -fullscreen &
dm-tool add-local-x-seat 1
Ссылка: Using_Xephyr
Это гипотетический ответ, но, возможно, кто-то с большим знанием предмета может опираться на мои утверждения. Если они запускаются с другим выводом xserver , вы можете переключаться между ними, просто нажав Ctrl kbd> + Alt kbd> + F1 kbd>, Ctrl kbd> + Alt kbd> + F2 kbd>, ... и т. д. Где F1 kbd> - X1, F2 kbd> - X2, и т. Д. Я предполагаю, что команды будут выглядеть следующим образом:
В терминале: sudo xhost +
Обратите внимание, что это представляет угрозу безопасности, потому что вы просто разрешил доступ к любому из ваших выходов x.
Ctrl kbd> + Alt kbd> + F1 kbd>
Это приведет вас к выводу X 1, рабочий стол по умолчанию - на f7
Тип: export DISPLAY=localhost:1
1, потому что вы находитесь на x выходе 1, по умолчанию на 0, а для дополнительных выходов вы будете использовать более высокие числа, например : 2,3,4 и т. Д.
Введите: startxfce4
(XFCE), startkde
(KDE) или startlxde
(LXDE), чтобы открыть рабочий стол в новом выводе X.
Это еще не работает для меня, я думаю, это потому, что вы, должно быть, запускаете его как другой пользователь, потому что, когда я пытаюсь сказать, что рабочий стол уже запущен на другом локальном хосте? Это насколько я смог получить с этим.
Альтернативная точка зрения
Можно запустить другую xsession для другого пользователя.
Просто создайте нового пользователя
sudo useradd test_test
Теперь вам нужно только заблокировать свой аккаунт Ctrl kbd> + Alt kbd> + L kbd> , затем переключитесь на нового добавленного пользователя и войдите. В меню входа вы можете выбрать между установленной средой рабочего стола.
Он автоматически запустит новую xsession в новом tty. Для меня это tty8
. Теперь, используя Ctrl kbd> + Alt kbd> + F7 kbd>, я могу вернуться к своему пользователю xsession. Используя Ctrl kbd> + Alt kbd> + F8 kbd>, чтобы вернуться к новому пользовательскому xsession.