Score:2

มีวิธี "รีเซ็ต" เวลาว่างเมื่อถอดปลั๊กแล็ปท็อปหรือไม่?

ธง gy

ฉันตั้งค่าแล็ปท็อปของฉันไม่ให้หยุดทำงานชั่วคราวเมื่อเสียบปลั๊ก และตั้งค่าให้หยุดทำงานชั่วคราวเมื่อแบตเตอรี่หมด นี่คือวิธีที่ฉันต้องการเก็บไว้

ฉันสลับไปมาระหว่างการใช้แล็ปท็อปและเดสก์ท็อปเป็นประจำ ดังนั้นบางครั้งแล็ปท็อปของฉันจึงเสียบปลั๊กอยู่แต่ไม่ได้ใช้งานเป็นระยะเวลาหนึ่ง ถ้าฉันตั้งใจจะใช้แล็ปท็อปที่โต๊ะทำงานก็ไม่มีปัญหา แต่บางครั้งฉันก็อยากถอดปลั๊กแล็ปท็อปแล้วนำติดตัวไปทำงานที่อื่น อย่างไรก็ตาม หากไม่ได้ใช้งานนานพอ ฉันจะได้รับการแจ้งเตือนในลักษณะนี้:

การแจ้งเตือนระงับอัตโนมัติ

หรือหากใช้เวลานานพอ แล็ปท็อปจะเข้าสู่โหมด Suspend ก่อนที่ฉันจะตอบสนอง

ฉันกำลังหยิบแล็ปท็อปขึ้นมา ที่จะใช้มันและค่อนข้างจะไม่หยุดทำงานทันทีที่ถอดปลั๊ก มีการตั้งค่าใดที่ฉันสามารถเปลี่ยนเพื่อให้ตัวจับเวลาที่ไม่ใช้งานเริ่มทำงานใหม่เมื่อถอดปลั๊กแล็ปท็อป หากล้มเหลว มีวิธีแก้ไขปัญหานี้หรือไม่ เช่น สคริปต์บางตัวที่สามารถเรียกใช้โดยการจัดการพลังงานเมื่อถอดปลั๊ก ซึ่งจำลองกิจกรรมบางประเภทเพื่อรีเซ็ตตัวจับเวลา

แก้ไข 2021-09-17T18:21Z

ฉันได้แนบภาพหน้าจอของการตั้งค่าพลังงานปัจจุบันของฉัน นี่คือวิธีที่ฉันต้องการให้พวกเขาอยู่:

การตั้งค่าพลังงาน

ปัญหาคือถ้าแล็ปท็อปของฉันไม่ได้ใช้งาน ขณะเสียบปลั๊ก เป็นเวลา 29 นาที ผมก็ถอดปลั๊ก หยิบมันขึ้นมา เดินเข้าไปในห้องนั่งเล่น แล้วนั่งลง มันก็นอนทับผม เพราะคิดว่ามันไม่ได้ใช้งานมา 30 นาทีแล้วฉันต้องการให้ตีความการเชื่อมต่อ / ตัดการเชื่อมต่อพลังงาน DC เป็น "กิจกรรม" ในลักษณะที่มันจะหยุดชั่วคราวหากฉันไม่ได้สัมผัสแล็ปท็อปเป็นเวลา 30 นาที หลังจากถอดปลั๊กออก.

