Jayrome 12.07.2009 10:50
Tips & tricks — Запускаем несколько X-сессий без виртуализации
Я тут недавно наткнулся на статью, рассказывающую о том, что можно запустить несколько рабочих окружений одновременно (например, GNOME и KDE) и переключаться между ними при помощи горячих клавиш. Оказывается, это проще простого.Чтобы было понятно, я поясню тем, кто только знакомится с Linux. X (X Window System; «иксы») — это графическая подсистема, использующаяся в большинстве современных дистрибутивов Linux. Проще говоря, все, что вы видите на экране в графическом режиме, находится на виртуальном дисплее и управляется иксами. Если вы читаете это сообщение из Linux, вы скорее всего находитесь на дисплее 0. Переключиться в другой виртуальный дисплей можно нажав Ctrl+Alt+F1 — вы окажетесь в первой консоли. Чтобы вернуться обратно, нажмите Ctrl+Alt+F7. Под кнопками F2-F6 также будут консоли (виртуальные терминалы), работающие независимо друг от друга. А что после F7? После F7 такие же независимые сеансы X-сервера, каждый со своими приложениями. Но прежде их нужно запустить.
Для начала установим какой-нибудь простенький оконный менеджер, который пригодится в новом параллельном сеансе. Например, openbox. Установить можно любым привычным способом. Затем нужно создать в домашнем каталоге файл .xinitrc и в нем написать:
1 |
|
Это своеобразный список автозапуска для X. А теперь — самое интересное. Открываем консоль и пишем:
1 |
|
Этой командой мы кагбе приказываем иксам запуститься на отдельном дисплее (в нашем случае на незанятом дисплее 1).
Если все пройдет успешно, мы увидим «чистые» иксы с запущенным оконным менеджером. Теперь можно переключаться между копиями сеансов, нажимая Crtl+Alt+F7 и Ctrl+Alt+F8.
Если не получилось (возможные ошибки):
X: user not authorized to run the X server, aborting.
Легко исправить. Открываем /etc/X11/Xwrapper.config в текстовом редакторе от имени супер-пользователя и меняем allowed_users=console на allowed_users=anybody. Не знаю, как это отразится на безопасности системы, но это исправит проблему.
X: client 1 rejected from local host
Тоже легко. Удаляем из домашнего каталога все файлы, начинающиеся на .Xauthority, и пробуем снова.
P.S. Вместо startx -- :1 можно вводить ту же команду с цифрами 2, 3, 4 и так далее, пока хватает функциональных клавиш.
lockie 12.07.2009 12:22 #
+ 0 -
Хм, интересно. Надо будет попробовать.
А как сделать что б новая сессия запускалась без компиза (а в старой он бы был)
Тут несколько вариантов:
1) Вы по-умолчанию входите через *dm.
2) Вы по-умолчанию входите через startx.
1) Достаточно в ~/.xinitrc прописать программы, которые должны запускаться при старте второй (без компиза) сессии иксов, и запускать ее startx -- :1, в то время как в основную (с компизом) вы будете входить через *dm.
2) См. http://welinux.ru/post/382/. Используя этот способ, можно на vc2 (или на else к vc1) повесить xinit ~/.start_some_session -- :1, где ~/.start_some_session будет исполняемым и будет содержать список программ, которые нужно запустить во второй сессии.
1) Вы по-умолчанию входите через *dm.
2) Вы по-умолчанию входите через startx.
1) Достаточно в ~/.xinitrc прописать программы, которые должны запускаться при старте второй (без компиза) сессии иксов, и запускать ее startx -- :1, в то время как в основную (с компизом) вы будете входить через *dm.
2) См. http://welinux.ru/post/382/. Используя этот способ, можно на vc2 (или на else к vc1) повесить xinit ~/.start_some_session -- :1, где ~/.start_some_session будет исполняемым и будет содержать список программ, которые нужно запустить во второй сессии.
сегодня начал пробовать - startx -- :2 запускает отдельный рабочий стол - НО С КОМПИЗОМ - мож еще что надо сделать то ??
Маленькое дополнение. Ctrl-Alt+F<1-12> - это если вы находитесь под графическим терминалом. Если же вы находить под консолью, то достаточно просто Alt+F<1-12>.
Или <Alt>+<Стралка вправо> и в обратную сторону <Alt>+<Стралка влево>
В KDE всегда этим пользуюсь - там спец. кнопочка в меню есть. Постоянно запущено 2 сеанса - мой и жены. Так что мы друг другу не мешаем (по программам) - битва идёт только за стул, клаву, мышь и монитор :-) Ctrl-Alt-F8 - это её раб. окружение под её логином, Ctrl-Alt-F7 - моё.
Как вариант, если нет денег на мощный комп, то можно купить старенький и использовать его просто как терминал к "серверу", который будет изображать ваш текущий. Как вариант терминала - нетбук.
Где-то я читал, как к одним иксам прицепить по две пары мышей, клав, мониторов. Если найду где — запощу ссылочку.
Долго трахался.... пока не нашел другой ман с крупным шрифтом и не увидел что между -- и :1 пробел %)
Постарайтесь быть внимательнее в следующий раз.
Автор: пользуй тег code (язык подсветки - bash)!
Хотя, надо признать, что тут со шрифтами не очень хорошо. Надо бы как-то поправить это дело, чтобы все, что стояло в тегах code отображалось моноширинным шрифтом. Или сделать дополнительную кнопку в редакторе.
Автор: пользуй тег code (язык подсветки - bash)!
Хотя, надо признать, что тут со шрифтами не очень хорошо. Надо бы как-то поправить это дело, чтобы все, что стояло в тегах code отображалось моноширинным шрифтом. Или сделать дополнительную кнопку в редакторе.