コンピューターにログインするときに~/.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
をチェックインして、これらの2つのファイルを読み取らせるコマンドがあるかどうかを確認しましたが、何も見つかりませんでした。何が起こっているのでしょうか?
編集: Gillesが尋ねたので、lightdm(/usr/share/xsessions/custom.desktop
)からログインしているときにカスタムセッションを使用しています。
[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession
ただし、startxfce4
にない場合でも、これは~/.xinitrc
を介してXFCEを開始するようです。
Ulrich Dangelが指摘したように、/usr/xdg/xfce4/xinitrc
には~/.Xmodmap
および~/.Xresources
を読み取る行があり、このスクリプトはstartxfce4
によって実行されます。その「謎」は今解決されます。ただし、繰り返しになりますが、~/.xinitrc
の色(xterm
、urxvt
など)はまだ読み込まれていません。
最初の質問の場合、それは通常セッションに依存します。つまり、例のファイルは、WM/DEを開始しないため、必ずしも十分ではありません。通常、~/.xsession
または~/.xinitrc
は、環境全体を起動し、一部のプログラムを自動的に起動するためだけに使用されます。つまり、exec x-window-manager
のような行を含む必要がありますが、グローバルxsession
はファイルを入手します。
あなたの他の質問については、Debian(そしておそらくUbuntu)には/etc/X11/Xsession.d
があり、これは例えば~/.Xresources
をロードします。これらのファイルは、デフォルトのウィンドウマネージャーの読み込みと検索も行います。
問題をデバッグするには、~/.xsession-errors
を確認するか、コンソールからxserverを起動してエラーメッセージを直接表示する必要があります。つまり、startx -- /etc/X11/Xsession