Переключение между настольными средами мгновенно в текущем сеансе рабочего стола

14

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

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

    
задан precise 05.02.2014 в 17:51
источник

3 ответа

8

У меня был хороший трюк, в то время как я искал привязку ключей 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.
  • Run:

    $ 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

    
ответ дан user.dz 11.02.2014 в 13:49
7

Это гипотетический ответ, но, возможно, кто-то, у кого больше знаний по этому вопросу, может основываться на моих заявлениях. Если они выполняются с выходом differen't 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.

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

    
ответ дан mango 07.02.2014 в 03:12
1

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

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

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

sudo useradd test_test

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

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

    
ответ дан c0rp 07.02.2014 в 11:48