Есть ли способ мгновенно переключиться?(предпочтительно из командной строки)между одной средой рабочего стола и другой; скажем, изЕдинствокклассический GNOMEбез необходимости закрывать какие-либо запущенные приложения в том же сеансе рабочего стола?
(Обратите внимание, что речь не идет об установке сред.)
решение1
Я получил интересный трюк, пока искал привязку клавиш 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
Ссылка:Использование_Xephyr
решение2
Это гипотетический ответ, но, возможно, кто-то с большими знаниями по этому вопросу может развить мои утверждения. Если они выполняются под другимxсервервыход, то вы можете переключаться между ними, просто нажимая Ctrl+ Alt+ F1, Ctrl+ Alt+ F2,... и т. д. Где F1X1, F2где X2 и т. д. Я предполагаю, что команды будут примерно такими:
В типе терминала:
sudo xhost +
Обратите внимание, что это представляет угрозу безопасности, поскольку вы только что разрешили доступ любому из ваших x-выходов.
Ctrl+ Alt+F1
Это перенесет вас на X-выход 1, рабочий стол по умолчанию находится на f7.
Тип:
export DISPLAY=localhost:1
1, потому что вы находитесь на выходе x 1, значение по умолчанию равно 0, а для дополнительных выходов вы будете использовать более высокие числа, например: 2,3,4 и т. д.
Введите:
startxfce4
(XFCE),startkde
(KDE) илиstartlxde
(LXDE), чтобы открыть рабочий стол в новом выводе X.
Это пока не работает для меня, я думаю, это потому, что вы, должно быть, запускаете его как другой пользователь, потому что когда я пытаюсь, он говорит, что рабочий стол уже запущен на другом локальном хосте? Это все, что я смог сделать с этим.
решение3
Альтернативная точка зрения
Можно запустить еще один сеанс xsession для другого пользователя.
Просто создайте нового пользователя
sudo useradd test_test
Теперь вам нужно только заблокировать свой аккаунт Ctrl+ Alt+ L, затем переключиться на нового добавленного пользователя и войти. В меню входа вы можете выбрать между установленными окружениями рабочего стола.
Он автоматически запустит новый xsession в новом tty. Для меня это tty8
. Теперь, используя Ctrl+ Alt+ F7, я могу вернуться к своему пользовательскому xsession. Используя Ctrl+ Alt+ F8обратно к новому пользовательскому xsession.