Какова цель .xsession
файла в домашней папке? Что нужно положить туда? Среды рабочего стола не используют этот файл, и для запуска X из tty есть .xinitrc
.
Какова цель .xsession
файла в домашней папке? Что нужно положить туда? Среды рабочего стола не используют этот файл, и для запуска X из tty есть .xinitrc
.
Ответы:
Если вы войдете в текстовый режим, затем запустите сеанс графического интерфейса с помощью xinit или сценария оболочки startx
, а затем xinit
выполните следующие действия:
/etc/X11/xinit/xserverrc
)./etc/X11
(как правило /etc/X11/xinit/xinitrc
), в зависимости от того, как он настроен.~/.xinitrc
, если он существует. Если он не существует, запустите клиент по умолчанию (традиционно xterm
).~/.xinitrc
прекратит работу, убейте X-сервер.Если войти в систему в графическом режиме на менеджера X отображения (XDM, GDM, KDM, WDM, LightDM, ...), традиционно, что выполняется после того, как вы войти в некоторые сценарии в /etc/X11
то ~/.xsession
.
~/.xsession
имеет роль ~/.profile
и в ~/.xinitrc
сочетании: он должен выполнять начальный запуск вашего сеанса (например, определять переменные среды), а затем запускать программы, специфичные для GUI (обычно, по крайней мере, оконный менеджер).
В настоящее время большинство менеджеров дисплеев X предоставляют вам возможность выбора сеанса. При выборе определенного сеанса запускается определенная среда рабочего стола, менеджер сеансов, менеджер окон. Затем выполняется только то, что DE / SM / WM и любые программы, которые он выбирает для запуска, основаны на любых конфигурационных файлах, которые он выбирает для чтения. Во многих средах предусмотрен «пользовательский сеанс», который читает традиционный ~/.xsession
.
.xsession
Файл читается только в том случае, если вы выбрали определенный тип сеанса. Я знаю, что для Gdm разработчики не хотят включать тот, который запускается .xsession
по умолчанию, и оставляют его для каждого дистрибутива, а многие дистрибутивы не беспокоятся или не осознают необходимость. Я не знаю, какова ситуация с KDM.
/etc/kde4/kdm/Xsession
который будет запускаться от имени пользователя сразу после входа в систему. Они лгут - файл (который присутствует между прочим) kdm никогда не трогал, я даже вообще его удалил, и это ничего не изменило.
.xsession
, как вы описали. Но если вместо «KDE» вы выберете «Пользовательский сеанс» .xsession
, вместо KDE будет запущен . Я использую это, например, потому что я запускаю just xfce4-panel
и FVWM 2 как мой «рабочий стол»; если бы KDE был установлен в системе, которую я использовал, он был бы полностью проигнорирован.
Запуск X-сессии может быть сложным в эти дни. Хорошее место для начала - сценарий, /etc/X11/Xsession
чтобы увидеть, как все будет выполнено.
В моих системах Debian / Ubuntu скрипт /etc/X11/Xsession
устанавливает переменную USERXSESSION=$HOME/.xsession
. Позже сценарий /etc/X11/Xsession.d/50x11-common_determine-startup
ищет этот сценарий и использует его в качестве основного сеанса, если это разрешено системной политикой /etc/X11/Xsession.options
, и если диспетчер отображения не запрашивал никаких других сеансов.
Я настоятельно рекомендую вам заглянуть в книгу «Руководство администратора системы X Window»: для X версии 11 . Глава 2 объясняет цель .xsession
и весь процесс настройки для примера установки. Также это хороший освежитель для всей терминологии, связанной с X-Window (и я надеюсь, что вы не напуганы :)). Вы можете получить книгу от
Хотя он довольно устарел, вы можете найти много информации о базовых концепциях, которые не изменились до сегодняшнего дня и которые очень разборчивы. Более того, действительно забавно взглянуть на то, что было на высшем уровне в те дни.
.xsession - это традиционный стартовый скрипт для среды X11. В настоящее время с менеджерами сессий, такими как kdm, это уже не так уж полезно, а в традиционной системе. Это то, что запускается после запуска X11 с startx.