Jawaban:
~/.xinitrc
dieksekusi oleh xinit
, yang biasanya dipanggil via startx
. Program ini dijalankan setelah masuk: pertama Anda masuk pada konsol teks, kemudian Anda memulai GUI dengan startx
. Peran .xinitrc
adalah untuk memulai bagian GUI sesi, biasanya dengan menetapkan beberapa pengaturan terkait GUI seperti binding kunci (dengan xmodmap
atau xkbcomp
), sumber daya X (dengan xrdb
), dll., Dan untuk meluncurkan manajer sesi atau manajer jendela ( mungkin sebagai bagian dari lingkungan desktop).
~/.xsession
dijalankan ketika Anda masuk dalam mode grafis (pada manajer tampilan ) dan manajer tampilan memanggil tipe sesi "kustom". (Dengan pengelola tampilan historis xdm, .xsession
selalu dijalankan, tetapi dengan pengelola tampilan modern yang memberi pengguna pilihan jenis sesi, Anda biasanya perlu memilih "kebiasaan" untuk .xsession
dijalankan.) Perannya adalah untuk mengatur parameter waktu masuk (seperti variabel lingkungan) dan untuk memulai sesi GUI. Tipikal .xsession
adalah
#!/bin/sh
. ~/.profile
. ~/.xinitrc
~/.xsessionrc
dieksekusi pada Debian (dan turunannya seperti Ubuntu, Linux Mint, dll.) oleh skrip startup X pada login GUI, untuk semua jenis sesi dan (saya pikir) dari semua manajer tampilan. Itu juga dieksekusi dari startx
jika pengguna tidak memiliki .xinitrc
, karena dalam kasus itu startx
jatuh kembali pada skrip startup sesi yang sama yang digunakan untuk login GUI. Ini dijalankan relatif awal, setelah memuat sumber daya tetapi sebelum memulai program apa pun seperti agen kunci, daemon D-Bus, dll. Biasanya menetapkan variabel yang dapat digunakan oleh skrip startup yang lebih baru. Itu tidak memiliki dokumentasi resmi yang saya tahu, Anda harus menggali sumber untuk melihat apa yang berhasil.
.xinitrc
dan .xsession
merupakan fitur historis dari sistem X11 Window sehingga mereka harus tersedia dan memiliki perilaku yang sama pada semua sistem Unix. Di sisi lain, .xsessionrc
adalah fitur dan distribusi Debian yang tidak didasarkan pada Debian tidak memilikinya kecuali mereka telah menerapkan sesuatu yang serupa.
.xprofile
sangat mirip dengan .xsessionrc
, tetapi itu adalah bagian dari skrip startup sesi GDM (manajer tampilan GNOME), jadi itu hanya dibaca jika Anda masuk dengan GDM.
Menurut diskusi lain, startx + ~ / .xsession dan no ~ / .xinitrc, menghasilkan fungsionalitas yang berkurang (xfce4, sid)
Pertama:
.xsessionrc
adalah untuk memegang variabel lingkungan global . Penekanannya adalah milikku.Kedua:
40x11-common_xsessionrc
in/etc/X11/Xsession.d
bersumber sebelumnya50x11-common_determine-startup
. Begitu.xsessionrc
juga dibaca sebelum.xsession
dan setiap variabel lingkungan yang ditetapkan akan tersedia untuk aplikasi yang dijalankan oleh perintah di.xsession
.
Bacaan lebih lanjut: