Mở khóa màn hình đăng nhập bằng dòng lệnh


30

Có thể mở khóa màn hình đăng nhập vỏ Gnome 13.04 từ một dòng lệnh không? Một người dùng đã đăng nhập vào Gnome shell, tôi có thể đăng nhập vào bảng điều khiển với tư cách là người dùng này. Tôi cũng có quyền truy cập root.

Điều này là để truy cập vào màn hình X11 đang hoạt động thông qua VNC mà không cần phải nhập mật khẩu.

Thi công

gnome-screensaver-command -d

như đề xuất trong một bài đăng trên blog đã không giúp đỡ.

màn hình đăng nhập


Là ssh ném cho bạn bất kỳ đầu ra hoặc lỗi?
Braiam

@Braiam: Tôi có thể ssh, đó không phải là vấn đề. Đó là để truy cập vào màn hình X11 đang hoạt động thông qua VNC, nhưng không cần phải nhập mật khẩu.
krlmlr

Câu trả lời:


33

Tôi giả sử bạn có một hệ thống linux gần đây với systemd(ví dụ: Ubuntu 16.04 trở lên).

Nếu bạn cần mở khóa phiên của riêng mình , chỉ cần chạy loginctl unlock-session(không cần root vì đó là phiên của riêng bạn). Nếu bạn có nhiều phiên và muốn chọn chỉ một phiên, hãy chạy loginctl list-sessionsđể xác định phiên và sau đó chạy, vd loginctl unlock-session c187.

Nếu bạn cần mở khóa tất cả các phiên , chỉ cần chạy sudo loginctl unlock-sessions. Lưu ý rằng điều này sẽ ngay lập tức mở khóa TẤT CẢ các phiên cho dù người dùng nào đang chạy trình bảo vệ màn hình.


Nếu bạn cần thêm thông tin để xác định phiên chính xác, bạn có thể thử một cái gì đó như thế này:

loginctl list-sessions --no-legend | while read id rest; do echo; loginctl show-session $id; done

3
Đây là câu trả lời duy nhất hoạt động vào ngày 16.04
lemonsqueeze

Không cần sudo rõ ràng
lemonsqueeze

1
Bạn cần sudonếu bạn muốn mở khóa trình bảo vệ màn hình của TẤT CẢ các phiên (bao gồm cả các phiên không chạy với id người dùng của bạn).
Mikko Rantalainen

Cũng lưu ý cuối cùng strong unlock-sessions. Nếu bạn chỉ muốn mở khóa phiên của riêng bạn, chỉ cần làm loginctl unlock-session.
Mikko Rantalainen

2
Nó nên là câu trả lời được chấp nhận!
Brice

16

Vấn đề với việc thực thi các lệnh như gnome-screensaver-commandtừ phiên SSH thường là chúng không tự động kết nối với bus phiên thích hợp cho phiên máy tính để bàn đang hoạt động - thông thường, việc đặt biến HIỂN THỊ sẽ khắc phục điều đó, ví dụ như các công việc này đối với tôi (đăng nhập qua SSH là cùng một người dùng sở hữu phiên X bị khóa, trên HIỂN THỊ: 0):

$ DISPLAY=:0 gnome-screensaver-command -d

để mở khóa, và

$ DISPLAY=:0 gnome-screensaver-command -l

khóa.

Ngoài ra, bạn có thể chuyển trạng thái hoạt động bằng cách sử dụng dbus-send- ví dụ:

$ export DISPLAY=:0
$ dbus-send --session \
          --dest=org.gnome.ScreenSaver \
          --type=method_call \
          --print-reply \
          --reply-timeout=20000 \
          /org/gnome/ScreenSaver \
          org.gnome.ScreenSaver.SetActive \
          boolean:false

Nguồn: https://people.gnome.org/~mccann/gnome-sc Greensaver / docs /gnome-sc Greensaver.html #gs-examples


1
Thật không may, cả hai phương pháp này đều không mở khóa được khóa màn hình cụ thể được cài đặt trên hệ thống của tôi (xem ảnh chụp màn hình). Làm thế nào tôi có thể tìm thấy quá trình chịu trách nhiệm cho việc khóa màn hình nào?
krlmlr

1
Các lệnh trả về một lỗi? Nếu vậy xin vui lòng gửi nó. Để xem nếu một trình bảo vệ màn hình khác đang chạy, bạn có thể thử ps -fu <username> | grep saver- có thể nó xscreensaverđang được sử dụng thay vì gnome-screensaver, trong trường hợp đó bạn có thể thử DISPLAY=:0 xscreensaver-command -deactivate.
Steeldo

1
Tôi đã thử câu trả lời này trên Ubuntu 14.04. Nó không hoạt động. Nó bỏ màn hình, nhưng màn hình vẫn bị khóa.
kasperd

5

Sau đây làm việc cho tôi:

sudo killall gnome-screensaver

Đặc biệt hữu ích khi bạn đăng nhập qua SSH với người dùng khác.


Xác nhận, tôi gặp vấn đề này khi bàn phím không gõ trên màn hình mở khóa, nhưng đã có thể chuyển sang thiết bị đầu cuối bằng cách sử dụng CTRL + ALT + F3 và trình diệt màn hình này đã giúp. Sau đó, tôi mới chuyển CTRL + ALT + F2 trở lại phiên đã bị khóa :)
jave.web

Điều này hoạt động khi X2Go đang hiển thị màn hình khóa và không phản hồi :)
endolith

1

Tôi gặp vấn đề với khóa màn hình của gnome 3 (trình bảo vệ màn hình) bị kẹt ở màn hình trống. Tôi quản lý để làm việc xung quanh nó bằng cách thay thế trình quản lý cửa sổ gnome-shell.

Ctrl + Alt + F1 và đăng nhập vào bảng điều khiển ảo, sau đó:

pkill -QUIT gnome-shell
DISPLAY=:0.0 gnome-shell -r &

(Tạo &nền cho gnome-shell mới để bạn có thể đăng xuất khỏi bảng điều khiển ảo và giữ cho nó chạy. Hoặc sử dụng Ctrl + Z để tạm dừng quá trình shell của gnome và bgđể làm nền cho nó.)

Nó có thể không thanh lịch, nhưng cuối cùng nó cũng cho phép tôi quay lại các ứng dụng máy tính để bàn của mình mà không cần gnome buộc tôi phải đăng xuất.


Cảm ơn, tôi sẽ thử và xem khởi động lại có hiệu gnome-shellquả với tôi không.
krlmlr

1

Tôi gặp vấn đề tương tự khi đôi khi màn hình mở khóa không chấp nhận nhập bàn phím. Cách cuối cùng tôi đã giải quyết nó là giết một số gnome-screensaver tiến trình đang chạy, cũng như một gnome-screensaver-dialogtiến trình. Tôi đoán rằng bất cứ quy trình nào sinh ra 2 phiên gnome-screenaver đều làm rối màn hình mở khóa của tôi. Tôi thực sự được cho là đang sử dụng xscreenaver thay vào đó, vì vậy có lẽ điều đó đã gây rối với nó.

Dù sao, Ctrl+Alt+F1hãy tìm các quy trình bảo vệ màn hình đang chạy ps -aux | grep screenvà tiêu diệt tất cả. Các lệnh gnome và xscreenaver được liệt kê trong các câu trả lời khác không phù hợp với tôi.

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.