~ / .xinitrc не запускается

14

Я не могу запустить свои скрипты ~/.xinitrc( ~/.xsession) при входе в мой компьютер. Я использую Xubuntu 12.10 с vanilla lightgm в качестве менеджера входа в систему. Оба эти файла имеют право доступа (исполняемый файл). У меня в моем ~/.xinitrc, следующее:

#!/usr/bin/env bash 

# read ~/.Xmodmap if it exists
if [[ -f "${HOME}/.Xmodmap" ]]; then
    xmodmap "${HOME}/.Xmodmap"
fi

# read ~/.Xresources if it exists
if [[ -f "${HOME}/.Xresources" ]]; then
    xrdb -load "${HOME}/.Xresources"
fi

# use gnome-keyring-daemon to manage keys
/usr/bin/gnome-keyring-daemon --start --components=gpg
/usr/bin/gnome-keyring-daemon --start --components=ssh

Любая другая команда (вроде date >> "$HOME/did_start") также не выполняется.

Теперь, по-видимому, даже если я удаляю свои ~/.xinitrcи ~/.xsessionфайлы, xmodmapкажется, что читает ~/.Xmodmap, а ~/.Xresourcesтакже частично читается. Я проверил, /etc/X11/Xsessionесть ли какие-нибудь команды, которые заставляют его читать эти два файла, и не нашел ни одного. Что может случиться?

РЕДАКТИРОВАТЬ: Поскольку Gilles спросил, я использую пользовательский сеанс при входе через lightdm ( /usr/share/xsessions/custom.desktop):

[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession

Но, очевидно, это все еще запускает XFCE через, startxfce4хотя у меня его нет в моем ~/.xinitrc.

И, как указал Ульрих Дангел, есть строка, в /usr/xdg/xfce4/xinitrcкоторой читается ~/.Xmodmapи ~/.Xresources, и этот скрипт выполняется startxfce4. Так что «тайна» теперь решена. Но, опять же, цвета (для xtermи urxvtт. Д.) Из ~/.xinitrcпо-прежнему не загружаются.

metwarp
источник
Как проходит процесс входа в систему? Какие сеансы доступны (если есть)?
tijagi
Какой тип сеанса вы выбираете в Lightdm?
Жиль "ТАК - перестань быть злым"
@ Жиль Я использую пользовательский сеанс. Я обновил свой вопрос с дополнительной информацией об этом.
metwarp

Ответы:

6

Для вашего первого вопроса это обычно зависит от вашей сессии, то есть файла в вашем примере не обязательно достаточно, поскольку он не запускает ваш WM / DE. Обычно ~/.xsessionили ~/.xinitrcзапускают всю среду и используются не только для автоматического запуска некоторых программ, то есть они должны содержать строку типа, exec x-window-managerно глобальная xsessionможет просто исходный файл.

Для вашего другого вопроса, Debian (и, вероятно, Ubuntu), /etc/X11/Xsession.dкоторый, например, загружается ~/.Xresources. Эти файлы также отвечают за загрузку и поиск оконного менеджера по умолчанию.

Для устранения ваших проблем вы должны заглянуть ~/.xsession-errorsили запустить xserver из консоли и увидеть сообщения об ошибках прямо там, т.е.startx -- /etc/X11/Xsession

Ульрих Дангел
источник
Для первой части, хотя у меня нет exec startxfce4строки в моем ~/.xinitrc, запускается XFCE (это странно, что-то еще должно происходить). Что касается второй части, да, то, что вы сказали, похоже, имеет место. /etc/xdg/xfce4/xinitrcСценарий вызвал два файла для чтения.
metwarp
@metwarp ok обновил комментарий
Ульрих Дангел