Làm thế nào để kích hoạt chế độ ngủ đông?


424

Trong Ubuntu 12.04 trở lên, chế độ ngủ đông đã bị tắt theo mặc định trong bộ chính sách . Làm thế nào tôi có thể kích hoạt lại này?


11
Tại sao họ vô hiệu hóa nó ở nơi đầu tiên? Nó có liên quan gì đến việc mất âm thanh không?
Ali


4
Để trả lời câu hỏi của Ali, nó đã bị vô hiệu hóa vì nhiều người gặp vấn đề ngủ đông do các vấn đề với phân vùng trao đổi của họ. Tuy nhiên, trong Ubuntu 14.10 Utopic Unicorn, có kế hoạch để chế độ ngủ đông hoạt động tốt, với một nút và mọi thứ.
John Scott

1
Đối với ngày 15.04, bạn có thể cần câu hỏi này hỏiubub.com/q/614662/178596
Wilf

Hibernate có thể không hoạt động khi btrfsphân vùng được sử dụng. Xem tại đây Askubfox.com/questions/768136/ khăn
Anwar

Câu trả lời:


334

Nếu câu trả lời này không hoạt động trong Ubuntu 13.10, hãy xem tại đây để biết câu trả lời thay thế


Bạn có thể làm theo tài liệu chính thức ở đây . Chế độ ngủ đông đã bị vô hiệu hóa vào ngày 12.04 đối với các máy không được chứng nhận với Ubuntu.

Để kích hoạt chế độ ngủ đông, bạn cần kiểm tra xem nó có hoạt động chính xác hay không bằng cách chạy sudo pm-hibernatetrong thiết bị đầu cuối. Hệ thống sẽ cố gắng ngủ đông. Nếu bạn có thể khởi động lại hệ thống thì bạn sẽ an toàn hơn hoặc ít hơn để thêm ghi đè.

Để làm như vậy, bắt đầu chỉnh sửa:

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

Điền vào nó với điều này:

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

Hoặc trong 14.04 trở lên:

[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

Lưu bằng cách nhấn Ctrl- Osau enterđó thoát nano bằng cách nhấn Ctrl- X.

Khởi động lại và ngủ đông đã trở lại!

Hoặc chạy killall unity-panel-serviceđể chỉ thiết lập lại menu.

Một số người dùng sau đó sẽ cần phải chạy sudo update-grubđể có được tùy chọn ngủ đông có sẵn trong menu nguồn. Một số người dùng cũng có thể phải đăng xuất ít nhất sau đó đăng nhập để xuất hiện trong menu nguồn (phía trên bên phải).


1
Giải pháp này cũng hoạt động trong Gnome shell 3.4 với phần mở rộng "Menu Status Status".
Robert Wohlfarth

1
@ cuda.geek yep, sẽ không bận tâm với toàn bộ gui nữa, gõ lệnh nhỏ này nhanh hơn (thậm chí nhanh hơn với bí danh ...) :)
Aditya MP

15
Có thật không? Đây có phải là phiên bản thân thiện hơn của người dùng khi thay đổi cài đặt đơn giản như vậy không? Nó đang trở nên xấu hơn mỗi ngày ...
Esteban

1
Hướng dẫn tuyệt vời! Tôi đã chuyển từ windows sang ubfox và yêu thích nó! bạn là người tuyệt vời :)
gfivehost

8
Tôi không nghĩ đó là quan điểm của Esteban. Nó không cần ma thuật phức tạp để cho phép ngủ đông. Hãy nghĩ về một cái gì đó trong thư mục / etc / default trong đó bạn thay đổi một dòng từ enable_hibernate = "false" thành enable_hibernate = "true". Hãy nghĩ đến việc có một hộp thoại cài đặt hệ thống-> chỉ cho phép bạn bật nó với một cảnh báo "điều này có thể không hoạt động, máy của bạn có thể không thức dậy đúng cách."
Scott Marlowe

47

Trước tiên, bạn cần kiểm tra máy của bạn hỗ trợ ngủ đông. Kiểm tra nó bằng lệnh:

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

Ubuntu 16.04 trở lên

Để bật trong giao diện, bạn sẽ cần chạy sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklavà điền vào:

