.xsession. .xinitrc, xmonad, dan lightdm

16

Izinkan saya mengawali pertanyaan saya dengan yang berikut ini: Saya cukup yakin bahwa saya dapat meretas solusi bersama dengan memodifikasi /usr/share/xsessions/somesessionfile.desktop dan membuatnya berjalan / etc / X11 / Xsession, dan membuatnya berfungsi seperti itu , tapi saya masih ingin membersihkan beberapa hal.

Setup: 12,04, instalasi yang sepenuhnya baru (mungkin 3 jam). Ingin menggunakan xmonad sebagai WM saya. Pengaturan dual-head.

Pertanyaan saya: Saya benar-benar, atau lebih tepatnya, bingung tentang program mana yang melakukan apa, mengenai X, persatuan, manajer login (atau apa pun namanya) dan manajer jendela. Saya menggunakan xmonad sebagai window manager saya, saya tahu ini banyak. Dan ketika saya masuk, atau mungkin bahkan lebih awal, saya ingin monitor ganda saya diatur dengan benar menggunakan skrip yang menjalankan xrandr (yang sudah saya miliki berfungsi). Semua orang yang saya ajak bicara atau yang pertanyaannya saya baca berbicara online tentang xinitrc, ~ / .xsession atau / etc / X11 / xsession, tetapi tidak ada file yang sedang dijalankan. File-file di / usr / share / xsesssions tampaknya merupakan satu-satunya file yang sedang dijalankan, dan saya tidak dapat seumur hidup menemukan dokumentasi tentang hal ini.

Di mana konsistensi dalam sistem ini? Apa, tepatnya, yang harus saya lakukan jika saya ingin melakukan ini dengan benar? Beberapa window manager tampaknya melakukan ini (KDE dan gnome tampaknya memiliki sesuatu yang baru saja disebut 'autostart'). Apakah saya harus membiarkan manajer jendela saya menangani ini, X, atau lightdm? Saya mengerti mungkin ada lusinan file dalam proses startup yang bisa saya masukkan, tapi saya meminta konvensi yang tepat. Apa yang solusi, untuk sesuatu seperti ini?

TL; DR; Apakah ada satu, cara konsisten bagi saya untuk menjalankan skrip secara otomatis untuk setiap window manager yang berjalan di atas X, atau apakah ini sepenuhnya tergantung pada kombinasi window manager dan login manager yang saya gunakan?

foobarbaz
sumber

Jawaban:

11

Saya percaya Anda mungkin menemukan ini akan bekerja untuk Anda. Ini akan bersumber dari skrip / usr / sbin / lightdm-session yang nantinya akan mengeksekusi exec untuk window manager.

Dengan asumsi bahwa ini hanya untuk Anda, dan karena ini terkait dengan X, saya sarankan memasukkannya ke ~ / .xprofile. Jika itu akan berlaku untuk setiap pengguna sistem, / etc / xprofile mungkin lebih tepat.

Buat file ~ / .xprofile dan edit untuk mengandung sesuatu perintah xrandr Anda (mirip dengan item tes berikut):

xrandr --output LVDS --mode 1280x854

Anda dapat menemukan informasi lebih lanjut di Apa yang terjadi di bawah sampul untuk login saya dan memulai Unity atau Graphical User Interface lainnya? . Itu mencakup beberapa dari apa yang terjadi untuk manajer jendela non-persatuan.

John S Gruber
sumber
3

Terima kasih banyak atas tautan "Apa yang terjadi di balik sampul ...", harus dibaca!

~ / .xprofile terjadi terlalu dini, pengaturan xrandr hilang.

Salah satu solusinya adalah membuat skrip dan menjalankannya di "aplikasi saat startup". Padahal, karena nautilus sudah diluncurkan dan akan memutuskan untuk menampilkan ikon pada monitor sekunder (setelah perintah xrandr), saya menambahkan di akhir:

killall -1 nautilus
nautilus -n

Kotor tapi berhasil. Semoga ini membantu.

jissouille
sumber