Làm cách nào tôi có thể sử dụng LightDM cho các phiên do người dùng xác định?


22

Nếu tôi hiểu nó một cách chính xác, LightDM đã thay thế GDM theo mặc định. Tôi tự hỏi liệu có thể làm cho nó chạy những thứ tôi đặt trong tệp .xinitrc của mình không ... điều tôi cần là một tùy chọn bên dưới "Unity" và "Unity 2D" có nội dung "Chạy phiên do người dùng xác định".

Điều đó có thể không? Nên là điều dễ nhất, nhưng tôi đã không nhận được manh mối cho đến nay. Tôi xuất và định nghĩa và chạy rất nhiều thứ trong tệp này, vì vậy điều quan trọng đối với tôi là kiểm soát nó.

Điều tôi KHÔNG muốn là một phiên tùy chỉnh trong / usr / some / where, tôi chỉ muốn nó chạy nội dung từ mỗi người dùng xinitrc (hoặc tương tự).

Câu trả lời:


21

Tạo một tệp mới /usr/share/xsessions/custom.desktopvới:

[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession

Bây giờ bạn sẽ có tùy chọn phiên mới trong khi đăng nhập, Xsession sẽ tải người dùng ~/.xinitrc.


2
Ubuntu chỉ xem xét ~ / .xsession hoặc có thể ~ / .xsessionrc và ~ / .Xsession ngay bây giờ (12.04)
guigouz

Có ai cần phải khởi động lại X, hoặc đơn giản là đăng xuất, để điều này có hiệu lực?
tshepang

1

Để sử dụng olvwm:

1) Nhập sudo apt-get install olvwmvào bảng điều khiển

2) Tạo phiên này:

/usr/share/xsessions/olvwm.desktop
[Desktop Entry]
Name=Open Look
Exec=olvwm
Type=Application

1

Tạo một tệp mới /user/share/xsessions/default.desktop(Tên tùy thuộc vào bạn, nhưng nó phải có .desktophậu tố):

[Desktop Entry]
Name=Default
Comment=This runs user session and logs you into Ubuntu
Exec=default
Icon=

Bây giờ khi bạn chọn phiên này lightdmvà đăng nhập, ~/.xsessiontệp của bạn , nếu tồn tại, sẽ được thực thi.

Lưu ý rằng tệp của người dùng được thực thi là ~/.xsession, và không ~/.xinitrc, được đề cập trong câu hỏi. ( ~/.xinitrcđược sử dụng khi phiên X được bắt đầu bằng cách sử dụng startxtập lệnh từ một dòng lệnh.)

Một số giải thích: NameMục nhập là những gì lightdmsẽ hiển thị cho phiên này. Các Execentry là điều quan trọng, và nó nên là tên của chương trình bắt đầu phiên thực tế. Khi bạn đăng nhập, lightdmgọi /etc/X11/Xsessiontập lệnh, chuyển cho nó giá trị Execnhư một đối số và Xsessioncuối cùng sẽ thực hiện chương trình này (ví dụ: nó có thể startxfce4để bắt đầu một xfce4phiên). Nếu Execmục nhập là chuỗi đặc biệt default, thì Xsessionsẽ thực thi ~/.xsessiontệp của người dùng . ( Xsessioncũng sẽ thực thi ~/.xsessionnếu nó được gọi mà không có di tích.)

Xin lỗi, tôi mới ở đây và do đó không thể nhận xét về câu trả lời của người khác, nhưng tôi muốn nhận xét về câu trả lời được chấp nhận, để làm cho mọi thứ rõ ràng hơn. Theo giải thích của tôi ở trên, điều gì sẽ xảy ra với phương thức của câu trả lời đó là Xsessionsẽ được gọi bằng lightdmmột đối số (đường dẫn đầy đủ) Xsession. Vì vậy, Xessionsẽ chạy và sau đó gọi chính nó, lần này không có đối số. Cái thứ hai Xsession, được gọi mà không có đối số, sẽ thực thi người dùng ~/.xsession. Vì vậy, cuối cùng, hành động mong muốn sẽ được thực hiện, nhưng theo một cách hơi khó xử.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.