Ich kann meine ~/.xinitrc
( ~/.xsession
) Skripte nicht ausführen, wenn ich mich bei meinem Computer anmelde. Ich benutze Xubuntu 12.10 mit Vanilla Lightgm als Login-Manager. Beide Dateien haben die richtige Berechtigung (ausführbar). Ich habe in meinem ~/.xinitrc
, folgenden:
#!/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
Ein anderer Befehl (wie date >> "$HOME/did_start"
) wird ebenfalls nicht ausgeführt.
Nun scheint es , auch wenn ich meine ~/.xinitrc
und ~/.xsession
Dateien lösche xmodmap
, zu lesen ~/.Xmodmap
und ~/.Xresources
wird auch teilweise gelesen. Ich habe eingecheckt /etc/X11/Xsession
, um festzustellen, ob Befehle zum Lesen dieser beiden Dateien vorhanden sind, und keine gefunden. Was könnte passieren?
BEARBEITEN: Seit Gilles gefragt hat, verwende ich eine benutzerdefinierte Sitzung, während ich mich über lightdm ( /usr/share/xsessions/custom.desktop
) anmelde :
[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession
Aber anscheinend startet dies immer noch XFCE über startxfce4
, obwohl ich es nicht in meinem habe ~/.xinitrc
.
Und wie Ulrich Dangel betonte, gibt es eine Zeile, in /usr/xdg/xfce4/xinitrc
der ~/.Xmodmap
und steht ~/.Xresources
, und dieses Skript wird von ausgeführt startxfce4
. Damit ist das "Rätsel" gelöst. Aber auch hier sind die Farben (für xterm
, urxvt
etc.) aus ~/.xinitrc
noch nicht geladen.
Antworten:
Bei Ihrer ersten Frage hängt es normalerweise von Ihrer Sitzung ab, dh die Datei in Ihrem Beispiel ist nicht unbedingt ausreichend, da sie Ihr WM / DE nicht startet. Normalerweise
~/.xsession
oder~/.xinitrc
starten Sie die gesamte Umgebung und werden nicht nur verwendet, um einige Programme automatisch zu starten, dh sie sollten eine Zeile wie enthalten,exec x-window-manager
sondern die globalexsession
kann nur die Datei quellen.Für deine andere Frage hat Debian (und wahrscheinlich Ubuntu)
/etc/X11/Xsession.d
was zum Beispiel lädt~/.Xresources
. Diese Dateien sind auch für das Laden und Auffinden des Standardfenstermanagers verantwortlich.Um Ihre Probleme zu
~/.xsession-errors
beheben, sollten Sie sich den xserver von einer Konsole aus ansehen oder starten und die Fehlermeldungen direkt dort sehen, d. Hstartx -- /etc/X11/Xsession
quelle
exec startxfce4
Zeile in meiner~/.xinitrc
habe (es ist seltsam, es muss etwas anderes passieren). Für den zweiten Teil scheint das, was Sie gesagt haben, der Fall zu sein. Das/etc/xdg/xfce4/xinitrc
Skript hat dazu geführt, dass die beiden Dateien gelesen wurden.