startx
chạy xinit
mà bắt đầu một máy chủ X và một phiên khách. Phiên khách là ~/.xinitrc
nếu có, và nếu không /etc/X11/xinit/xinitrc
(vị trí có thể khác nhau giữa các bản phân phối). Kịch bản này không thay đổi giữa các bản phân phối. Trên Debian (bao gồm các dẫn xuất như Raspbian), /etc/X11/xinit/xinitrc
chạy /etc/X11/Xsession
lần lượt chạy các tập lệnh trong /etc/X11/Xsession.d
. Các kịch bản Debian tìm kiếm một phiên người dùng trong các tập tin khác ( ~/.xsession
, ~/.xsessionrc
, ~/.Xsession
), và nếu không có thiết lập sử dụng được áp dụng, chạy x-session-manager
(té ngửa ra x-window-manager
nếu không có [Session Manager] được cài đặt, té ngửa ra x-terminal-emulator
trong trường hợp không chắc rằng không có quản lý cửa sổ là Cài đặt).
Nếu bạn muốn kiểm soát những gì được thực thi, bạn có thể tạo một trong các tệp người dùng, ~/.xsession
hoặc ~/.xinitrc
. Tệp ~/.xsession
cũng được sử dụng nếu bạn đăng nhập vào trình quản lý hiển thị (nghĩa là nếu bạn nhập mật khẩu của mình trong cửa sổ GUI). Các tập tin ~/.xinitrc
là cụ thể xinit
và startx
. Việc sử dụng ~/.xsession
đi qua /etc/X11/Xsession
để nó thiết lập những thứ như phương thức nhập liệu, tài nguyên, tác nhân mật khẩu, v.v. Nếu bạn sử dụng .xinitrc
, bạn sẽ phải thực hiện tất cả những việc này một cách thủ công. Một lần nữa, tôi đang mô tả Debian ở đây, các biến thể Unix khác có thể thiết lập mọi thứ khác đi. Việc sử dụng ~/.xinitrc
để chỉ định những gì được thực thi khi bạn chạy startx
hoặc xinit
là phổ quát.
Cho dù bạn sử dụng ~/.xinitrc
hay ~/.xsession
, tập tin này (thường là tập lệnh shell, nhưng nó không phải là nếu bạn thực sự muốn sử dụng một cái gì đó khác) phải chuẩn bị mọi thứ cần chuẩn bị (ví dụ: cài đặt bàn phím, tài nguyên, applet chưa bắt đầu bởi trình quản lý cửa sổ, v.v.), và cuối cùng, chạy chương trình quản lý phiên. Khi kịch bản kết thúc, phiên kết thúc. Thông thường, bạn sẽ sử dụng exec
ở cuối tập lệnh, để thay thế tập lệnh bởi trình quản lý phiên hoặc trình quản lý cửa sổ.
Hệ thống của bạn có lẽ có /usr/bin/startlxde
trình quản lý phiên mặc định trên toàn hệ thống. Trên Debian và các dẫn xuất, bạn có thể kiểm tra các trình quản lý phiên có sẵn với
update-alternatives --list x-session-manager
hoặc có được một mô tả dài dòng hơn cho biết cái nào hiện tại với
update-alternatives --display x-session-manager
Nếu LXDE không phải là mặc định toàn hệ thống và bạn muốn đặt nó làm mặc định cho tài khoản của mình, bạn có thể sử dụng ~/.xsession
tệp sau :
#!/bin/sh
exec startlxde
Trên một số biến thể Unix, điều đó sẽ chỉ chạy cho đăng nhập đồ họa, không phải cho startx
, vì vậy bạn cũng cần tạo một bản sao giống hệt ~/.xinitrc
. (Hoặc không giống nhau: trong ~/.xsession
, bạn có thể muốn làm những việc khác, vì đó là tệp đầu tiên được thực thi trong phiên đồ họa; ví dụ: bạn có thể đặt . ~/.profile
gần đầu, để đặt một số biến môi trường.)
Nếu bạn muốn thử các môi trường khác một lần, bạn có thể chỉ định một chương trình khác để chạy trên dòng lệnh của startx
chính nó. Các startx
chương trình có một điều không minh bạch: bạn cần phải sử dụng toàn bộ đường dẫn đến chương trình.
startx /usr/bin/startkde
Các startx
lệnh cũng cho phép bạn chỉ định đối số để truyền đến máy chủ. Ví dụ: nếu bạn muốn chạy nhiều phiên GUI cùng một lúc, bạn có thể chuyển một số hiển thị khác nhau mỗi lần. Vượt qua các đối số máy chủ sau khi --
trên dòng lệnh của startx
.
startx /usr/bin/startkde -- :1
startx
bắt đầu phiên Xfce4 mặc định. Từ người dùng của vợ tôi đăng nhập vào tty1 hoặc tty2.startx
Lệnh của cô được đặt để chạy Cinnamon (được chỉ định trong~/.xsession
). Đối với máy chủ X thứ hai, tôi không phải chỉ định$DISPLAY
như đã lưu ý trong phần cuối của câu trả lời của bạn. Mặc dù điều đó chắc chắn làm việc. Nó tự động làm cho nó thứ hai,$DISPLAY
vv Thiết lập là tuyệt vời mặc dù. Không có đăng nhập và ra khỏi một phiên đồ họa, chỉ có một phím tắt để chuyển đổi hồ sơ người dùng. Cảm ơn câu trả lời hữu ích này!