6

Изменить: Я обнаружил, что это, похоже, ошибка в Ubuntu: https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1163129 - Есть идеи, как это исправить самостоятельно?

Я просто хочу переключиться на urxvt, но у меня странная проблема с моим .Xresources . Когда я вхожу и запускаю urxvt, все розовое в розовом, и я получаю эти сообщения об ошибках

urxvt: unable to parse color 'S_base0', using pink instead.
urxvt: unable to parse color 'S_base03', using pink instead.
...(repeated for all colors I defined)...
urxvt: unable to parse color 'S_base03', using pink instead.

Однако, как только я запустил xrdb ~/.Xresources , все недавно открытые urxvt в порядке и прекрасно соляризованы. WAT?

МойXresources: https://gist.github.com/iGEL/6880992 - я использую Ubuntu 13.04 (64 бит), но установил пакет rxvt-unicode-256color из Ubuntu 13.10, чтобы получить текущую версию urxvt (9.18).

Редактировать: обратите внимание, что цвета определены в том же файле, в котором они используются. Может быть, urxvt (или что-то читает .Xresources) не может разобрать и использовать переменные в одном прогоне? Выглядит, однако, как странная идея.

4 ответа4

5

Хорошо, я понял это: вы должны удалить опцию -noccp в строке 42 /usr/sbin/lightdm-session , что не позволяет xrdb использовать нужный мне препроцессор.

2

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

Я только что написал инструмент для автоматизации этого процесса: https://github.com/dolmen/Xresources.edit/

1

Ваш ~/.Xresources не читается автоматически.

Я полагаю, что в Ubuntu (по крайней мере, в Debian) файл ресурсов, прочитанный во время начала вашей X-сессии, имеет вид .Xdefaults .

Не нарушать ничего, что зависит (возможно) от ~/.Xresources , просто сделайте символическую ссылку:

ln -s .Xresources ~/.Xdefaults

Начните новый сеанс X, и розовый в розовом должен исчезнуть.

0

Другой вариант, менее навязчивый, вместо изменения /usr/sbin/lightdm-session - это изменение оболочки X-сессии. Это мой /etc/lightdm/lightdm.conf для Ubuntu 12.04:

[SeatDefaults]
greeter-session=unity-greeter
allow-guest=false
greeter-hide-users=true
session-wrapper=/etc/X11/Xsession

Обратите внимание на последнюю строку, которая выполняет сеансы X11 с оригинальной оболочкой Debian /etc/X11/Xsession . Этот сценарий очень похож на /usr/sbin/lightdm-session но позволяет файлу /etc/X11/Xsession.d/30x11-common_xresources делать свое дело.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .