Попытка запустить процесс при входе в систему, но нет файла .xinitrc для работы

1883
sherrellbc

Итак, я установил и правильно использую xbindkeys . Проблема в том, что я должен вручную запускать этот процесс при каждом запуске системы. Я прочитал больше в вики и обнаружил, что есть метод, который можно использовать для автоматического запуска этого процесса - редактирование ~/.xinitrc. Итак, я вошел в этот каталог и не нашел такой файл. Затем я перепрыгнул на xinitrc wiki, чтобы узнать больше об этом файле.

По-видимому, этот файл, по-видимому, является сценарием, читаемым startx/xinitпрограммой, которая запускается для запуска основной рабочей среды - или средой рабочего стола, если она установлена ​​и явно закодирована в сценарии. На этой вики- странице написано, что:

В отсутствие ~ / .xinitrc, startx / xinit по умолчанию анализирует глобальный файл / etc / X11 / xinit / xinitrc, который запускает базовую среду с оконным менеджером Twm, Xclock и Xterm.

Это может показаться странным, если учесть, что я cinnamonустановил рабочую среду по умолчанию, которая запускается при каждом входе в систему, но, очевидно, без использования .xinitrcэтого параметра. Если мой менеджер дисплеев не запускает корицу за кулисами, я не совсем уверен, как это все работает.

Суть: причина, по которой я привожу все это, состоит в том, что вторая ссылка выше ( метод ) требует, чтобы я отредактировал файл, который не существует, но этот же файл, как говорят, требуется последней ссылкой ( этой вики ), так как мой рабочий стол, не базовый, запускается при входе в систему. Что здесь происходит?

1

1 ответ на вопрос

3
grawity

startx and ~/.xinitrc isn't the only method of starting an X11 environment. Most desktop environments come with a "display manager" daemon which automatically starts Xorg on all available monitors, and shows a graphical login screen.

While some display managers do try to run ~/.xinitrc themselves, most DMs take the list of available "sessions" from /usr/share/xsessions/*.desktop.

As for the other question – starting programs when the desktop environment starts – there usualy are two methods, as in my earlier post:

  • According to the XDG Autostart specification, the desktop environment's "session manager" (e.g. cinnamon-session) will read the programs from ~/.config/autostart/*.desktop. You can manage them using cinnamon-session-properties.

  • Some display managers will read the ~/.xprofile script, which works similarly to ~/.xinitrc but without starting a window manager (as that's already done by the session manager).

Вы должны быть одним из немногих в этой нише обмена стека! Я вспоминаю, как читал ваш ответ на этот вопрос - именно здесь у меня появилась идея использовать `.xinitrc`. Просто после прочтения этого файла я был немного озадачен тем, как все это работает. sherrellbc 9 лет назад 0

Похожие вопросы