แล็ปท็อปไม่ได้หยุดทำงานเมื่อปิดฝา


24

ฉันเป็นผู้ใช้ Ubuntu 13.10 คนใหม่ การปิดฝาแล็ปท็อปของฉันไม่ส่งผลให้คอมพิวเตอร์เข้าสู่โหมด Suspend ซึ่งหมายความว่าทุกครั้งที่ฉันปิดฝาโดยไม่ต้องระงับคอมพิวเตอร์ด้วยตนเองแบตเตอรี่จะตาย

การตั้งค่าที่เหมาะสมถูกตั้งค่าในการจัดการพลังงาน - ระงับแล็ปท็อปบนฝาปิดสำหรับทั้ง AC และ DC แต่สิ่งเหล่านี้ไม่มีผลต่อพฤติกรรมจริง

ดูเหมือนว่านี่เป็นปัญหาที่พบบ่อยสำหรับผู้ใช้หลายคนจนถึง Ubuntu 11 - ทางออกเดียวที่ฉันสามารถหาได้คือด้านล่าง อย่างไรก็ตามในฐานะผู้ใช้ linux ใหม่ฉันไม่ทราบว่าจะใช้งานคำแนะนำได้อย่างไร หากใครบางคนสามารถให้รายละเอียดเพิ่มเติมที่จะเป็นประโยชน์อย่างมาก

ขอบคุณล่วงหน้า.

/etc/acpi/events/lidbtn triggers /etc/acpi/lid.sh which triggers
 /etc/acpi/local/lid.sh.post at the end of the script.
 /etc/acpi/local/* allows you to add your own config (e.g. required for
 wmii).

 generate /etc/acpi/local/lid.sh.post
 make it executable and add:

 \#!/bin/bash
 grep -q closed /proc/acpi/button/lid/*/state
 if [ $? = 0 ]
 then
 /usr/sbin/pm-suspend
 fi

 wmii will now go to suspend mode when closing the lid. It'll
 automatically wake up when opening the lid.
    #!/bin/bash

    load=$(cat /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0/capacity)
    min_load=20
    if [ $load <= min_load ]; then
        pm-suspend
    fi

คำตอบ:


20

