Мгновенное переключение между средами рабочего стола во время сеанса рабочего стола

Существует ли способ мгновенного переключения (предпочтительно из командной строки) между одним окружением рабочего стола и другим; скажем, от Unity до классического GNOME без необходимости закрывать какие-либо запущенные приложения в одном сеансе рабочего стола?

(Обратите внимание, что речь идет не о установка окружения.)

16
задан 18 August 2016 в 07:43

3 ответа

Я получил хороший трюк, когда искал связывание ключей 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):

    enter image description here

  • Затем войдите в систему с помощью другого рабочего стола (LXDE) ):

    enter image description here

  • Чтобы включить захват мыши и клавиатуры в новом сеансе, введите 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

0
ответ дан 18 August 2016 в 07:43

Это гипотетический ответ, но, возможно, кто-то с большим знанием предмета может опираться на мои утверждения. Если они запускаются с другим выводом xserver , вы можете переключаться между ними, просто нажав Ctrl + Alt + F1 , Ctrl + Alt + F2 , ... и т. д. Где F1 - X1, F2 - X2, и т. Д. Я предполагаю, что команды будут выглядеть следующим образом:

  1. В терминале: sudo xhost +

    Обратите внимание, что это представляет угрозу безопасности, потому что вы просто разрешил доступ к любому из ваших выходов x.

  2. Ctrl + Alt + F1

    Это приведет вас к выводу X 1, рабочий стол по умолчанию - на f7

  3. Тип: export DISPLAY=localhost:1

    1, потому что вы находитесь на x выходе 1, по умолчанию на 0, а для дополнительных выходов вы будете использовать более высокие числа, например : 2,3,4 и т. Д.

  4. Введите: startxfce4 (XFCE), startkde (KDE) или startlxde (LXDE), чтобы открыть рабочий стол в новом выводе X.

Это еще не работает для меня, я думаю, это потому, что вы, должно быть, запускаете его как другой пользователь, потому что, когда я пытаюсь сказать, что рабочий стол уже запущен на другом локальном хосте? Это насколько я смог получить с этим.

0
ответ дан 18 August 2016 в 07:43

Альтернативная точка зрения

Можно запустить другую xsession для другого пользователя.

Просто создайте нового пользователя

sudo useradd test_test

Теперь вам нужно только заблокировать свой аккаунт Ctrl + Alt + L , затем переключитесь на нового добавленного пользователя и войдите. В меню входа вы можете выбрать между установленной средой рабочего стола.

Он автоматически запустит новую xsession в новом tty. Для меня это tty8. Теперь, используя Ctrl + Alt + F7 , я могу вернуться к своему пользователю xsession. Используя Ctrl + Alt + F8 , чтобы вернуться к новому пользовательскому xsession.

0
ответ дан 18 August 2016 в 07:43

Другие вопросы по тегам:

Похожие вопросы: