startxmenjalankan xinityang memulai X server dan sesi klien. Sesi klien adalah ~/.xinitrcjika ada, dan sebaliknya /etc/X11/xinit/xinitrc(lokasi dapat bervariasi di antara distribusi). Apa yang dilakukan skrip ini bervariasi di antara distribusi. Di Debian (termasuk turunan seperti Raspbian), /etc/X11/xinit/xinitrcmenjalankan /etc/X11/Xsessionyang pada gilirannya menjalankan skrip di /etc/X11/Xsession.d. Script Debian mencari sesi pengguna di file lainnya ( ~/.xsession, ~/.xsessionrc, ~/.Xsession) dan, jika tidak ada pengaturan pengguna berlaku, berjalan x-session-manager(jatuh kembali ke x-window-managerjika tidak ada [sesi manager] diinstal, jatuh kembali ke x-terminal-emulatordalam kasus tidak mungkin bahwa tidak ada window manager adalah terpasang).
Jika Anda ingin mengontrol apa yang dijalankan, Anda dapat membuat salah satu file pengguna, baik ~/.xsessionatau ~/.xinitrc. File ~/.xsessionini juga digunakan jika Anda masuk pada manajer tampilan (yaitu jika Anda mengetikkan kata sandi di jendela GUI). File ~/.xinitrcini khusus untuk xinitdan startx. Menggunakan ~/.xsessionmelewati /etc/X11/Xsessionsehingga mengatur hal-hal seperti metode input, sumber daya, agen kata sandi, dll. Jika Anda menggunakan .xinitrc, Anda harus melakukan semua ini secara manual. Sekali lagi, saya menggambarkan Debian di sini, varian Unix lain mungkin mengatur segalanya dengan berbeda. Penggunaan ~/.xinitrcuntuk menentukan apa yang dieksekusi ketika Anda menjalankan startxatau xinitbersifat universal.
Apakah Anda menggunakan ~/.xinitrcatau ~/.xsession, file ini (biasanya skrip shell, tetapi tidak harus jika Anda benar-benar ingin menggunakan sesuatu yang lain) harus menyiapkan apa pun yang perlu dipersiapkan (mis. Pengaturan keyboard, sumber daya, applet yang belum dimulai) oleh manajer jendela, dll.), dan kemudian pada akhirnya jalankan program yang mengelola sesi. Ketika skrip berakhir, sesi berakhir. Biasanya, Anda akan menggunakan execdi akhir skrip, untuk mengganti skrip dengan manajer sesi atau manajer jendela.
Sistem Anda mungkin memiliki /usr/bin/startlxdesebagai manajer sesi default seluruh sistem. Pada Debian dan turunannya, Anda dapat memeriksa manajer sesi yang tersedia
update-alternatives --list x-session-manager
atau dapatkan deskripsi yang lebih jelas yang menunjukkan dengan yang sekarang
update-alternatives --display x-session-manager
Jika LXDE bukan default seluruh sistem dan Anda ingin menjadikannya default untuk akun Anda, Anda bisa menggunakan ~/.xsessionfile berikut :
#!/bin/sh
exec startlxde
Pada beberapa varian Unix, itu hanya akan berjalan untuk login grafis, bukan untuk startx, jadi Anda juga harus membuat yang identik ~/.xinitrc. (Atau tidak identik: di ~/.xsession, Anda mungkin ingin melakukan hal-hal lain, karena itu file pertama yang dieksekusi dalam sesi grafis; misalnya Anda mungkin meletakkan . ~/.profiledekat bagian atas, untuk mengatur beberapa variabel lingkungan.)
Jika Anda ingin mencoba lingkungan lain sebagai satu kali, Anda dapat menentukan program lain untuk dijalankan pada baris perintah startxitu sendiri. The startxProgram memiliki kekhasan: Anda perlu menggunakan path lengkap ke program.
startx /usr/bin/startkde
The startxPerintah juga memungkinkan Anda menentukan argumen untuk lolos ke server. Misalnya, jika Anda ingin menjalankan beberapa sesi GUI secara bersamaan, Anda dapat memberikan nomor tampilan yang berbeda setiap kali. Lewati argumen server setelah --pada baris perintah startx.
startx /usr/bin/startkde -- :1
startxsesi Xfce4 default dimulai. Dari login pengguna istri saya di tty1 atau tty2. Herstartxperintah diatur untuk menjalankan Cinnamon (ditentukan dalam~/.xsession). Untuk server X kedua saya tidak harus menentukan$DISPLAYseperti yang tercantum di bagian terakhir dari jawaban Anda. Meskipun itu tentu berhasil. Secara otomatis menjadikannya yang kedua$DISPLAYdll. Pengaturannya bagus. Tidak ada masuk dan keluar dari sesi grafis, hanya pintasan keyboard untuk beralih profil pengguna. Terima kasih atas jawaban yang bermanfaat ini!