Summary: | Unusable session script | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Sir Raorn <raorn> |
Component: | xfce-utils | Assignee: | Mikhail Efremov <sem> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | blocker | ||
Priority: | P2 | CC: | cas, kurakin, mike, oddity, vsu |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 12100 |
Description
Sir Raorn
2007-02-24 15:21:55 MSK
Я сравнил /etc/X11/Xsession и /etc/xdg/xfce4/xinitrc, и не считаю что апстрим занимается большим велосипедостроением, чем прочие. У меня все работает и если не будет более серьезных претензий к /etc/xdg/xfce4/xinitrc, то закрою багу как INVALID 1. Xsession к этому времени уже отработал 2. Содержимое ~/.Xdefaults в xrdb отсутствует после старта xfce У меня ~/.Xdefaults присутсвует, что я делаю не так? У меня тоже. Тем не менее aterm в непотребном виде запускается пока не сделаю xrdb -merge .Xdefaults ... Впрочем, я уже снёс xfce и его дальнейшая судьба меня больше не интересует. JFYI, несовместимость /etc/xdg/xfce4/xinitrc с /etc/X11/Xsession (если таковая имеется, я не смотрел) - это blocker. Я не готов сказать что там полная совместимость, но в части xrdb там более расширеный набор импортируемых настроек, т.е. кроме того что импортируют обычно, добавляется также $XDG_CONFIG_HOME/xfce4/Xft.xrdb Сам по себе /etc/xdg/xfce4/xinitrc вызывается обычно из /etc/X11/Xsession и кроме прочего поднимает dbus. А вот когда стартуют xfce4 из runlevel 3, тогда отсутствие скрипта подобного /etc/xdg/xfce4/xinitrc у других WM/DE блокер для них, а не для xfce. Один только этот фрагмент однозначно blocker: # create temp file for X resources XRESOURCES="/tmp/xrdb-$UID.$$" # Has to go prior to merging Xft.xrdb, as its the "Defaults" file test -r $HOME/.Xdefaults && cat $HOME/.Xdefaults >> $XRESOURCES # ~/.Xresources contains overrides to the above test -r $HOME/.Xresources && cat $HOME/.Xresources >> $XRESOURCES # load all X resources xrdb -nocpp -merge $XRESOURCES Лично у меня в ~/.Xresources есть, например, #if HEIGHT >= 1200, поэтому -nocpp тут никак не годится. Т.е. без nocpp нормально импортиться? Просто имеющиеся у меня ресурсы для urxvt без проблем попадают в итоговый вариант xrdb и мне не на чем проверить репорт... Я его и не закрывал по тому что не мог ни подтвердить, ни опровергнуть... (In reply to comment #6) > Сам по себе /etc/xdg/xfce4/xinitrc вызывается обычно из /etc/X11/Xsession и > кроме прочего поднимает dbus. А вот когда стартуют xfce4 из runlevel 3, тогда > отсутствие скрипта подобного /etc/xdg/xfce4/xinitrc у других WM/DE блокер для > них, а не для xfce. Когда любой WM/DE стартует из runlevel 3, /etc/X11/Xsession к этому времени уже отработал. И dbus тоже стартовал. Делать какие-то решения на базе Xfce с такими стартовыми скриптами - это блокер для всего дистрибутива. Пожалуй что :-( Читаем внимательно скрипт: if test x"$DBUS_SESSION_BUS_ADDRESS" = x""; then dbuslaunch=`which dbus-launch` if test x"$dbuslaunch" != x"" -a x"$dbuslaunch" != x"no"; then eval `$dbuslaunch --sh-syntax --exit-with-session` fi fi Dbus-launch вызывается только в случае, если предыдущий запущен криво, без выставления переменных окружения. У нас в /etc/X11/profile.d/dbus-daemon.sh все запускается нормально, значит эта часть скрипта НИКОГДА не будет отрабатывать. Тоже мне блокер нашли... Ну почти. /etc/X11/Xsession: # Merge in defaults and keymaps. MergeResources /etc/X11/Xresources "$HOME/.Xresources" "$HOME/.Xdefaults" scripts/xinitrc: XRESOURCES=$HOME/.Xdefaults ... XRESOURCES="$XRESOURCES $BASEDIR/Xft.xrdb" ... XRESOURCES="$XRESOURCES $BASEDIR/Xcursor.xrdb" ... XRESOURCES="$XRESOURCES $HOME/.Xresources" В результате настройки из .Xdefaults перекрываются непонятно чем. .Xdefaults надо грузить последним. Я могу согласиться, что ~/.Xresources нужно переставить до ~/.Xdefaults для единообразия с общесистемной настройкой, но... Xft.xrdb и Xcursor.xrdb должны грузиться последними, иначе пользователи будут несколько разочарованы, тем, что в менеджере настроек они могут поклацать мышкой, а в реальности ничего не измениться, потому что они умудрились откуда-то скачать "кривой" .Xdefaults или .Xresources. Итак, итог: Переставляю местами .Xdefaults и .Xresources, после чего закрываем эту багу? Да. Именно переставить. Мне нравится мой кривой .Xdefaults и я не хочу чтобы какая-то сволочь меняла мои любимые настройки. Кстати, советую ещё раз заглянуть в /etc/X11/Xsession на тему поддержки локале-зависимых .X*s... Локолезависимые посмотрю позже, к следующей версии xfce, а пока отправил alt2 с переставленным порядком .Xdefaults и .Xresources. Еще бы почитать где-нибудь, каков правильный порядок чтения этих файлов, т.е. кто является базовой настройкой, а кто override к ней... |