В то время как большинство современных систем Linux используют диспетчер отображения для входа пользователей и запуска среды рабочего стола, можно запустить X11 и ваш любимый оконный менеджер/среду рабочего стола без него. Вы можете запустить X с виртуальной консоли и даже настроить его на автоматический запуск при входе в систему. Вот как.
Шаг 1. Отключение диспетчера дисплеев
Менеджеры отображения изначально были разработаны для подключения удаленных пользователей к центральному серверу для запуска приложений X. Пользователи будут использовать «X-терминалы», не путать с xterm, графическими терминалами, разработанными для использования с X11. Поскольку на большинстве современных ПК и X-сервер, и приложения работают на одном компьютере, их можно отключить.
Если у вас есть система с systemd, как в большинстве современных дистрибутивов Linux, вы можете отключить диспетчер отображения при запуске.
Для этого сначала узнайте, какой диспетчер отображения вы используете. Подсказкой будет то, какая среда рабочего стола была установлена по умолчанию. Если вы используете GNOME, GDM, скорее всего, будет диспетчером отображения. Если вы пользователь KDE, скорее всего, это KDM. В противном случае это может быть XDM или LightDM.
Если вы не уверены, хорошей подсказкой будет проверить запущенные процессы с помощью ps, top или htop. Найдите в списке что-нибудь, включающее «-dm».
Когда вы знаете, какой диспетчер отображения вы используете, его легко отключить с помощью systemd. Просто используйте systemctl команда. Вот пример для LightDM:
судоsystemctlзапрещатьлайтдм.услуга
Перезагрузитесь, и вы окажетесь в текстовом виртуальная консоль. Введите свое имя пользователя и пароль при появлении запроса, и вы сможете запускать команды Linux в своей оболочке, как если бы вы открыли окно терминала. Вы будете использовать это, чтобы запустить свой рабочий стол, но сначала вам нужно настроить .xinitrc файл.
Шаг 2: Настройте свой .xinitrc
Чтобы запустить ваш оконный менеджер или рабочий стол, вы должны сначала настроить файл .xinitrc в своем домашнем каталоге. Это легко сделать. Просто откройте его в своем любимом текстовом редакторе.
Теперь, когда он у вас открыт, вам нужно будет добавить по крайней мере строку, которая запускает предпочитаемую вами среду. Вот пример запуска XFCE:
исполнитель startxfce4
Важно использовать «exec», потому что это приведет к выходу из системы при выходе из XFCE.
У вас также могут быть любые программы, которые вы хотите запускать при запуске X, в вашем .xinitrc. Например:
Fire Fox &
xterm &
храсч &
исполнитель startxfce4
Важно добавить «&» в конце любых других программ, которые запускаются до диспетчера рабочего стола/окна. Это заставляет их работать в фоновом режиме. Если вы этого не сделаете, программа запустится, и ничего не произойдет, если вы не выйдете из нее. Это даже не запустит ваш оконный менеджер. .xinitrc на самом деле является просто сценарием оболочки и подчиняется синтаксису оболочки.
Шаг 3: Использование startx в командной строке
Запустить предпочитаемый оконный менеджер или среду рабочего стола достаточно просто. Просто введите «startx» в командной строке, и если вы настроили файл .xinitrc, он должен работать так же, как если бы вы вошли в систему с помощью оконного менеджера.
Если вы хотите запустить другой оконный менеджер, отличный от того, который вы настроили в своем .xinitrc, вы можете просто использовать абсолютный путь к менеджеру в качестве аргумента:
startx /путь/к/окно/manager
Шаг 4. Автоматический запуск X при входе в систему
Вы также можете запускать X при входе в систему без оконного менеджера. Вы можете изменить файлы запуска оболочки, которые запускаются только при использовании оболочки входа в систему. На Баше это .bash_логин, а на Зш это .zprofile.
Просто добавьте эту последовательность в файл:
Если [-z "${ДИСПЛЕЙ}" ] && [ "$XDG_VNTR" экв. 1]; затем
исполнитель startx
фи
Этот фрагмент шелл-кода проверяет, пуста ли переменная окружения $DISPLAY (что будет, если X не запущен) и что вы вошли в виртуальную консоль 1. Это означает, что если X уже запущен, другая копия X не появится. Он также не запустится, когда вы запустите оболочку в эмуляторе терминала, поскольку вместо этого будут запускаться файлы .bashrc или .zshrc.
Вам не нужен диспетчер отображения при входе в систему
Как и во многих других вещах, связанных с графическим интерфейсом пользователя в Linux, запуск диспетчера отображения строго необязателен. Вы можете запустить X из командной строки и даже при автоматическом входе в систему. Вы можете полностью запустить Linux без графического интерфейса, если хотите.