N0rbert avatar
zw flag
สิ่งนี้ตอบคำถามของคุณหรือไม่ [การระงับอัตโนมัติ - "คอมพิวเตอร์จะหยุดทำงานเร็วๆ นี้เนื่องจากไม่มีการใช้งาน" - ฉันจะปิดการทำงานนี้ได้อย่างไร](https://askubuntu.com/questions/1014965/automatic-suspend-computer-will-suspend-very-soon-for -of-inactivity-โฮ)
gy flag
ไม่ การระงับอัตโนมัติถูกปิดใช้งานแล้วเมื่อเสียบปลั๊ก (ซึ่งเป็นวิธีที่ฉันต้องการ) มันเปิดใช้งานเมื่อใช้พลังงานจากแบตเตอรี่ (เช่นเดียวกับที่ฉันต้องการ) ปัญหาคือ "เวลาที่ไม่ได้ใช้งาน" ในขณะที่เสียบปลั๊กจะถูกนับรวมในการหยุดอัตโนมัติ *เมื่อฉัน* ถอดปลั๊กออก
Jacob Vlijm avatar
by flag
ผู้มีสิทธิเลือกตั้ง: โปรดอ่านอย่างละเอียด การหลอกลวงที่เชื่อมโยงกันนั้นเกี่ยวกับปัญหาอื่น คำถามนี้เกี่ยวกับการปิดใช้งานการระงับเมื่อเปิดเครื่อง แต่เปิดใช้งานโดยเจตนาสำหรับแบตเตอรี่ ดังนั้นการระงับจึงกระโดดเข้ามาเมื่อถอดปลั๊ก *หลังจาก* เวลาผ่านไปสำหรับเวลาว่างสำหรับครั้งหลัง OP ***ไม่ต้องการยกเลิกการระงับแบตเตอรี่***
Jacob Vlijm avatar
by flag
หมอเจ windowmanager ของคุณคืออะไร (ถ้าไม่รู้ ก็ Ubuntu เวอร์ชั่น / DE)
gy flag
Ubuntu 18.04.5 LTS ที่ใช้ GNOME
WinEunuuchs2Unix avatar
in flag
เพียงใช้นิ้วแตะแทร็คแพดก่อนที่จะถอดปลั๊กและปิดฝา
gy flag
@ WinEunuuchs2Unix ซึ่งต้องการให้ฉันมีหน่วยความจำที่ไร้ที่ติ และอย่าลืมทำทุกครั้งที่ถอดปลั๊กแล็ปท็อป เหตุผลทั้งหมดที่ฉันโพสต์คำถามนี้เป็นเพราะฉันมักจะจำได้ในช่วงเวลาที่ฉันดึงปลั๊กและหน้าจอเป็นสีดำ
WinEunuuchs2Unix avatar
in flag
@DoktorJ ในกรณีนั้น วิธีที่ง่ายที่สุดคือการเรียกใช้สคริปต์ทุกครั้งที่ถอดปลั๊กแล็ปท็อป มันจะรีเซ็ต x ไม่ได้ใช้งาน: https://unix.stackexchange.com/questions/321917/executing-code-every-time-a-laptop-is-plugged-into-or-unplugged-from-power
Score:1
ธง by

รีเซ็ตเวลาที่ไม่ได้ใช้งานเมื่อถอดปลั๊กไฟ หรือรีเซ็ตเวลาที่ไม่ได้ใช้งาน ในขณะที่ คุณอยู่บน AC?

แม้ว่าคุณจะสามารถสร้างการดำเนินการเกี่ยวกับการถอดปลั๊ก (คุณทำได้) คำถามก็คือว่าคุณจะทันเวลาเพื่อป้องกันการระงับหรือไม่

เคล็ดลับที่น่าเชื่อถือกว่าคือการป้องกันไม่ให้เวลาว่างผ่านเกณฑ์เวลาว่าง เลยแต่ถ้าคุณใช้ AC

หากคุณอยู่บน X เราจะทำอย่างนั้นได้อย่างไร

เรียกใช้สคริปต์พื้นหลังที่มีลักษณะคล้ายดีมอนขนาดเล็กที่ - เฉพาะเมื่อคุณใช้ AC และ ไม่ได้ใช้งานนานกว่า (สมมุติว่า) หนึ่งนาที - จำลองการกดปุ่ม ควบคุม. นั่นเป็นกุญแจที่ไม่ทำอะไรเลยหากคุณไม่ได้ใช้งานแล็ปท็อปจริง ๆ แต่จะรีเซ็ตเวลาที่ไม่ได้ใช้งานเท่านั้น
จากนั้นหากคุณถอดปลั๊ก การกดปุ่มเสมือนจะถูกข้ามไป และแล็ปท็อปจะทำทุกอย่างที่คุณตั้งค่าให้ทำหลังจากเวลา x
ด้านล่างเป็นตัวอย่างของสคริปต์ดังกล่าว ในความคิดเห็น คุณบอกว่าคุณใช้ Ubuntu 18.04, Gnome ซึ่งหมายความว่าคุณใช้ Mutter (X) ดังนั้นคุณจึงใช้เครื่องมือในสคริปต์ด้านล่างได้

วิธีใช้?

  1. ตรวจสอบให้แน่ใจ xprintidle, xdotool และ แอคพิ มีการติดตั้ง: sudo apt ติดตั้ง xdotool acpi xprintidle
  2. คัดลอกสคริปต์ลงในไฟล์เปล่า
  3. ทดสอบรันจากเทอร์มินัล: python3 /path/to/script. หากทุกอย่างทำงานได้ดี ให้เพิ่มลงในคำสั่งเริ่มต้นของคุณ

สคริปต์

#!/usr/bin/env python3
นำเข้ากระบวนการย่อย
นำเข้า GI
gi.require_version("Gtk", "3.0")
จาก gi.repository นำเข้า GLib, Gtk

การทดสอบ def (arg):
    #มาดูกันว่าเวลาว่างปัจจุบันคืออะไร
    idletime = int(subprocess.check_output("xprintidle").decode("utf-8"))
    #และถ้าเราติด
    onpower = "ออนไลน์" ใน subprocess.check_output(
        ["acpi", "-a"]
    ).ถอดรหัส("utf-8")
    # หากไม่ได้ใช้งานนานกว่า 60 วินาทีและเปิดเครื่อง ให้แตะ Ctrl เพื่อรีเซ็ตสถานะไม่ได้ใช้งาน
    ถ้าทั้งหมด ([idletime/1000 > 60, onpower]):
        กระบวนการย่อย Popen (
            ["xdotool", "คีย์", "Ctrl"]
        )
    #โปรดดำเนินการต่อ
    กลับทรู

GLib.timeout_add_seconds(15, ทดสอบ, ไม่มี)

Gtk.main()
gy flag
This sounds like a good answer to my issue... haven't had a chance to try it yet, but if it works tomorrow I'll be back to mark as accepted unless someone digs up some actual setting that addresses the issue :)
gy flag
also needed `xprintidle` installed ;)
Jacob Vlijm avatar
by flag
@DoktorJ Right! Added.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา