Buat file baru /user/share/xsessions/default.desktop
(Nama terserah Anda, tetapi harus memiliki .desktop
akhiran):
[Desktop Entry]
Name=Default
Comment=This runs user session and logs you into Ubuntu
Exec=default
Icon=
Sekarang ketika Anda memilih sesi ini lightdm
dan masuk, ~/.xsession
file Anda , jika ada, akan dieksekusi.
Perhatikan bahwa file pengguna yang dieksekusi adalah ~/.xsession
, dan bukan ~/.xinitrc
, yang disebutkan dalam pertanyaan. ( ~/.xinitrc
digunakan ketika sesi X mulai menggunakan startx
skrip dari baris perintah.)
Beberapa penjelasan: Name
Entri itulah yang lightdm
akan ditampilkan untuk sesi ini. The Exec
masuk adalah hal yang penting, dan itu harus merupakan nama dari program yang dimulai sesi yang sebenarnya. Saat Anda masuk, lightdm
panggil /etc/X11/Xsession
skrip, berikan nilai Exec
sebagai argumen, dan Xsession
pada akhirnya akan menjalankan program ini (misalnya, bisa startxfce4
untuk memulai xfce4
sesi). Jika Exec
entri adalah string khusus default
, maka Xsession
akan menjalankan file pengguna ~/.xsession
. ( Xsession
juga akan mengeksekusi ~/.xsession
jika dipanggil tanpa arahan.)
Maaf, saya baru di sini dan karenanya tidak dapat mengomentari jawaban orang lain, tetapi saya ingin mengomentari jawaban yang diterima, untuk membuat semuanya lebih jelas. Seperti penjelasan saya di atas, apa yang akan terjadi dengan metode jawaban itu adalah yang Xsession
akan dipanggil lightdm
dengan argumen yang (jalur penuh) Xsession
. Jadi Xession
akan berjalan dan kemudian memanggil dirinya sendiri, kali ini tanpa argumen. Yang kedua Xsession
, dipanggil tanpa argumen, akan mengeksekusi pengguna ~/.xsession
. Jadi tindakan yang diinginkan pada akhirnya akan diambil, tetapi dengan sedikit canggung.