~ / .xinitrc wird nicht ausgeführt

14

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 ~/.xinitrcund ~/.xsessionDateien lösche xmodmap, zu lesen ~/.Xmodmapund ~/.Xresourceswird 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/xinitrcder ~/.Xmodmapund 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, urxvtetc.) aus ~/.xinitrcnoch nicht geladen.

metwarp
quelle
Wie läuft Ihr Anmeldevorgang ab? Welche Sitzungen sind verfügbar (falls vorhanden)?
Tijagi
Welchen Sitzungstyp wählen Sie in LightDM?
Gilles 'SO- hör auf böse zu sein'
@ Gilles Ich benutze eine benutzerdefinierte Sitzung. Ich habe meine Frage mit weiteren Informationen dazu aktualisiert.
Metwarp

Antworten:

6

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 ~/.xsessionoder ~/.xinitrcstarten 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-managersondern die globale xsessionkann nur die Datei quellen.

Für deine andere Frage hat Debian (und wahrscheinlich Ubuntu) /etc/X11/Xsession.dwas zum Beispiel lädt ~/.Xresources. Diese Dateien sind auch für das Laden und Auffinden des Standardfenstermanagers verantwortlich.

Um Ihre Probleme zu ~/.xsession-errorsbeheben, sollten Sie sich den xserver von einer Konsole aus ansehen oder starten und die Fehlermeldungen direkt dort sehen, d. Hstartx -- /etc/X11/Xsession

Ulrich Dangel
quelle
Im ersten Teil startet XFCE , obwohl ich keine exec startxfce4Zeile in meiner ~/.xinitrchabe (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/xinitrcSkript hat dazu geführt, dass die beiden Dateien gelesen wurden.
Metwarp
@metwarp ok hat den Kommentar aktualisiert
Ulrich Dangel