Миттєво перемикайтеся між середовищами настільних ПК у межах запущеного сеансу робочого столу


16

Чи існує спосіб миттєвого перемикання (бажано з командного рядка) між одним середовищем робочого столу та іншим; скажімо, від Unity до класичного GNOME без необхідності закривати жодне із запущених програм на одному робочому столі?

(Зверніть увагу, що мова не йде про встановлення середовищ.)


2
Давайте подивимося, хто підходить до авторитетної відповіді, але я вважаю, що, наскільки Ubuntu та офіційні аромати йдуть, вам потрібно вийти з системи та увійти назад. Було / є щось, що називається Hybryde Fusion 13.04, що, здається, пропонує щось пов'язане але це було б поза темою тут.

так, здається, пропонується деяке середовище HY-D-V1 для робочого столу .. зовнішній вигляд здається досить близьким до GNOME3, але я сподіваюся, що він пропонує кращий досвід ..
точно

І тоді я думаю, що Зорін також пропонує щось подібне. Це теж було б OT: D Я вирішив чистий сеанс Openbox без жодного робочого столу для мене досить хороший;)

Відповіді:


11

Я отримав гарний трюк, коли шукав 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


це не зовсім те, що я шукаю, але Xephyrце хороший інструмент, щоб знати про .. більше, ніж +1 .. тільки, dm-tool add-nested-seatздається, працює для мене, не можу почати із заданої роздільної здатності або повноекранного режиму з Xephyr.. і закрити не закриває раба X; Я повинен натиснути кнопку закриття (це добре?) ..
точно

dm-tool add-nested-seatпрацює з деякими типовими параметрами, тому я запускаю Xephyrяк повний екран на новому дисплеї, а потім запускаю dm-toolна цей дисплей. "Вимкнення не закриває підлеглий X", оскільки це не візуалізація системи, але не впевнений, чи є кращий шлях. Цей сеанс можна навіть закрити, як і будь-яке вікно з Alt + F4. Ви можете перемикатися між будь-яким вікном Alt + Tab.
user.dz

2
Тим часом dm-інструмент був оновлений, тепер він приймає параметри --fullscreenабо --screen 800x600тому, ймовірно, не завжди потрібно запускати Xephyr безпосередньо для досягнення цього. Введіть, dm-tool --helpщоб побачити це документально. (Сторінка людина, ймовірно , буде оновлюватися пізніше з новими параметрами.)
міт

7

Це гіпотетична відповідь, але, можливо, хтось, хто має більше знань з цього питання, може спиратися на мої висловлювання. Якщо вони запускаються під диференційованим xserver виведенням, ви можете перемикатися між ними, просто натискаючи Ctrl+ Alt+ F1, Ctrl+ Alt+ F2, ... тощо. Де F1X1, F2X2, .. тощо. Я здогадуюсь, команди будуть уздовж рядків:

  1. У термінальному типі: sudo xhost +

    Зверніть увагу, це представляє загрозу безпеці, оскільки ви просто дозволили отримати доступ до будь-якого з своїх x виходів.

  2. Ctrl+ Alt+F1

    Це приведе вас до виходу X 1, робочий стіл за замовчуванням знаходиться на f7

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

    1 тому, що ви знаходитесь на х вихід 1, за замовчуванням - 0, а для додаткових виходів ви використовуєте більш високі цифри, наприклад: 2,3,4 і т.д.

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

Це для мене ще не працює, я вважаю, що це потрібно, тому що ви повинні запускати його як інший користувач, тому що коли я його спробую, він каже, що робочий стіл вже працює на іншому localhost? Це настільки, наскільки мені вдалося з цим домогтися.


1
Я спробував це, у мене є лише Гном / Єдність. startxне працювало. Тому я запускаю його у фоновому режимі startx &, він працює і створив новий сеанс gnome (мій типовий) з тим самим користувачем на tty8 (Ctrl + Alt + F8). Я спробував ще раз, sudo xhost -оскільки я хоч це той самий користувач, чому б і ні, він також працює. Вихід повертає мене до tty1.
user.dz

2

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

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

Просто створіть нового користувача

sudo useradd test_test

Тепер вам потрібно лише заблокувати обліковий запис Ctrl+ Alt+ L, а потім перейти на нового доданого користувача та увійти. У меню входу ви можете вибрати між встановленим середовищем робочого столу.

Він автоматично запустить новий xsession у нових tty. Для мене це tty8. Тепер, використовуючи Ctrl+ Alt+ F7, я можу повернутися до свого користувача xsession. Використання Ctrl+ Alt+ F8назад до нового користувача xsession.


1
це просто перемикання між обліковими записами користувачів . Я шукаю спосіб змінити інше середовище на тому самому сеансі, де мої програми повинні зберегти їх стан між комутатором ...
точно

1
Це саме те, що я шукав для підвищення продуктивності, зосереджуючись на одному відділенні за раз.
Банаго
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.