Chỉ yêu cầu mật khẩu khi thức dậy sau khi bị đình chỉ khi bị đình chỉ trong 10 phút


11

Tôi thường muốn máy tính xách tay của mình bị khóa khi bị treo nhưng không phải khi tôi bị treo vì có một trường hợp sử dụng nhập mật khẩu của tôi sau khi máy tính xách tay của tôi thức dậy sau khi bị đình chỉ là khá cồng kềnh. Một thỏa hiệp tốt là chỉ yêu cầu mật khẩu đăng nhập nếu máy tính xách tay bị đình chỉ hơn 10 phút trước. Làm thế nào để tôi làm điều này?

Tôi sử dụng Ubuntu 16.04 với Unity.


Giống như tính năng "Khóa sau x phút" của Android?
AreAGitForNotUsingGit

@AndroidDev Khá nhiều có.
UTF-8

Câu trả lời:


7

Tạo một tệp trong /lib/systemd/system-sleep/, có tên, ví dụ lightdm::

sudo touch /lib/systemd/system-sleep/lightdm

làm cho tập tin này thực thi:

sudo chmod +x /lib/systemd/system-sleep/lightdm

Mỗi khi bạn "tạm dừng" hoặc "tiếp tục" Ubuntu, tập lệnh này sẽ được chạy.

Mở nó bằng trình soạn thảo văn bản mong muốn của bạn, ví dụ : sudo nano /lib/systemd/system-sleep/lightdm, và dán các dòng này vào nó và sau đó lưu nó:

#!/bin/sh
set -e

case "$1" in
   pre)

    #Store current timestamp (while suspending)
    /bin/echo "$(date +%s)" > /tmp/_suspend 
    ;;

   post)
      #Compute old and current timestamp
      oldts="$(cat /tmp/_suspend)"
      ts="$(date +%s)"

      #Prompt for password if suspended > 10 minutes
      if [ $((ts-oldts)) -ge 600 ];
       then
         export XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
         /usr/bin/dm-tool lock
      fi

      /bin/rm /tmp/_suspend
   ;;
esac

Những gì nó làm?

Khi bạn đặt Ubuntu ở chế độ "ngủ", tập lệnh này sẽ lưu các dấu thời gian hiện tại, sau đó trong khi tiếp tục hệ thống, nó sẽ kiểm tra các dấu thời gian cũ với chế độ hiện tại, nếu khác hơn là "600" giây (10 phút) thì nó sẽ hiển thị bạn "lightdm" màn hình khóa nếu không nó không làm gì cả.

Đối với bước cuối cùng:

mở "cài đặt hệ thống" -> "Độ sáng và khóa". Vô hiệu hóa yêu cầu mật khẩu sau khi thức dậy khỏi bị đình chỉ, vì chúng tôi để việc xử lý màn hình khóa theo kịch bản.

nhập mô tả hình ảnh ở đây

Sau khi khởi động lại hoặc tắt máy, bạn vẫn cần nhập mật khẩu của mình.


1
+1 rất đẹp. Tôi nên chỉ ra nhận xét #Remove password prompetnên đọc#Prompt for password if suspended > 10 minutes
WinEunuuchs2Unix

@ WinEunuuchs2Unix Cảm ơn bạn đã chỉ ra, lần đầu tiên tôi viết một cái gì đó khác sau đó tôi quên thay đổi nhận xét :-)
Ravexina

0

Thêm tập lệnh vào /lib/systemd/system-sleep/để mở khóa phiên của bạn nếu hệ thống bị tạm ngưng trong một thời gian ngắn:

cd /lib/systemd/system-sleep/
sudo touch     unlock_early_suspend
sudo chmod 755 unlock_early_suspend
sudo -H gedit     unlock_early_suspend

Với nội dung này:

#!/bin/bash
# Don't ask for password on resume if computer has been suspended for a short time

# Max duration of unlocked suspend (seconds)
SUSPEND_GRACE_TIME=600

file_time()      {  stat --format="%Y" "$1";  }

unlock_session()
{
    # Ubuntu 16.04
    sleep 1; loginctl unlock-sessions
}

# Only interested in suspend/resume events here. For hibernate etc tweak this
if [ "$2" != "suspend" ]; then  exit 0;  fi

# Suspend
if [ "$1" = "pre" ]; then  touch /tmp/last_suspend;  fi

# Resume
if [ "$1" = "post" ]; then
    touch /tmp/last_resume
    last_suspend=`file_time /tmp/last_suspend`
    last_resume=`file_time /tmp/last_resume`
    suspend_time=$[$last_resume - $last_suspend]

    if [ "$suspend_time" -le $SUSPEND_GRACE_TIME ]; then
        unlock_session
    fi
fi

1
Ban đầu tôi nghĩ cách của bạn (chủ động mở khóa) thanh lịch hơn câu trả lời khác (chủ động khóa). Nhưng sau đó tôi nhận thấy rằng bạn có một tài sản kỳ lạ: Nếu tôi chủ động khóa màn hình của mình, tôi muốn nó bị khóa cho đến khi mật khẩu được nhập. Tuy nhiên, tập lệnh của bạn sẽ mở khóa màn hình nếu máy tính bị treo trong một khoảng thời gian ngắn trong khi màn hình đã bị khóa. Đó là lý do tại sao tôi chấp nhận câu trả lời khác.
UTF-8

Quả thực đó sẽ là một vấn đề =)
lemonsqueeze

-2

Tôi có thể giúp bạn với điều này. Đầu tiên, vào phần cài đặt. Chọn cài đặt này:

Độ sáng_ & Khóa

Sẽ có một menu thả xuống cho biết Tắt màn hình.

Screen_Turns_ ngoại

Sau khi nhấp vào menu thả xuống, thay đổi cả hai cài đặt để chúng trông như thế này:

Màn hình khóa


Điều này không hoạt động. Tôi đặt thời gian là 30 giây để thử nghiệm. Như thế này , tôi đã phải nhập mật khẩu của mình ngay cả sau khi tạm dừng máy tính chỉ 5 giây. Như thế này , tôi đã vào ngay máy tính để bàn của mình ngay cả sau khi treo máy tính trong 3 phút.
UTF-8

Xin lỗi về điều đó, tôi quên một bước.
Cuộc sống của người Do Thái

Điều này không khiến máy tính ở trạng thái mở khóa trong một số phút được xác định trước sau khi tạm dừng được bắt đầu như OP đã chỉ định. Trong thực tế, nó khóa nó ngay lập tức khi bắt đầu đình chỉ.
b_laoshi
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.