~ / .xinitrc tidak dijalankan

14

Saya tidak dapat menjalankan skrip ~/.xinitrc( ~/.xsession) saya ketika masuk ke komputer saya. Saya menggunakan Xubuntu 12.10 dengan vanilla lightgm sebagai manajer login. Kedua file ini memiliki izin yang tepat (dapat dieksekusi). Saya miliki di saya ~/.xinitrc, berikut ini:

#!/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

Perintah lain (seperti date >> "$HOME/did_start") tidak juga dieksekusi.

Sekarang tampaknya, bahkan jika saya menghapus file saya ~/.xinitrcdan ~/.xsession, xmodmaptampaknya sedang membaca ~/.Xmodmap, dan ~/.Xresourcesjuga sedang membaca sebagian. Saya check in /etc/X11/Xsessionuntuk melihat apakah ada perintah yang membuatnya membaca dua file ini, dan tidak menemukannya. Apa yang mungkin terjadi?

EDIT: Karena Gilles bertanya, saya menggunakan sesi khusus saat masuk melalui lightdm ( /usr/share/xsessions/custom.desktop):

[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession

Tapi ternyata ini masih memulai XFCE melalui startxfce4meskipun saya tidak memilikinya di saya ~/.xinitrc.

Dan seperti yang ditunjukkan Ulrich Dangel, ada garis di /usr/xdg/xfce4/xinitrcmana membaca ~/.Xmodmapdan ~/.Xresources, dan skrip ini dijalankan oleh startxfce4. Sehingga "misteri" itu sekarang terselesaikan. Tetapi sekali lagi, warna (untuk xterm, urxvtdll.) Dari ~/.xinitrcmasih belum dimuat.

metwarp
sumber
Bagaimana proses Anda masuk? Sesi apa yang tersedia (jika ada)?
tijagi
Jenis sesi apa yang Anda pilih di lightdm?
Gilles 'SANGAT berhenti menjadi jahat'
@Gilles Saya menggunakan sesi khusus. Saya telah memperbarui pertanyaan saya dengan informasi lebih lanjut tentang itu.
metwarp

Jawaban:

6

Untuk pertanyaan pertama Anda, biasanya tergantung pada sesi Anda, yaitu file dalam contoh Anda belum tentu cukup karena tidak memulai WM / DE Anda. Biasanya ~/.xsessionatau ~/.xinitrcmulai seluruh lingkungan dan tidak hanya digunakan untuk secara otomatis meluncurkan beberapa program, yaitu mereka harus berisi garis seperti exec x-window-managertetapi global xsessionmungkin hanya sumber file.

Untuk pertanyaan Anda yang lain, Debian (dan mungkin Ubuntu) memiliki /etc/X11/Xsession.dyang misalnya memuat ~/.Xresources. File-file ini juga bertanggung jawab untuk memuat dan menemukan window manager default.

Untuk men-debug masalah Anda, Anda harus melihat ~/.xsession-errorsatau memulai xserver dari konsol dan melihat pesan kesalahan langsung di sana, yaitustartx -- /etc/X11/Xsession

Ulrich Dangel
sumber
Untuk bagian pertama, meskipun saya tidak memiliki exec startxfce4baris di dalam ~/.xinitrc, XFCE dimulai (ini aneh, sesuatu yang lain pasti terjadi). Untuk bagian kedua, ya, apa yang Anda katakan tampaknya menjadi masalahnya. The /etc/xdg/xfce4/xinitrcScript menyebabkan dua file untuk dibaca.
metwarp
@metwarp ok memperbarui komentar
Ulrich Dangel