Untuk apa ".xsession"?

62

Apa tujuan .xsessionfile di folder home? Apa yang harus diletakkan di sana? Lingkungan desktop tidak menggunakan file itu dan untuk startup X dari tty ada .xinitrc.

Mirzhan Irkegulov
sumber

Jawaban:

58

Jika Anda masuk dalam mode teks kemudian memulai sesi GUI dengan xinit atau dengan skrip wrapper startx, maka xinitlakukan hal-hal berikut:

  • Mulai server X (biasanya melalui skrip /etc/X11/xinit/xserverrc).
  • Biasanya menjalankan beberapa skrip di /etc/X11(biasanya /etc/X11/xinit/xinitrc), tergantung pada bagaimana pengaturannya.
  • Jalankan ~/.xinitrc, jika ada. Jika tidak ada, jalankan klien default (tradisional xterm).
  • Setelah ~/.xinitrcberakhir, bunuh server X.

Jika Anda masuk dalam mode grafis pada manajer tampilan X (xdm, gdm, kdm, wdm, lightdm, ...), secara tradisional, apa yang dijalankan setelah Anda masuk adalah beberapa skrip pada /etc/X11saat itu ~/.xsession.

~/.xsessionmemiliki peran ~/.profiledan ~/.xinitrcgabungan: itu seharusnya melakukan startup awal sesi Anda (misalnya, menentukan variabel lingkungan), kemudian meluncurkan program khusus untuk GUI (biasanya setidaknya manajer jendela).

Saat ini, sebagian besar manajer tampilan X memberi Anda pilihan sesi. Memilih sesi tertentu meluncurkan lingkungan desktop tertentu, manajer sesi, manajer jendela. Yang dieksekusi kemudian hanyalah DE / SM / WM dan program apa pun yang dipilihnya untuk mulai berdasarkan file konfigurasi apa pun yang dipilihnya untuk dibaca. Banyak lingkungan menyediakan "sesi khusus" yang bertuliskan tradisional ~/.xsession.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
3
Saya tidak tahu apa ini "banyak lingkungan", tetapi setidaknya diam-diam kdm mengabaikan file «~ / .xsession».
Hi-Angel
1
@ Hai-Malaikat .xsessionFile ini hanya dibaca jika Anda memilih jenis sesi tertentu. Saya tahu bahwa untuk Gdm, pengembang hulu tidak ingin menyertakan satu yang berjalan .xsessionsecara default, dan menyerahkannya ke setiap distribusi, dan banyak distribusi tidak mengganggu atau tidak menyadari kebutuhan. Saya tidak tahu bagaimana situasi kdm.
Gilles 'SANGAT berhenti menjadi jahat'
Nah, Anda tahu, saya menemukan di man kdm bahwa kdm memiliki file sendiri /etc/kde4/kdm/Xsessionuntuk dijalankan sebagai pengguna setelah login. Mereka bohong - file (yang hadir btw) tidak pernah disentuh oleh kdm, saya bahkan menghapusnya sama sekali, dan itu tidak mengubah apa pun.
Hi-Angel
1
@ Hai-Angel Yang dimaksud Gilles adalah bahwa pada layar login grafis Anda, Anda akan sering memiliki menu dropdown yang mencantumkan berbagai lingkungan. Jika Anda memilih "KDE," itu akan mulai dan itu akan diabaikan .xsession, seperti yang Anda jelaskan. Tetapi jika, alih-alih "KDE," Anda memilih "Sesi kustom," .xsessionakan dijalankan sebagai ganti KDE. Saya menggunakan ini, misalnya, karena saya menjalankan just xfce4-paneland FVWM 2 sebagai "desktop" saya; jika KDE diinstal pada sistem yang kebetulan saya gunakan, itu akan sepenuhnya diabaikan.
Curt J. Sampson
15

Startup sesi X dapat menjadi rumit akhir-akhir ini. Tempat yang baik untuk memulai adalah skrip /etc/X11/Xsessionuntuk melihat bagaimana segala sesuatu akan dieksekusi.

Pada sistem Debian / Ubuntu saya, skrip /etc/X11/Xsessionmengatur variabel USERXSESSION=$HOME/.xsession. Kemudian, skrip /etc/X11/Xsession.d/50x11-common_determine-startupmencari skrip ini dan menggunakannya sebagai sesi utama, jika diizinkan oleh kebijakan sistem di /etc/X11/Xsession.options, dan jika tidak ada sesi lain yang diminta oleh manajer tampilan.

Jim Paris
sumber
8

Saya sangat menyarankan Anda untuk melihat buku panduan administrator sistem X Window: untuk X versi 11 . Bab 2 menjelaskan tujuan .xsessiondan seluruh proses konfigurasi untuk pengaturan sampel. Juga merupakan penyegaran yang bagus untuk seluruh terminologi terkait x-window (dan saya harap Anda tidak takut :)). Anda bisa mendapatkan buku itu dari

http://archive.org/details/xwindowsystemadm08muimiss

Meskipun agak ketinggalan jaman, Anda dapat menemukan banyak informasi tentang konsep-konsep mendasar yang tidak berubah hingga hari ini dan sangat terbaca. Apalagi itu benar-benar lucu untuk melihat apa yang kedudukan tertinggi pada masa itu.

pengguna1146332
sumber
7

.xsession adalah skrip awal tradisional untuk lingkungan X11. Saat ini dengan manajer sesi seperti kdm tidak lagi banyak digunakan, tetapi pada sistem pengaturan tradisional. Inilah yang dijalankan setelah memulai X11 dengan startx.

Nikodemus RIP
sumber