Nie mogę uruchomić moich ~/.xinitrc
( ~/.xsession
) skryptów podczas logowania do mojego komputera. Używam Xubuntu 12.10 z waniliowym lightgm jako menedżerem logowania. Oba te pliki mają odpowiednie uprawnienia (wykonywalne). Mam w swoim ~/.xinitrc
, co następuje:
#!/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
Żadne inne polecenie (jak date >> "$HOME/did_start"
) również nie jest wykonywane.
Teraz najwyraźniej nawet jeśli usunę moje pliki ~/.xinitrc
i ~/.xsession
pliki, xmodmap
wydaje się czytać ~/.Xmodmap
, a ~/.Xresources
także częściowo czytane. Zameldowałem się, /etc/X11/Xsession
aby sprawdzić, czy są jakieś polecenia, które zmuszają go do odczytania tych dwóch plików, i nie znalazłem żadnego. Co może się dziać?
EDYCJA: Ponieważ Gilles zapytał, używam sesji niestandardowej podczas logowania przez lightdm ( /usr/share/xsessions/custom.desktop
):
[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession
Ale najwyraźniej nadal uruchamia XFCE poprzez, startxfce4
chociaż nie mam go w sobie ~/.xinitrc
.
I jak zauważył Ulrich Dangel, istnieje wiersz, w /usr/xdg/xfce4/xinitrc
którym czyta się ~/.Xmodmap
i ~/.Xresources
, a ten skrypt jest wykonywany przez startxfce4
. Aby ta „tajemnica” została rozwiązana. Ale znowu, kolory (do xterm
, urxvt
itd.) Z ~/.xinitrc
wciąż nie jest załadowany.
Odpowiedzi:
W przypadku pierwszego pytania zazwyczaj zależy to od sesji, tzn. Plik w twoim przykładzie niekoniecznie jest wystarczający, ponieważ nie uruchamia WM / DE. Normalnie
~/.xsession
lub~/.xinitrc
uruchomienia całego środowiska i nie są wykorzystywane wyłącznie w celu automatycznego uruchamiania niektórych programów, czyli powinny one zawierać wiersz podobnyexec x-window-manager
ale globalnaxsession
może tylko źródło pliku.Jeśli chodzi o twoje inne pytanie, Debian (i prawdopodobnie Ubuntu) mają,
/etc/X11/Xsession.d
które na przykład ładuje~/.Xresources
. Pliki te są również odpowiedzialne za ładowanie i znajdowanie domyślnego menedżera okien.Aby debugować swoje problemy, powinieneś zajrzeć
~/.xsession-errors
lub uruchomić xserver z konsoli i zobaczyć bezpośrednio tam komunikaty o błędach, tj.startx -- /etc/X11/Xsession
źródło
exec startxfce4
linii~/.xinitrc
, zaczyna się XFCE (to dziwne, coś innego musi się dziać). Jeśli chodzi o drugą część, tak, to, co powiedziałeś, wydaje się mieć miejsce./etc/xdg/xfce4/xinitrc
Skrypt spowodował dwa pliki do odczytu.