Linuxを搭載したChromebookがcrouton経由で実行されています(元々はUbuntu 12.04、14.04にアップグレードされました)。私は次を使用してcrosh/ShellからXを開始しています。
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
は上記の1行を返します。この後、新しいurxvtウィンドウがスクロールバーなしで開きます。
Urxvtがデフォルトで.Xresourcesをソースすることを理解しました。そうでない場合でも、.xinitrcでのxrdb呼び出しがそれを処理すると思っていたでしょう。上記はすべて他のMintラップトップで正常に機能するため、chroot環境と関係があると思います(もちろん、.xinitrcは使用しません)。
誰かアイデアはありますか?
これは私が追跡するのに一日中かかりました。良い学習ポイントだと思いますので、ここに投稿します。シェルの周りで私よりも多くの時間を費やした人にとっては、おそらくもっと明白です!
問題は、.xinitrcの二重角括弧でした。 Croutonは、ダッシュを指すshを使用してchrootを呼び出します。ダッシュは、bashとは異なり、テスト用の二重角括弧をサポートしていません。使用:
[ -f ~/.Xresources ] && xrdb -merge ~/.Xresources
正常に動作します。