Intereting Posts
Медленный Wi-Fi на Intel N 6235 Как заставить CUPS отображать USB-принтер как отключенный, когда он отключен? Почему Linux не является официальным ядром GNU? Настройте firwall с помощью iptables, чтобы разрешать только VPN Применить команду ко всем подкаталогам / файлам Как изменить размер зашифрованных корневых и домашних разделов, чтобы дать root больше места? Создайте базу данных «теневого» RPM? Открытый источник os для dlink dsl-2640u hw: c2 Почему bash не сохраняет команды, начинающиеся с пробелов? Как настроить приложение nodejs для запуска через systemd на CentOS7? Как добавить пользовательский виджет в панель gnome Пользователь не имеет доступа к crontab bash: синтаксическая ошибка около неожиданного токена `(' Связывание определенного IP-адреса с портом в apache2 ошибка при загрузке разделяемых библиотек: libboost_thread.so.1.54.0: невозможно открыть файл общих объектов: такой файл или каталог отсутствует

Какая среда рабочего стола запускает startx, и как я могу ее изменить?

Из многих документов я читал, что startx LXDE в ОС Raspbian. Я немного смущен.

Всегда будет запускать LXDE GUI?

Также я видел пример с использованием команды startlxde . Как эта команда отличается и почему startx и startlxde работают с одним и тем же графическим интерфейсом (LXDE)? Или, может быть, он запускает его, потому что это графический интерфейс по умолчанию?

Как я могу выбрать графический интерфейс по умолчанию, если у меня есть несколько?

Не могли бы вы объяснить более подробную информацию о графическом интерфейсе в системах Linux?

startx запускает xinit который запускает X-сервер и клиентский сеанс. Клиентский сеанс ~/.xinitrc если он присутствует, и в противном случае /etc/X11/xinit/xinitrc (расположение может меняться в зависимости от дистрибутивов). То, что делает этот сценарий, варьируется между дистрибутивами. В Debian (включая производные, такие как Raspbian), /etc/X11/xinit/xinitrc запускает /etc/X11/Xsession который, в свою очередь, запускает скрипты в /etc/X11/Xsession.d . Сценарии Debian ищут сеанс пользователя в других файлах ( ~/.xsession , ~/.xsessionrc , ~/.Xsession ), и, если пользовательский параметр не применим, запускается x-session-manager (возврат к x-window-manager если нет [диспетчера сеансов], возвращается к x-terminal-emulator в маловероятном случае, если не установлен диспетчер окон).

Если вам нужен контроль над тем, что выполняется, вы можете создать один из пользовательских файлов: ~/.xsession или ~/.xinitrc . Файл ~/.xsession также используется, если вы ~/.xsession в диспетчер дисплея (т. ~/.xsession пароль в окне графического интерфейса пользователя). Файл ~/.xinitrc специфичен для xinit и startx . Использование ~/.xsession проходит через /etc/X11/Xsession поэтому он устанавливает такие вещи, как методы ввода, ресурсы, агенты паролей и т. Д. Если вы используете .xinitrc , вам придется делать все это вручную. Еще раз, я описываю Debian здесь, другие варианты Unix могут изменить ситуацию по-другому. Использование ~/.xinitrc для указания того, что выполняется, когда вы запускаете startx или xinit является универсальным.

Если вы используете ~/.xinitrc или ~/.xsession , этот файл (обычно это сценарий оболочки, но он не обязательно должен быть, если вы действительно хотите использовать что-то еще) должен подготовить все, что нужно подготовить (например, настройки клавиатуры, ресурсы, апплеты, которые не запускаются диспетчером окон и т. д.), а затем в конце запускает программу, которая управляет сеансом. Когда сценарий заканчивается, сеанс завершается. Как правило, вы должны использовать exec в конце скрипта, чтобы заменить скрипт менеджером сеанса или диспетчером окон.

Предположительно, ваша система имеет /usr/bin/startlxde как системный менеджер сеансов по умолчанию. В Debian и деривативах вы можете проверить доступных менеджеров сеансов с помощью

 update-alternatives --list x-session-manager 

или получить более подробное описание, указывающее, какой из них

 update-alternatives --display x-session-manager 

Если LXDE не был общесистемным по умолчанию, и вы хотите сделать его по умолчанию для своей учетной записи, вы можете использовать следующий файл ~/.xsession :

 #!/bin/sh exec startlxde 

В некоторых вариантах Unix, которые будут выполняться только для графических логинов, а не для startx , вам также нужно будет создать идентичный ~/.xinitrc . (Или не идентичны: в ~/.xsession вы можете захотеть делать другие вещи, потому что это первый файл, который выполняется в графическом сеансе, например, вы можете поставить . ~/.profile в верхней части, чтобы установить некоторые переменные среды .)

Если вы хотите попробовать другие среды как одноразовые, вы можете указать другую программу для запуска в командной строке самого startx . У программы startx есть причуда: вам нужно использовать полный путь к программе.

 startx /usr/bin/startkde 

Команда startx также позволяет указать аргументы для передачи на сервер. Например, если вы хотите одновременно запускать несколько графических интерфейсов, каждый раз вы можете передавать другой номер дисплея. Пропустите аргументы сервера после -- в командной строке startx .

 startx /usr/bin/startkde -- :1 

Нет: startx настраивается. Согласно странице руководства :

Чтобы определить клиента для запуска, startx сначала ищет файл с именем .xinitrc в домашнем каталоге пользователя. Если это не найдено, он использует файл xinitrc в каталоге библиотеки xinit .

startx – это не единственный способ запуска X (как вы видите из startlxde ). Страница руководства startx снова помогает:

Сценарий startx является интерфейсом xinit (1), который обеспечивает несколько более удобный пользовательский интерфейс для запуска одного сеанса X Window System. Он часто запускается без аргументов.

С другой стороны, если вы хотите выбрать графический интерфейс (LXDE, KDE и т. Д.), xdm для выбора разных типов рабочего стола используются xdm и подобные им изображения, такие как kdm , gdm или LightDM . В Debian я обычно использую kdm , потому что это позволяет использовать разные типы настольных компьютеров. Пакеты для gdm запрещают большинство типов настольных компьютеров, что делает его непригодным для моих нужд.

xdm использует другой набор сценариев для запуска, например, ваш скрипт ~/.xsession вместе с системными скриптами. Подобные взгляды могут игнорировать это и использовать свои собственные скрипты. Но это отправная точка.