lệnh đăng xuất trực tiếp LXDE


9

Để đăng xuất khỏi LXDE, tôi có thể nhấp vào menu "Bắt đầu", nhấp vào "Đăng xuất" và khi menu bật lên, nhấp vào "đăng xuất" lần nữa.

Hoặc tôi có thể nhập lxde-logoutvào thiết bị đầu cuối của mình và khi menu mở ra, nhấp vào "đăng xuất".

Cả hai lựa chọn đều quá cồng kềnh. Tôi cần một lệnh sẽ đăng xuất tôi ngay lập tức, không có menu hoặc không có các tùy chọn khác.

Điều này có thể không?

Tôi đang sử dụng LXDE trên Debian Wheezy


Trong Gnome, bạn có thể sử dụng dbusđể đăng xuất : dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1 2>&1 && return. Tôi chưa bao giờ sử dụng LXDE nhưng theo các trang này ( 1 , 2 ) các đối tượng / phương thức tương tự nên có sẵn. Vì vậy, bạn có thể thử một cái gì đó như : dbus-send --session --type=method_call --print-reply --reply-timeout=2000 --dest=org.lxde.SessionManager /org/lxde/SessionManager org.lxde.SessionManager.Logout uint32:1 2>&1 && return.
don_crissti

Nếu vẫn thất bại, hãy thử pkill lxsession.
don_crissti

Câu trả lời:


3

Tôi nghĩ bạn chỉ có thể chạy lệnh này để đăng xuất.

$ pkill -SIGTERM -f lxsession

Ngoài ra, nếu bạn lướt qua trang LXDE GitHub, có một phần ở cuối URL này: https://github.com/lxde/lxsession .

Trích

==== Đăng xuất ===

Đơn giản chỉ cần thực hiện lệnh này:

  lxsession-logout

Điều này sẽ cung cấp cho bạn một hộp thoại đăng xuất dễ nhìn. Nếu gdm được cài đặt, lxsession có thể thực hiện tắt / khởi động lại / tạm dừng qua gdm. (Các tùy chọn này không khả dụng nếu gdm không chạy.)

Nếu bạn muốn tùy chỉnh hộp đăng xuất này hơn nữa, hãy thử điều này:

  lxsession-logout --prompt "Your custom message" --banner "Your logo" \
    --side "left | top | right | bottom (The position of the logo)"

Chúng tôi tạo một kịch bản /usr/bin/lxde-logoutđể làm điều này:

  #!/bin/sh 

  /usr/bin/lxsession-logout --banner \
      "/usr/share/lxde/images/logout-banner.png" --side top

Bạn có thể đặt tập lệnh đăng xuất này trong menu của trình quản lý cửa sổ hoặc bảng điều khiển máy tính để bàn. Sau đó, bạn có thể đăng xuất bằng cách nhấp từ menu.

Người giới thiệu


1

Như đã chỉ ra ở trên, chỉ cần thực hiện lệnh

pkill -9 -f lxsession

Lưu ý rằng kiểm tra nguồn của lxsession-logout, bạn sẽ thấy không có đối số dòng lệnh nào bạn có thể vượt qua nó để bỏ qua menu. lxde-logutchỉ đơn giản là một kịch bản chạy lxsession-logout. Vì có vẻ như bạn muốn một cách rất nhanh để đăng xuất, nên pkilllệnh được liệt kê ở trên có thể yêu cầu nhập nhiều. May mắn thay, có hai điều bạn có thể làm để tăng tốc độ này và giảm thiểu các lần nhấn phím / bấm nút.

1) Tạo bí danh cho lệnh.

alias quitnow="pkill -9 -f lxsession"

Thay thế trong bất cứ từ nào bạn không sử dụng quitnow. Mặc dù vậy, hãy cẩn thận, bạn không muốn có một lỗi đánh máy ngay lập tức giúp bạn thoát khỏi phiên của bạn.

2) Chỉnh sửa /usr/bin/lxde-logouttập tin. Như đã chỉ ra ở trên, hiện tại nó chỉ chạy lxsession-logout. Nó cũng xảy ra là những gì được chạy khi bạn nhấp vào nút đăng xuất trên menu của bạn. Vì vậy, bạn có thể thay đổi nó để đọc

#!/bin/sh
pkill -9 -f lxsession

Mặc dù tôi sẽ để lại lxsession-logoutdòng như một bình luận để trong trường hợp bạn muốn khôi phục hành vi ban đầu của nó. Lưu ý rằng điều này dẫn đến khả năng đăng xuất khi nhấp chuột tình cờ.

3) Tạo một tập lệnh riêng biệt và thêm nó vào menu.

4) Tạo một ràng buộc chính bằng cách thêm các mục sau vào ~/.config/openbox/lxde-rc.xmltệp của bạn . Tôi sẽ đặt nó ngay trước </keyboard>thẻ.

<keybind key="C-q">
  <action name="Execute">
    <command>pkill -9 -f lxsession</command>
  </action>
</keybind>

Lưu ý rằng đây là một bản sao của tập tin /etc/xdg/openbox/rc.xml.

Tùy chọn 4 có lẽ là tốt nhất vì nó vẫn giữ được chức năng ban đầu và cho bạn khởi hành nhanh chóng. Chỉ cần chọn chìa khóa của bạn một cách khôn ngoan. :)


1
Ý tưởng hoàn toàn xấu để giết quá trình. Bạn không dừng động cơ xe trước khi dừng và đỗ, phải không?
ManuelSchneid3r

0

Cứ chạy đi lxsession. Nó sẽ đăng xuất và sẽ hiển thị màn hình đăng nhập cho một phiên mới.


0

Một số câu trả lời cho đến nay còn cồng kềnh hơn các phương pháp được OP đề cập, mà ông cho là quá cồng kềnh; những người khác không hoàn toàn làm những gì OP đang yêu cầu, đó là một sự tắt máy hoàn toàn. .

Wheezy vẫn sử dụng sysv-init, phải không? Nhận xét dưới bài viết ban đầu gần với những gì bạn đang tìm kiếm. Kiểm tra lệnh trong một thiết bị đầu cuối trước; một khi bạn chắc chắn rằng nó hoạt động theo cách bạn muốn, hãy thêm một liên kết phím cho nó trong ~ / .config / openbox / lxde-rc.xml của bạn. (Hãy chắc chắn rằng đó là một tổ hợp phím mà bạn sẽ không vô tình gõ, vì nó sẽ tắt máy tính của bạn ngay lập tức.) Câu trả lời từ R Schultz cho thấy cách tạo ra một phím bấm như vậy; chỉ cần thay thế dòng pkill bằng dbus-send one.

Nếu bạn đã di chuyển từ sysv-init sang systemd, bạn có thể sử dụng systemctl poweroffthay vì đường gửi dbus.

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.