Điểm:8

Làm cách nào tôi có thể trì hoãn (nhưng không tắt) khóa màn hình khi tạm dừng/đóng nắp?

lá cờ cn

Tôi muốn màn hình của mình tự động khóa khi tôi đóng nắp (hoặc nói cách khác là kích hoạt tạm dừng), nhưng chỉ khi tôi đóng nắp trong một khoảng thời gian nhất định, ví dụ: 5 phút. Tức là nếu tôi đóng nắp và sau đó 1 phút mở ra, tôi muốn màn hình không bị khóa, nhưng nếu tôi mở nắp 10 phút sau, nó sẽ bị khóa. Có cách nào để thiết lập tính năng này trong Ubuntu (Gnome) không?

Tôi thấy một số câu hỏi tương tự, nhưng không có câu hỏi nào mô tả những gì tôi đang tìm kiếm. Tôi vẫn muốn máy tính xách tay bị treo ngay lập tức khi đóng nắp, tôi chỉ không muốn nó bị khóa trừ khi nắp vẫn đóng trong một khoảng thời gian nhất định. (Lý tưởng nhất là nó sẽ tuân theo cùng một cài đặt "Độ trễ khóa màn hình tự động" được sử dụng khi mở nắp.)

Một cách mà tôi có thể tưởng tượng khi thực hiện điều này là chạy các tập lệnh khi tạm dừng và đánh thức. Tập lệnh tạm dừng sẽ chỉ ghi lại dấu thời gian cho việc tạm dừng và tập lệnh đánh thức sẽ kiểm tra xem dấu thời gian đó bao nhiêu tuổi và dựa trên đó quyết định nên khóa hay mở khóa màn hình. Tuy nhiên, tôi cho rằng tôi sẽ phải thiết lập các tập lệnh này để chạy với tư cách là người dùng của mình (tức là không phải root) và họ sẽ cần có khả năng truy cập vào phiên đăng nhập hiện tại của tôi (có lẽ thông qua một số biến môi trường?), vì vậy tôi sẽ không điều này là có thể thực hiện.

lá cờ vn
Bạn đã thử tắt hành vi mặc định và [thêm tập lệnh trên `/etc/acpi/`](https://askubuntu.com/a/670963/349837)?
lá cờ cn
@PabloBianchi Điều đó có thể hữu ích, nhưng tôi hiểu rằng tập lệnh này sẽ chạy với quyền root và sẽ không có bất kỳ biến môi trường nào kết nối nó với phiên đăng nhập của tôi, vì vậy tôi vẫn không chắc mình có thể sử dụng nó như thế nào để thực hiện hành vi Tôi đang tìm.
Điểm:1
lá cờ cn

Tôi đã tìm ra cách để làm điều này. Tôi đã viết một tập lệnh Python lắng nghe các tín hiệu DBus cho biết việc tạm dừng và khóa màn hình. Khi cả hai tín hiệu xảy ra trong một khoảng thời gian ngắn với nhau, tập lệnh giả định rằng đây là sự kiện tạm ngưng kích hoạt sự kiện khóa màn hình. Sau đó, nó đợi tín hiệu cho biết một bản lý lịch. Nếu thời gian đã trôi qua kể từ khi sự kiện tạm dừng chưa đến 5 phút, nó sẽ buộc trình bảo vệ màn hình mở khóa mà không yêu cầu mật khẩu. Ngoài ra, nó chỉ mở khóa màn hình nếu nắp đã được đóng khi tín hiệu tạm dừng được gửi đi (do đó có lẽ cho biết tình trạng tạm dừng được kích hoạt khi đóng nắp), do đó, việc tạm dừng thủ công khỏi menu sẽ không kích hoạt tập lệnh. Điều này đảm bảo rằng màn hình sẽ không mở khóa sau khi người dùng khóa thủ công.

Bạn có thể tìm thấy kịch bản ở đây: https://Gist.github.com/DarwinAwardWinner/77e8acea2f14ed9ea66d7222d7ace500

Tôi đã lưu tập lệnh trong ~/.local/bin/, làm cho nó có thể thực thi được và thiết lập tập lệnh để chạy trong nền khi tôi đăng nhập bằng chương trình cấu hình Ứng dụng khởi động, như được hiển thị ở đây:

Mục nhập ứng dụng khởi động cho shortleep-unlock.py

tôi cũng đã sử dụng chạy-một-liên tục từ chạy một gói để tự động khởi động lại tập lệnh nếu nó gặp sự cố vì bất kỳ lý do gì. Khi tập lệnh này đang chạy, tôi có được chính xác hành vi mà tôi muốn: nếu tôi đóng nắp và sau đó mở nó một phút sau, màn hình sẽ mở khóa mà tôi không cần phải nhập mật khẩu. Nhưng nếu tôi để nắp đóng quá 5 phút hoặc nếu tôi treo máy tính xách tay mà không đóng nắp, thì nó yêu cầu mật khẩu khi tôi mở nắp. Bạn có thể định cấu hình cả giới hạn thời gian và yêu cầu nắp bằng cách chỉnh sửa tập lệnh (xem xung quanh dòng 100).

Ở dạng hiện tại, tập lệnh chỉ hoạt động với trình bảo vệ màn hình Gnome. Tuy nhiên, sẽ không quá khó để thích ứng nó với KDE hoặc các chương trình khóa màn hình khác, miễn là chúng cung cấp các tín hiệu và phương pháp DBus thích hợp.

Lưu ý bảo mật quan trọng: Tôi đã cố gắng hết sức để xử lý tất cả các trường hợp khó khăn mà tôi có thể nghĩ ra, nhưng luôn có khả năng là tôi không lường trước được cách kích hoạt mở khóa nào đó ngay cả khi đã hết thời hạn. Do đó, không sử dụng tập lệnh này nếu bạn lo ngại về bảo mật, trừ khi bạn dành thời gian để tự mình kiểm tra tập lệnh.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.