startx
menjalankan xinit
yang memulai X server dan sesi klien. Sesi klien adalah ~/.xinitrc
jika 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/xinitrc
menjalankan /etc/X11/Xsession
yang 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-manager
jika tidak ada [sesi manager] diinstal, jatuh kembali ke x-terminal-emulator
dalam 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 ~/.xsession
atau ~/.xinitrc
. File ~/.xsession
ini juga digunakan jika Anda masuk pada manajer tampilan (yaitu jika Anda mengetikkan kata sandi di jendela GUI). File ~/.xinitrc
ini khusus untuk xinit
dan startx
. Menggunakan ~/.xsession
melewati /etc/X11/Xsession
sehingga 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 ~/.xinitrc
untuk menentukan apa yang dieksekusi ketika Anda menjalankan startx
atau xinit
bersifat universal.
Apakah Anda menggunakan ~/.xinitrc
atau ~/.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 exec
di akhir skrip, untuk mengganti skrip dengan manajer sesi atau manajer jendela.
Sistem Anda mungkin memiliki /usr/bin/startlxde
sebagai 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 ~/.xsession
file 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 . ~/.profile
dekat 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 startx
itu sendiri. The startx
Program memiliki kekhasan: Anda perlu menggunakan path lengkap ke program.
startx /usr/bin/startkde
The startx
Perintah 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
startx
sesi Xfce4 default dimulai. Dari login pengguna istri saya di tty1 atau tty2. Herstartx
perintah diatur untuk menjalankan Cinnamon (ditentukan dalam~/.xsession
). Untuk server X kedua saya tidak harus menentukan$DISPLAY
seperti yang tercantum di bagian terakhir dari jawaban Anda. Meskipun itu tentu berhasil. Secara otomatis menjadikannya yang kedua$DISPLAY
dll. Pengaturannya bagus. Tidak ada masuk dan keluar dari sesi grafis, hanya pintasan keyboard untuk beralih profil pengguna. Terima kasih atas jawaban yang bermanfaat ini!