วิธีการเปิดใช้งานการจำศีล


424

ใน Ubuntu 12.04 และที่ใหม่กว่าการจำศีลถูกปิดใช้งานโดยค่าเริ่มต้นในชุดนโยบาย ฉันจะเปิดใช้งานสิ่งนี้ย้อนกลับได้อย่างไร?


11
เหตุใดพวกเขาจึงปิดใช้งานตั้งแต่แรก มันเกี่ยวกับการสูญเสียเสียงหรือไม่?
อาลี

2
สำหรับ 13.10 ดูaskubuntu.com/questions/361734/…
rogerdpack

4
เพื่อตอบคำถามของ Ali มันถูกปิดการใช้งานเพราะหลายคนมีปัญหาจำศีลเนื่องจากปัญหากับพาร์ทิชันสลับ อย่างไรก็ตามใน Ubuntu 14.10 Utopic Unicorn มีแผนที่จะทำให้การจำศีลทำงานได้ดีมีเพียงปุ่มและทุกสิ่ง
John Scott

1
สำหรับ 15.04 คุณอาจต้องการคำถามนี้Askubuntu.com/q/614662/178596
Wilf

ไฮเบอร์เนตอาจไม่ทำงานเมื่อใช้btrfsพาร์ติชัน ดูที่นี่askubuntu.com/questions/768136/…
Anwar

คำตอบ:


334

หากคำตอบนี้ใช้ไม่ได้กับ Ubuntu 13.10 ให้ดูคำตอบอื่นที่นี่


คุณสามารถปฏิบัติตามเอกสารที่เป็นทางการที่นี่ การไฮเบอร์เนตถูกปิดการใช้งานในวันที่ 12.04 สำหรับเครื่องที่ไม่ได้รับการรับรองจาก Ubuntu

ในการเปิดใช้งานการจำศีลคุณต้องทดสอบว่าทำงานได้อย่างถูกต้องหรือไม่โดยเรียกใช้sudo pm-hibernateในเทอร์มินัล ระบบจะพยายามจำศีล หากคุณสามารถเริ่มต้นระบบอีกครั้งคุณจะมีความปลอดภัยมากขึ้นหรือน้อยลงในการเพิ่มการแทนที่

โดยให้เริ่มแก้ไข:

sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

เติมด้วยสิ่งนี้:

[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

หรือใน 14.04 และใหม่กว่า:

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate
  ResultActive=yes

[Re-enable hibernate for multiple users by default in logind]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

บันทึกโดยการกดCtrl- Oแล้วenterแล้วออกจากนาโนโดยการกด-CtrlX

รีสตาร์ทและไฮเบอร์เนตกลับมาแล้ว!

หรือเรียกใช้killall unity-panel-serviceเพื่อรีเซ็ตเมนู

ผู้ใช้บางคนจะต้องเรียกใช้sudo update-grubเพื่อให้ตัวเลือกไฮเบอร์เนตสามารถใช้งานได้ในเมนูพลังงาน ผู้ใช้บางคนอาจต้องออกจากระบบอย่างน้อยจากนั้นเข้าสู่ระบบเพื่อให้ปรากฏในเมนูพลังงาน (ด้านบนขวา)


1
โซลูชันนี้ยังทำงานใน GNOME เชลล์ 3.4 ด้วยส่วนขยาย "เมนูสถานะทางเลือก"
Robert Wohlfarth

1
@ cuda.geek อ๋อไม่ต้องกังวลกับสิ่ง gui ทั้งหมดอีกต่อไปพิมพ์คำสั่งเล็ก ๆ นี้เร็วกว่า (ยิ่งเร็วกว่าด้วยนามแฝง ... ) :)
Aditya MP

15
จริงๆ? นี่เป็นเวอร์ชั่นที่ผู้ใช้เป็นมิตรกว่าในการเปลี่ยนการตั้งค่าที่ง่ายหรือไม่? มันเริ่มแย่ลงทุกวัน ...
Esteban

