.Xresources не читается urxvt, работающим под crouton с i3wm

2120
Rich Churcher

Chromebook с Linux, запущенным через crouton (изначально Ubuntu 12.04, обновлён до 14.04). Я запускаю X из crosh / shell, используя:

sudo i3 

Содержимое i3 (комментарии / инструкции по использованию опущены):

#!/bin/sh/ -e  set -e exec sh -e "`dirname "\`readlink -f "$0"\`"`/enter-chroot" -t x11 "$@" "" \ exec xinit 

Содержание .xinitrc:

#!/bin/sh [[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources exec i3 

Содержание .Xresources:

URxvt.scrollBar: false 

i3 запускается как я и ожидал. Однако после открытия urxvt xrdb -queryничего не дает. Я могу явно запустить xrdb ~/.Xresourcesи xrdb -queryвозвращает единственную строку выше. После этого новые окна urxvt открываются без полос прокрутки.

Я понял, что urxvt исходники .Xresources по умолчанию. Даже если бы этого не произошло, я бы подумал, что мой вызов xrdb в .xinitrc позаботится об этом. Я предполагаю, что это как-то связано со средой chroot, так как все вышеперечисленное прекрасно работает на моем другом ноутбуке Mint (правка: хотя, конечно, он не использует .xinitrc).

У кого-нибудь есть идеи?

1

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

0
Rich Churcher

Это заняло у меня весь день, чтобы выследить. Я думаю, что это хорошая учебная точка, поэтому я опубликую ее здесь. Это, вероятно, более очевидно для тех, кто провел больше времени с оболочкой, чем я!

Проблема заключалась в двойных квадратных скобках в .xinitrc. Crouton вызывает chroot с sh, который указывает на тире. Dash, в отличие от bash, не поддерживает двойные квадратные скобки для тестов. С помощью:

[ -f ~/.Xresources ] && xrdb -merge ~/.Xresources 

работает отлично.

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