[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 và 15.04

Để bật giao diện, bạn cần chạy sudo nano /etc/polkit-1/localauthority.conf.d/52-enable-hibernation.confUbuntu 4.04 và 15.04 và điền vào:

[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

Nó có một số khổ thơ như bạn có thể có nhiều người dùng (do đó, không phụ thuộc vào nhiều người dùng hoặc người hỗ trợ làm người quản lý thay vì đăng nhập1)

ps: tài liệu mới nhất chính thức https://help.ubfox.com/urdy/ubfox-help/power-hibernate.html


1
Nó hoạt động với tôi trên Ubuntu 15.04 , trong khi câu trả lời ban đầu được chấp nhận thì không.
Mike B.

@MikeB. Điều này hoạt động vì kể từ Ubuntu 15.04, hệ thống Ubuntu lõi bắt đầu sử dụng systemd - một sự thay thế mới hơn cho phiên bản cũ. Phần cuối cùng trong đoạn mã trên có "logind" dành cho các hệ thống dựa trên systemd. Hy vọng điều này làm sáng tỏ tình hình của bạn. : D
x__x 7/11/2015

Làm việc cho tôi trên Ubuntu 16.04 . vấn đề duy nhất là sự từ chối lỗi mà tôi đã giải quyết bằng cách sử dụng sudo.
Sandeep

Bước đầu tiên sudo pm-hibernatedẫn đến command not found. Tôi cũng đã thử sudo apt install sudo pm-hibernate, mà cũng không có sẵn. Đây là phiên bản Ubuntu 16.04.
LD James

Câu trả lời của bạn sẽ xuất hiện ở đầu danh sách, mặc dù nó có ít phiếu hơn nhưng nó có ý nghĩa hơn đối với khách truy cập sử dụng phần mềm ngày nay.
WinEunuuchs2Unix

32

Ngoài ra, đối với những người muốn tắt nút tạm dừng (vì nhiều lý do), hãy tiến hành tương tự ...

Chọn bất kỳ tên tệp nào, nhưng đây là một tên dài dòng / quy ước:

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

Điền vào nó với điều này:

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

Ctrl+ O, Enter, Ctrl+X

Không cần phải khởi động lại, nó sẽ biến mất ngay khi bạn vào menu tắt máy.


Ý bạn là:ResultActive=yes

1
Không, điều này nên được ResultActive=no. Câu trả lời chỉ ra rằng điều này để vô hiệu hóa đình chỉ.
Michael Mior

14

Một điều nữa:

Khi bạn muốn thêm tùy chọn ngủ đông vào bảng điều khiển của XFCE , bạn phải nhấp chuột phải vào tên của bạn (topright) và chọn properties.

Sau đó, một màn hình bật lên:

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

Hãy chắc chắn rằng, bạn kiểm tra Hibernate như tôi đã làm.


14

Trước tiên, tôi khuyên bạn nên kiểm tra xem máy tính xách tay của bạn có hỗ trợ ngủ đông hay không, vì lý do tại sao chế độ ngủ đông bị tắt theo mặc định là vì đôi khi nó có kết quả nghiêm trọng trên một số máy. Kiểm tra máy của bạn bằng cách

Ctrl+ Alt+ Tvà sau đósudo pm-hibernate

Máy của bạn nên ngủ đông. Đánh thức máy của bạn sau khi ngủ đông và quan sát nếu nó hoạt động sai hoặc nếu nó hoạt động bình thường. Nếu bạn gặp bất kỳ sự bất thường nào sau khi ngủ đông, thì tôi khuyên bạn không nên tiếp tục quy trình sau. Tuy nhiên, nếu nó hoạt động tốt, hãy tiếp tục kích hoạt chế độ ngủ đông bằng cách

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

Chỉnh sửa tệp đã mở và thêm dòng này:

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

Sau này, khởi động lại máy của bạn và khi đăng nhập, bạn sẽ thấy tùy chọn ngủ đông ở góc trên cùng bên phải.


Tại sao lại quay trở lại?

đó là một rollback nhầm
kelvinelove

6

Nếu phản hồi với /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklakhông hoạt động như trong trường hợp của tôi, đừng quên xóa tệp bằng cách:

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

Và cố gắng sử dụng TuxOnIce .


Đầu tiên đảm bảo bạn có đủ trao đổi. Nó phải có cùng kích thước hoặc lớn hơn dung lượng RAM của bạn. Sử dụng lệnh

free

quy tắc Hoán đổi> Mem. Nếu đây không phải là trường hợp, mở rộng kích thước trao đổi của bạn. Sau đó cài đặt TuxOnIce bằng cách

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

Sau đó, bạn có thể thử thực hiện một thử nghiệm ngủ đông bằng cách:

sudo pm-hibernate

Đừng quên lưu công việc của bạn trước khi bạn làm điều đó.

Nếu mọi việc suôn sẻ, máy tính của bạn sẽ tắt. Sau khi bật nó, bạn sẽ nhận được máy tính để bàn của bạn ở trạng thái bạn còn lại trong đó trước khi ngủ đông.


tuxonice cũng hoạt động với tôi, trong khi ngủ đông bản địa Ubuntu 14.04 không thành công vì một số lý do!
Leszek

5

Kích hoạt chế độ ngủ đông với tập lệnh

Tôi đã dịch câu trả lời ở trên cho bashcác kịch bản. Điều này làm cho việc cài đặt trên nhiều máy ít mệt mỏi hơn.

Kịch bản 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

Kịch bản 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

Lưu ý: Đừng quên chmod +xcả hai tập lệnh để thực hiện chúng.


4

Một lệnh đơn giản thực hiện chính xác điều tương tự như câu trả lời được chấp nhận ngoại trừ không tương tác:

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

Trong 12.04, tôi đã bật thành công tùy chọn ngủ đông trong menu chỉ báo để ngủ đông. Nhưng tôi vẫn không thể tiếp tục thành công từ ngủ đông. Tôi đã làm theo các bước sau để khắc phục vấn đề này:

Kích hoạt chế độ ngủ đông trong 12.04

Để kích hoạt Hibernate, tôi đã làm theo câu trả lời này từ Dima.

Sau khi kích hoạt chế độ ngủ đông, tôi có thể ngủ đông. Nhưng vấn đề là, tôi không thể tiếp tục thành công từ ngủ đông. Bất cứ khi nào tôi khởi động PC từ chế độ ngủ đông, nó sẽ khởi động như một đôi giày bình thường. Vì vậy, tôi đã phải làm những điều này để có thể tiếp tục từ ngủ đông.

Các bản sửa lỗi để có thể tiếp tục từ chế độ ngủ đông

Có hai cách để khắc phục điều này.

1. Chỉnh sửa /etc/initramfs-tools/conf.d/resumetập tin

  1. Đầu tiên lấy UUID của phân vùng trao đổi.

     sudo blkid | grep swap
    

    Điều này sẽ tạo ra một dòng tương tự như thế này:

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

    Dòng thực sự sẽ không phù hợp với điều này. Sao chép giá trị của UUID ở giữa "..."trích dẫn kép.

  2. Mở tệp sơ yếu lý lịch

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

    Và trong tập tin đó, thêm một dòng như thế này

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

    Đừng quên thay thế giá trị UUID thực tế bạn nhận được từ bước 1. Lưu tệp và thoát gedit

  3. Sau đó trong terminal, thực hiện lệnh này

    sudo update-initramfs -u
    

Bây giờ bạn sẽ có thể tiếp tục từ ngủ đông

2. Chỉnh sửa /etc/default/grubtập tin.

  1. Mở một terminal và thực hiện lệnh dưới đây để mở nó

    gksudo gedit / etc / default / grub

  2. Sẽ có một dòng như thế GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" . Chỉnh sửa dòng để chèn RESUME=UUID=<your-uuid-value-here>sau từ splash.

    Ví dụ trong trường hợp của tôi, dòng trông như thế này sau khi chỉnh sửa

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

    Hãy chắc chắn rằng, bạn đã sử dụng giá trị UUID mà bạn nhận được từ sudo blkid | grep swaplệnh.

  3. Sau đó thực hiện lệnh này

     sudo update-grub
    

Điều này cũng cho phép bạn tiếp tục thành công từ chế độ ngủ đông.


Đã thử nghiệm trên hai cài đặt Ubuntu, cả hai đều hoạt động


tập tin này như một câu hỏi và câu trả lời riêng biệt. Vì mọi người có thể tìm kiếm "không thể tiếp tục từ việc đình chỉ" và không tìm thấy bài viết xuất sắc của bạn.
Dima

Sau gợi ý của bạn, tôi đã tạo ra câu hỏi tự trả lời này Askubfox.com/questions/196364/ Khăn
Anwar

0

Tôi có Ubuntu Gnome 17.04 amd64 trên máy tính xách tay của mình. Tôi đã làm như sau để kích hoạt chế độ ngủ đông:

$ sudo apt-get install hibernate( nguồn )

Cái này cũng được cài đặt libx86-1uswsuspvbetool

Sau đó tôi có thể ngủ đông thành công với sudo systemctl hibernate. Không có pm-hibernatethực thi trong con đường của tôi.

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

Đã chèn: ( nguồn )

[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

Đã cài đặt https://extensions.gnome.org/extension/755/hibernate-status-button/

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.