Bagaimana saya bisa menggunakan LightDM untuk sesi yang ditentukan pengguna?

22

Jika saya menguraikannya dengan benar, LightDM telah mengganti GDM per default. Saya bertanya-tanya apakah mungkin menjalankannya dengan hal-hal yang saya masukkan dalam file .xinitrc saya ... apa yang saya butuhkan adalah opsi di bawah "Unity" dan "Unity 2D" yang mengatakan "Jalankan sesi yang ditentukan pengguna".

Apakah itu mungkin? Seharusnya hal yang paling mudah, tapi saya tidak mendapatkan petunjuk sejauh ini. Saya mengekspor dan mendefinisikan dan menjalankan banyak hal dalam file ini, jadi cukup penting bagi saya untuk memiliki kontrol atas itu.

Apa yang saya TIDAK inginkan adalah sesi khusus di / usr / some / where, saya hanya ingin menjalankan hal-hal dari masing-masing pengguna xinitrc (atau serupa).

Philipp
sumber

Jawaban:

21

Buat file baru /usr/share/xsessions/custom.desktopdengan:

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

Anda sekarang harus memiliki opsi sesi baru selama login, Xsession akan memuat pengguna ~/.xinitrc.

João Pinto
sumber
2
Ubuntu hanya mempertimbangkan ~ / .xsession atau mungkin ~ / .xsessionrc dan ~ / .Xsession sekarang (12.04)
guigouz
Apakah seseorang perlu me-restart X, atau hanya logout, agar ini berlaku?
tshepang
1

Untuk menggunakan olvwm:

1) Ketik sudo apt-get install olvwmkonsol

2) Buat sesi ini:

/usr/share/xsessions/olvwm.desktop
[Desktop Entry]
Name=Open Look
Exec=olvwm
Type=Application
Malix
sumber
1

Buat file baru /user/share/xsessions/default.desktop(Nama terserah Anda, tetapi harus memiliki .desktopakhiran):

[Desktop Entry]
Name=Default
Comment=This runs user session and logs you into Ubuntu
Exec=default
Icon=

Sekarang ketika Anda memilih sesi ini lightdmdan masuk, ~/.xsessionfile Anda , jika ada, akan dieksekusi.

Perhatikan bahwa file pengguna yang dieksekusi adalah ~/.xsession, dan bukan ~/.xinitrc, yang disebutkan dalam pertanyaan. ( ~/.xinitrcdigunakan ketika sesi X mulai menggunakan startxskrip dari baris perintah.)

Beberapa penjelasan: NameEntri itulah yang lightdmakan ditampilkan untuk sesi ini. The Execmasuk adalah hal yang penting, dan itu harus merupakan nama dari program yang dimulai sesi yang sebenarnya. Saat Anda masuk, lightdmpanggil /etc/X11/Xsessionskrip, berikan nilai Execsebagai argumen, dan Xsessionpada akhirnya akan menjalankan program ini (misalnya, bisa startxfce4untuk memulai xfce4sesi). Jika Execentri adalah string khusus default, maka Xsessionakan menjalankan file pengguna ~/.xsession. ( Xsessionjuga akan mengeksekusi ~/.xsessionjika 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 Xsessionakan dipanggil lightdmdengan argumen yang (jalur penuh) Xsession. Jadi Xessionakan 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.

amitr
sumber