1
เยี่ยมมาก! ฉันเปลี่ยนจาก windows ไปเป็น Ubuntu และรักมัน! คุณเป็นคนที่ยอดเยี่ยม :)
gfivehost

8
ฉันไม่คิดว่านั่นคือจุดของเอสเตบัน ไม่ควรใช้เวทย์มนตร์อาถรรพ์เพื่อเปิดใช้งานไฮเบอร์เนต นึกถึงบางสิ่งในไดเร็กทอรี / etc / default ที่คุณเปลี่ยนหนึ่งบรรทัดจาก enable_hibernate = "false" เป็น enable_hibernate = "true" คิดว่ามีกล่องโต้ตอบการตั้งค่าระบบที่เพิ่งเปิดใช้งานพร้อมคำเตือน "อาจไม่ทำงานเครื่องของคุณอาจไม่ทำงานอย่างถูกต้อง"
Scott Marlowe

47

ก่อนอื่นคุณต้องทดสอบเครื่องของคุณรองรับการไฮเบอร์เนต ทดสอบด้วยคำสั่ง:

 sudo pm-hibernate
 # or for newer Ubuntus like 17.04
 sudo systemctl hibernate

Ubuntu 16.04 ขึ้นไป

ในการเปิดใช้งานอินเทอร์เฟซคุณจะต้องเรียกใช้sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklaและเติม:

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes

Ubuntu 14.04 และ 15.04

สำหรับการเปิดใช้งานในส่วนต่อประสานคุณจะต้องใช้sudo nano /etc/polkit-1/localauthority.conf.d/52-enable-hibernation.confงาน Ubuntu 14.04 และ 15.04 และเติมด้วย:

[Re-enable hibernate by default]
  Identity=unix-user:*
  Action=org.freedesktop.upower.hibernate
  ResultActive=yes

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

มันมีหลายบทตามที่คุณอาจมีผู้ใช้หลายคน (ดังนั้นจึงไม่ได้ขึ้นอยู่กับผู้ใช้หลายคนหรือ upower เป็นผู้จัดการแทนการเข้าสู่ระบบ 1)

ps: เอกสารล่าสุดอย่างเป็นทางการhttps://help.ubuntu.com/stable/ubuntu-help/power-hibernate.html


1
มันทำงานได้สำหรับฉันบนUbuntu 15.04ในขณะที่คำตอบเดิมไม่ได้รับการยอมรับ
Mike B.

@MikeB สิ่งนี้ได้ผลเพราะตั้งแต่ Ubuntu 15.04 ระบบหลักของ Ubuntu เริ่มใช้ systemd- การทดแทนที่ใหม่กว่าสำหรับการเริ่มต้นเก่า ส่วนสุดท้ายในรหัสด้านบนมี "logind" สำหรับระบบที่ใช้ systemd หวังว่าสิ่งนี้จะให้แสงสว่างกับสถานการณ์ของคุณ : D
x__x

ทำงานสำหรับฉันใน อูบุนตู 16.04 เพียง sudoแต่ประเด็นสำคัญคือการได้รับอนุญาตปฏิเสธข้อผิดพลาดที่ผมแก้ไขได้โดยใช้
Sandeep

ขั้นตอนแรกผลในการsudo pm-hibernate command not foundฉันลองsudo apt install sudo pm-hibernateแล้วซึ่งยังใช้ไม่ได้ นี่คือรุ่น Ubuntu 16.04
LD James

คำตอบของคุณควรปรากฏที่ด้านบนของรายการแม้ว่าจะมีคะแนนน้อยกว่า แต่ก็มีความหมายมากขึ้นสำหรับผู้เข้าชมที่ใช้ซอฟต์แวร์ของวันนี้
WinEunuuchs2Unix

32

นอกจากนี้สำหรับผู้ที่ต้องการปิดการใช้งานปุ่มระงับ (ด้วยเหตุผลต่าง ๆ ) ให้ดำเนินการแบบอะนาล็อก ...

