Виртуальные консоли
Итак, как известно, Linux - многопользовательская и многозадачная система. Что касается X, тут всё, вроде бы, ясно: задач выполняешь столько, сколько душа пожелает. При заходе в систему через, например, KDM несколько пользователей могут быть залогинены одновременно. А что же, когда иксы загружаются через startx? Как в консоли обстоит дело с этим аспектами?
- Обычно по умолчанию в Linux 6 виртуальных консолей (vc), каждая из которых готова к работе. Для того чтобы перейти в другую консоль под номером n, надо нажать Ctrl+Alt+Fn. Если нужно из иксов посмотреть на вывод в консоли, то можно нажать Ctrl+Alt+Fn, где n - номер нужной консоли. Каждая виртуальная консоль поддерживает как одинаковые логины, так и разные.
- Добавить виртуальные консоли можно в Archlinux в /etc/inittab (синтаксис понятен).
- Иксы идут в “отдельных” консолях. То есть, если у вас 6 консолей прописано в /etc/inittab, то иксы будут с 7 vc. Далее я буду отталкиваться от того, что у вас именно 6 vc.
- Вернуться в иксы можно нажатием Ctrl+Alt+F7. Убить иксы можно с помощью Ctrl+Alt+Backspace.
- Для того чтобы запустить программу в фоновом режиме (удобно, например, для xscreensaver), надо поставить & после её вызова:
xscreensaver & - При старте иксов по умолчанию (runlevel 5) консоль, ими занимаемая - 7.
- Для того чтобы запустить иксы при уже запущенных, можно ввести
startx — :1, где 1 - номер дисплея. При этом вторые иксы будут расположены на 8 консоли, третьи - на девятой, и т. д.
Итак, видно, что консоль обладает не только многозадачностью, но и многопользовательский режим поддерживается на ура.
Отмечу, что при запуске нескольких x-серверов у меня не работает dri в последних дисплеях. С этим я надеюсь скоро разобраться.
Октябрь 21, 2006 at 7:40 дп
@Igor:
Я обычно для запуска вторых иксов использую xinit.
Мне так удобнее, потому что startx читает .xsession, а xinit - .xinitrc. Можно иметь два разных файла с разными настройками.
Октябрь 21, 2006 at 9:15 дп
Хм, в Xorg 7.1 startx читает именно .xinitrc, а в комментариях к .xsession написано, что он вызывается при запуске KDM, XDM, GDM.
Октябрь 21, 2006 at 10:28 дп
@Igor:
Точно, тут я ошибся. Действительно, startx читает .xinitrc, так же как xinit.
.xsession читается xdm.
Как бы то ни было, у меня все равно два разных конфига - один основной, .xsession, и второй для xinit - .xinitrc, который я использую время от времени, когда возникает потребность запустить вторые иксы.
И обычно я запускаю вторые иксы с другим wm.
Октябрь 21, 2006 at 10:31 дп
Просто вторые иксы я запускаю от второго юзера :)
А startx является скриптом, а не бинарником, поэтому его можно настроить на всё, что угодно по идее.
А вы запускаете первые иксы через XDM?
Октябрь 21, 2006 at 3:03 пп
@Igor:
Я обычно тоже.
Да, сразу при загрузке.
Октябрь 21, 2006 at 3:22 пп
Так у второго юзера и настройки же свои будут в его .xinitrc, нет?
А я вот через startx (xinit), поэтому про .xsession ничего не знал :)
Октябрь 21, 2006 at 6:12 пп
@Igor:
Вообще-то да. Просто мой второй юзер понятие не имеет вообще про эти настройки. Так что .xinitrc я ему положил :)
А в моем .xinitrc вот что прописано:
xterm &
exec twm
Я когда только начал пользоваться linux тоже так и делал. А потом, со временем все меньше стал работать в консоли, и в конце-концов поставил xdm, и наступило мне сщастье :)
Октябрь 21, 2006 at 6:29 пп
Автор, прям мои мысли читает. Я как раз задумался, а как бы мне несколько иксов завести на одной машине. ;-)
Октябрь 21, 2006 at 6:39 пп
Я просто как-то сдуру затеял обновление системы в иксах, поэтому их нельзя было убить. А захотелось мне запустить ещё и KDE параллельно с Fluxbox, оттого и заглянул в man startx
Октябрь 23, 2006 at 1:16 дп
При использовании опенсорсных дров DRI работает только в одних иксах. В прочем, при использовании fglrx вторые иксы вообще не запустятся. Зато у драйверов нвидии вроде никаких ограничений нет (это был краткий пересказ моей заметки)
Октябрь 23, 2006 at 1:23 дп
fglrx я уже убрал, всё равно времени на игры нет. Интересно, есть ли какой-нибудь хак? Неудобно это. Надо будет поискать..