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!Tidak:
startx
dapat dikonfigurasi. Menurut halaman manual :startx
bukan satu-satunya cara untuk memulai X (seperti yang Anda lihat daristartlxde
). Thestartx
halaman pengguna membantu lagi:Di sisi lain, jika Anda ingin memilih GUI (LXDE, KDE, dll), maka
xdm
dan mirip sepertikdm
,gdm
atauLightDM
digunakan untuk memilih jenis desktop yang berbeda. Pada Debian saya biasanya menggunakankdm
, karena itu memungkinkan berbagai jenis desktop. Para pembuat paketgdm
melarang sebagian besar tipe desktop, membuatnya tidak cocok untuk kebutuhan saya.xdm
menggunakan serangkaian skrip yang berbeda untuk memulai, mis.~/.xsession
skrip Anda bersama dengan skrip sistem. Yang mirip mungkin mengabaikan ini, dan menggunakan skrip mereka sendiri. Tetapi ini adalah titik awal.sumber
.xinitrc
adalah skrip, yang membuatnya dapat dikonfigurasi. Itu bisa menjalankan LXDE secara langsung jika diberi kode untuk melakukan ini.startlxde
bukan antarmuka untuk xinit, ini adalah peluncur untuk manajer sesi LXDE. Ini bukan pengganti untukstartx
, itu adalah sesuatu yang dapat Anda jalankan~/.xinitrc
.