เลือกชื่อไฟล์ใด ๆ แต่นี่เป็นชื่ออย่างใดอย่างหนึ่ง / การประชุม:

sudoedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla

เติมด้วยสิ่งนี้:

[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no

Ctrl+ O, Enter, Ctrl+X

ไม่จำเป็นต้องรีสตาร์ทมันควรจะหายไปทันทีที่คุณเข้าสู่เมนูปิด


คุณหมายถึง:ResultActive=yes

1
ไม่ควรเป็นResultActive=noเช่นนี้ คำตอบระบุว่าสิ่งนี้จะปิดการใช้งานการระงับ
Michael Mior

14

อีกหนึ่งสิ่ง:

เมื่อคุณต้องการเพิ่มตัวเลือกจำศีลเพื่อXFCEแผงของคุณจะต้องคลิกขวาที่ชื่อของคุณ (รายนามสมาชิก) propertiesและเลือก

หลังจากนั้นหน้าจอก็ปรากฏขึ้น:

ป้อนคำอธิบายรูปภาพที่นี่

ตรวจสอบให้แน่ใจว่าคุณตรวจสอบไฮเบอร์เนตเหมือนที่ฉันทำ


14

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

Ctrl+ Alt+ Tแล้วsudo pm-hibernate

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

sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

แก้ไขไฟล์ที่เปิดและเพิ่มบรรทัดนี้:

[Re-enable hibernation]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

หลังจากนี้ให้รีสตาร์ทเครื่องของคุณและเมื่อเข้าสู่ระบบคุณจะเห็นตัวเลือกไฮเบอร์เนตที่มุมขวาบน


ทำไมการย้อนกลับ

มันเป็นการย้อนกลับที่ผิดพลาด
kelvinelove

6

หากการตอบกลับด้วย/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklaไม่ได้ผลเหมือนในกรณีของฉันอย่าลืมลบไฟล์โดย:

sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

และพยายามที่จะใช้TuxOnIce


ก่อนอื่นให้แน่ใจว่าคุณมีการแลกเปลี่ยนมากพอ มันควรจะมีขนาดเท่ากันหรือใหญ่กว่าเท่ากับปริมาณแรมของคุณ ใช้คำสั่ง

free

แลกเปลี่ยนกฎ> Mem หากไม่ใช่กรณีนี้ให้ขยายขนาดการสลับของคุณ จากนั้นติดตั้ง TuxOnIce โดย

sudo add-apt-repository ppa:tuxonice/ppa
sudo apt-get update
sudo apt-get install tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice

จากนั้นคุณสามารถลองทำการทดสอบการจำศีลโดย:

sudo pm-hibernate

อย่าลืมบันทึกงานของคุณก่อนที่จะทำ

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


tuxonice ใช้งานได้สำหรับฉันในขณะที่ Ubuntu 14.04 การจำศีลพื้นเมืองล้มเหลวด้วยเหตุผลบางอย่าง!
Leszek

5

การเปิดใช้งานการจำศีลด้วยสคริปต์

ฉันแปลคำตอบสำหรับbashสคริปต์ด้านบนแล้ว ทำให้การติดตั้งบนเครื่องหลายเครื่องนั้นน่าเบื่อน้อยลง

สคริปต์enable-hibernate:

#!/bin/bash
#http://askubuntu.com/a/94963/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Enable Hibernate]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
_EOF_
clear
echo
echo 'Hibernate enabled.'
echo

สคริปต์disable-suspend:

#!/bin/bash
#http://askubuntu.com/a/154821/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla
[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no
_EOF_
clear
echo
echo 'Suspend disabled.'
echo

หมายเหตุ: อย่าลืมchmod +xสคริปต์ทั้งสองเพื่อให้สามารถเรียกใช้งานได้


4

คำสั่งง่ายๆที่ทำในสิ่งเดียวกันกับคำตอบที่ยอมรับยกเว้นการโต้ตอบ:

cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
EOF

2

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

เปิดใช้งาน Hibernate ใน 12.04

ในการเปิดใช้งาน Hibernate ฉันได้ปฏิบัติตามคำตอบนี้จาก Dima

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

การแก้ไขที่จะสามารถดำเนินการต่อจากโหมดไฮเบอร์เนต

มีสองวิธีในการแก้ไขปัญหานี้

1. การแก้ไข/etc/initramfs-tools/conf.d/resumeไฟล์

  1. อันดับแรกรับ UUID ของพาร์ติชันสลับ

     sudo blkid | grep swap
    

    สิ่งนี้จะเอาท์พุตคล้ายกับบรรทัดนี้:

    /dev/sda12: UUID="a14f3380-810e-49a7-b42e-72169e66c432" TYPE="swap"
    

    บรรทัดจริงจะไม่ตรงกับสิ่งนี้ คัดลอกค่าของ UUID ในระหว่างเครื่องหมาย"..."คำพูดคู่

  2. เปิดไฟล์ประวัติย่อ

    gksudo gedit /etc/initramfs-tools/conf.d/resume
    

    และในไฟล์นั้นให้เพิ่มบรรทัดเช่นนี้

    RESUME=UUID=a14f3380-810e-49a7-b42e-72169e66c432
    

    อย่าลืมแทนที่ค่า UUID จริงที่คุณได้รับจากขั้นตอนที่ 1 บันทึกไฟล์และออกจาก gedit

  3. จากนั้นใน terminal ให้รันคำสั่งนี้

    sudo update-initramfs -u
    

ตอนนี้คุณจะสามารถดำเนินการต่อจากโหมดไฮเบอร์เนต

2. การแก้ไข/etc/default/grubไฟล์

  1. เปิด terminal และดำเนินการคำสั่งด้านล่างเพื่อเปิด

    gksudo gedit / etc / default / grub

  2. GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" จะมีเส้นเหมือน แก้ไขบรรทัดที่จะแทรกหลังคำว่าRESUME=UUID=<your-uuid-value-here>splash

    ตัวอย่างเช่นในกรณีของฉันบรรทัดมีลักษณะเช่นนี้หลังจากแก้ไข

     GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a14f3380-810e-49a7-b42e-72169e66c432" 
    

    ตรวจสอบให้แน่ใจว่าคุณใช้ค่า UUID ที่คุณได้รับจากsudo blkid | grep swapคำสั่ง

  3. จากนั้นทำคำสั่งนี้

     sudo update-grub
    

นอกจากนี้ยังช่วยให้คุณสามารถดำเนินการต่อจากการจำศีลได้สำเร็จ


ทดสอบกับการติดตั้ง Ubuntu สองตัวทั้งสองทำงาน


ยื่นคำถามนี้เพื่อแยกคำถามและคำตอบ เป็นคนอาจค้นหา "ล้มเหลวในการดำเนินการต่อจากการหยุดชั่วคราว" และไม่พบการเขียนที่ยอดเยี่ยมของคุณ
Dima

หลังจากข้อเสนอแนะของคุณฉันสร้างคำถามนี้ตอบคำถามด้วยตนเองaskubuntu.com/questions/196364/…
Anwar

0

ฉันมี Ubuntu Gnome 17.04 amd64 ในสมุดบันทึกของฉัน ฉันทำสิ่งต่อไปนี้เพื่อเปิดใช้งานการจำศีล:

$ sudo apt-get install hibernate( แหล่งที่มา )

ติดตั้งนี้ยัง libx86-1uswsuspvbetool

sudo systemctl hibernateจากนั้นฉันก็ประสบความสำเร็จสามารถจำศีลด้วย pm-hibernateเส้นทางของฉันไม่มีการปฏิบัติการ

$ sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

แทรก: ( แหล่งที่มา )

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

ติดตั้งแล้วhttps://extensions.gnome.org/extension/755/hibernate-status-button/

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