(โปรดทราบว่า#ก่อนที่คำสั่งจะระบุว่าควรเรียกใช้โดย superuser ดังนั้นให้แทนที่#ด้วยsudo)

เปิดlogind.confเป็นราก: # vim /etc/systemd/logind.confและลบก่อน# HandleLidSwitch=suspendคุณยังสามารถเปลี่ยนตัวเลือกsuspendเป็นhibernateหรือpoweroff

แก้ไขจากLaunchpad Bug # 863834 แสดงความคิดเห็น # 30 :

  1. เปิดเทอร์มินัล: Ctrl+ Alt+t
  2. # mkdir /etc/acpi/local
  3. # vim /etc/acpi/local/lid.sh.post
  4. คัดลอกสคริปต์สั้น ๆ นี้:

     #!/bin/bash
     if grep -q closed /proc/acpi/button/lid/*/state
     then
         /usr/sbin/pm-suspend
     fi
    

    ... และวางลงในกลุ่มโดยพิมพ์: "+p

  5. บันทึกโดยพิมพ์ZZ(เป็นตัวพิมพ์ใหญ่)
  6. # chmod 755 /etc/acpi/local/lid.sh.post (ดังนั้นจึงใช้งานได้แม้ในกรณีที่มีการจัดการพลังงานภายใต้ผู้ใช้ที่เข้าสู่ระบบแทนที่จะเป็นรูท)

ป.ล. : ถ้าคุณไม่แน่ใจว่าจะใช้ vim ได้อย่างไรให้แทนที่ด้วย gedit และ sudo ด้วย gksu
Meow

ขอบคุณสำหรับการตอบสนองที่รวดเร็ว น่าเสียดายที่ฉันยังไม่ชัดเจน 100% ฉันจะป้อนคำสั่งเหล่านี้ในเทอร์มินัลหรือไม่ เมื่อฉันพิมพ์ 'sudo vim /etc/systemd/logind.conf' ฉันจะได้รับข้อผิดพลาด 'sudo: vim: command not found' ฉันยังใช้พีซีที่ใช้ linux ด้วยถ้านั่นสร้างความแตกต่าง
Kyle Chadha

ใช้ sudo gedit /etc/systemd/logind.conf หากไม่ได้ติดตั้งเสียงเรียกเข้า & ใช่คุณจำเป็นต้องใส่มันลงในเครื่องเทอร์มินัล
Meow

Hrm ยังคงไม่ทำงาน ไม่มีการเปลี่ยนแปลงที่ฝาปิดหลังจากรีสตาร์ท '# HandlePowerKey = poweroff # HandleSuspendKey = หยุดชั่วคราว # HandleHibernateKey = hibernate HandleLidSwitch = หยุดชั่วคราว'
Kyle Chadha

1
สิ่งนี้ใช้งานได้สำหรับฉัน แต่ฉันต้องเพิ่มสิ่งต่อไปนี้:sudo chmod 755 /etc/acpi/local/lid.sh.post
qbert220

5

ในการตอบกลับโพสต์นี้ฉันมีปัญหาเดียวกันกับเรื่องนี้ใน Toshiba Satellite a305-s6902 ของฉัน (ซึ่งฉันซื้อเพื่อฝึกหัดบน Linux เท่านั้น) และพบว่าสิ่งนี้ใช้ได้สำหรับฉัน:

sudo vim /etc/systemd/logind.conf

จากนั้นเป็นข้างต้นลบ#ก่อนHandleLidSwitch=suspendและบันทึก ( ESC :wq)

อย่างไรก็ตาม ---> ฉันพบว่าฉันต้องทำให้คอมพิวเตอร์เข้าสู่การระงับด้วยตนเองเป็นครั้งแรกและหลังจากรีบูตทุกครั้งเพื่อให้มีการกระตุ้น ฉันไม่รู้ว่าทำไม แต่สิ่งนี้ได้ผลอย่างต่อเนื่องสำหรับฉัน


1

ผมเคยแก้ได้ด้วยการตัวแปร uncommenting จากLID_SLEEP=true/etc/default/acpi-support


2
ตัวแปรนี้ไม่พร้อมใช้งานใน 16.04
Jeff Puckett

1

ฉันมีปัญหาเดียวกันกับ Linux Mint Cinnamon 17.2 ตั้งแต่มันขึ้นอยู่กับ Ubuntu 14.04 ฉันคาดหวังหลายสิ่งหลายอย่างเหมือนกัน

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

นี่คือสิ่งที่ฉันทำ:

  1. เปิดเซสชันเทอร์มินัลและใช้ nano แทน vim พิมพ์;

    sudo nano /etc/systemd/logind.conf
    
  2. HandleLidSwitch=suspendเป็นข้อเสนอแนะที่ผมออกก่อน # จากนั้นฉันก็บันทึกไว้

  3. จากนั้นฉันพิมพ์ ...

    mkdir /etc/acpi/local
    sudo nano /etc/acpi/local/lid.sh.post
    

    ... และคัดลอกและวาง 5 บรรทัดถัดไปที่โพสต์ก่อนหน้านี้

    #!/bin/bash
    if grep -q closed /proc/acpi/button/lid/*/state
    then
        sudo /usr/sbin/pm-suspend
    fi
    

    หมายเหตุ: ในการทำให้งานนี้ฉันเพิ่มสายsudo /usr/sbin/pm-suspendไม่งั้นมันจะไม่ทำงาน

  4. ในที่สุดฉันก็บันทึกมันและพิมพ์ไว้ก่อนหน้านี้; ผู้ใช้ที่เข้าสู่ระบบแทนการพิมพ์รูท;

    sudo chmod 755 /etc/acpi/local/lid.sh.post
    

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

https://bugs.launchpad.net/ubuntu/+source/upower/+bug/863834

ที่น่าสนใจเป็นพิเศษคือโพสต์โดย Michael Backhaus เมื่อวันที่ 2012-06-09 ซึ่งเขาเขียนว่า:

/etc/acpi/events/lidbtnทริกเกอร์/etc/acpi/lid.shตัว/etc/acpi/local/lid.sh.postใด

การติดตามนี่เป็นสคริปต์สคริปต์ทุบตีด้านบนเกือบรุ่นที่เหมือนกันlid.sh.postทั้งหมด

ในรุ่น Mint นี้/etc/acpi/events/lidbtnและ/etc/acpi/lid.shไม่มีอยู่จริง อย่างไรก็ตาม/etc/acpi/events/powerbtnและ/etc/acpi/powerbtn.shทำ ดูที่ "powerbtn" ให้คำตอบ

นี่คือการแก้ไขของฉัน:

  1. หากต้องการสร้าง "lidbtn" แบบกำหนดเองให้พิมพ์;

    sudo nano /etc/acpi/events/powerbtn
    

    และแก้ไขให้เป็นเช่นนี้เพื่อ lidbtn;

    # /etc/acpi/events/lidbtn
    # This is called when the user closes the lid and calls
    # /etc/acpi/lidbtn.sh for further processing.
    
    # Optionally you can specify the placeholder %e. It will pass
    # through the whole kernel event message to the program you've
    # specified.
    
    # We need to react on "button lid.*" and "button/lid.*" because
    # of kernel changes.
    
    event=button[ /]lid
    action=/etc/acpi/lidbtn.sh
    
  2. ฉันบันทึกไว้ จากนั้นคัดลอก/etc/acpi/local/lid.sh.postไปและเปลี่ยนชื่อเป็น/etc/acpi/lidbtn.sh

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

เพิ่ม: ฉันควรเพิ่มว่าฉันไม่มีจอภาพที่สอง สำหรับฉันปัญหาคือว่าการหยุดชั่วคราวก็ไม่ได้ทำงานเมื่อปิดฝา


สิ่งนี้ใช้ได้กับ Linux Mint 18 "Sarah" หรือไม่ และ @ bob-el คุณหาวิธีแก้ปัญหาเมื่อตื่นขึ้นมาด้วยเหรอ?
kisanme

0

สำหรับผมปัญหาคือว่าปิดฝามีการจัดการที่แตกต่างกันเมื่อจอภาพภายนอกมีการเชื่อมต่อ ดังนั้นการเปลี่ยนตัวเลือกนั้นในฐานะผู้ใช้ในการdconf-editorแก้ไขปัญหาสำหรับฉัน:

schema:

org.cinnamon.settings-daemon.plugins.power

หรือ (ขึ้นอยู่กับสภาพแวดล้อมเดสก์ท็อปที่คุณใช้)

org.gnome.settings-daemon.plugins.power

ชื่อ:

lid-close-suspend-with-external-monitor

ตั้งค่าให้:

true

รายละเอียด:

เมื่อไม่มีจอภาพภายนอกเสียบอยู่การปิดฝาแล็ปท็อปจะระงับเครื่อง (ตามที่กำหนดโดยปุ่มปิดฝาปิดแบตเตอรี่แอคชั่นและปุ่มปิดฝาปิด ac-action) โดยค่าเริ่มต้นอย่างไรก็ตามการปิดฝาเมื่อมีจอภาพภายนอกอยู่จะไม่ระงับเครื่องเพื่อให้สามารถทำงานบนจอภาพนั้นได้ (เช่นสำหรับสถานีเชื่อมต่อหรือตัวรับชมสื่อ) ตั้งค่าคีย์นี้เป็น False เพื่อให้พฤติกรรมเริ่มต้นหรือเป็น True เพื่อระงับแล็ปท็อปเมื่อใดก็ตามที่ปิดฝาและไม่ว่าจอภาพภายนอกจะเป็นเช่นไรก็ตาม


0

ฉันใช้ Mint 18.1 ใน Macbook Air 6,2 นี่คือทางออกที่ฉันมีและใช้งานได้เกือบสมบูรณ์แบบ

ฉันใช้mba6x_blเพื่อแก้ไขหน้าจอดำ MBA เมื่อตื่นขึ้นมา ทำตามคำแนะนำของพวกเขา

จากนั้นใช้โซลูชันของ Bob-El ด้านบนเพื่อแก้ปัญหาการระงับ

  • สำรองข้อมูลและเปิด / etc / acpi / events / powerbtn
    sudo cp / etc / acpi / events / powerbtn / etc / acpi / events / powerbtn_bak
    sudo nano / etc / acpi / events / powerbtn
  • แทนที่เนื้อหาของ powerbtn ด้วยข้อความด้านล่าง

    # /etc/acpi/events/lidbtn
    # This is called when the user closes the lid and calls  
    # /etc/acpi/lidbtn.sh for further processing.  
    # Optionally you can specify the placeholder %e. It will pass  
    # through the whole kernel event message to the program you've  
    # specified.  
    # We need to react on "button lid.*" and "button/lid.*" because  
    # of kernel changes.  
    event=button[ /]lid  
    action=/etc/acpi/lidbtn.sh
    
  • สร้าง /etc/acpi/lidbtn.sh

    sudo nano /etc/acpi/lidbtn.sh
    
  • วางข้อความต่อไปนี้ลงไป

    #!/bin/bash
    if grep -q closed /proc/acpi/button/lid/*/state
      then
      /usr/sbin/pm-suspend
    fi
    
  • เปิดการจัดการพลังงาน -> เปิดไฟ AC -> การดำเนินการ -> เมื่อฝาแล็ปท็อปจะปิดเลือกหน้าจอว่าง สิ่งนี้จะทำให้ MBA หยุดทำงานชั่วคราวเมื่อเชื่อมต่อกับพลังงาน

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.