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

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

Есть ли способ мгновенно переключиться?(предпочтительно из командной строки)между одной средой рабочего стола и другой; скажем, изЕдинствокклассический 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 и т. д. Я предполагаю, что команды будут примерно такими:

  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.

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

решение3

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

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

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

sudo useradd test_test

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

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

Связанный контент