Ubuntu 16.04 không tắt sau khi tạm dừng hoặc ngủ đông


14

Trên thực tế câu hỏi của tôi có thể xuất hiện giống hệt câu hỏi này trong diễn đàn này (và cũng là câu hỏi này ở nơi khác ); thực sự câu hỏi là như vậy, nhưng dù sao tôi cũng đang hỏi nó bởi vì tôi có thể cung cấp thêm thông tin và vì tôi đã thử một số giải pháp tìm thấy trên web (có thể khiến mọi thứ trở nên tồi tệ hơn).

Tôi đã từng ngủ đông Ubuntu 15.10 (đóng nắp). Bây giờ tôi đã cập nhật lên 16.04 (tôi nghĩ đó là một điều tốt, vì phiên bản này là LTS, không giống như 15.10), tôi không thể sử dụng chế độ ngủ đông (cũng không phải tạm ngưng!): Nếu tôi cố gắng sử dụng nó, Ubuntu sẽ không ' Tắt máy, chỉ cần màn hình chuyển sang màu đen, đèn led bật sáng và tôi không thể làm gì khác hơn là tắt thủ công (nhấn và giữ nút nguồn). Khi tôi bật lại nguồn, tôi thấy các dòng sau

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

sau đó Ubuntu khởi động.

Từ đây tôi đã thử với

sudo -s
echo shutdown > /sys/power/disk
echo disk > /sys/power/state

sudo -s
echo platform > /sys/power/disk
echo disk > /sys/power/state

Chỉ một phần đầu tiên hoạt động và chỉ một lần duy nhất: bởi một phần tôi có nghĩa là sau khi đóng cửa tàn bạo phiên đã được phục hồi.

Sau đó, tôi đã cố gắng làm theo gợi ý này . Tôi không hiểu các bình luận được viết sau các lệnh, vì vậy tôi thực sự đã nhập các lệnh như vậy (nghĩ rằng một số lỗi như "lệnh / thư mục này không tồn tại" sẽ xảy ra nếu có gì đó thay thế trong các lệnh ):

BIÊN TẬP

cat /proc/meminfo
sudo swapoff -a
sudo dd if=/dev/zero of=/swapfile bs=1024 count=8M
sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile
sudo -b gedit /etc/fstab
free -m
swapon

mount | grep " / "
sudo blkid -g
sudo blkid
sudo filefrag -v /swapfile | grep "First block:"
sudo filefrag -v /swapfile
echo "resume=UUID=cdXX--X18 resume_offset=66050" | sudo tee /etc/initramfs-tools/conf.d/resume
sudo -b gedit /boot/grub/menu.lst
sudo -b gedit /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="... resume=UUID=cdXX--X18 resume_offset=66050"
sudo update-grub -y
sudo update-initramfs -u

Có lẽ đây là một ý tưởng tồi tệ, kể từ bây giờ tôi có được điều này.

IMG:

Cuối cùng, tôi đã tìm thấy câu hỏi được liên kết ở trên và tôi đã đến đây , nhưng tôi không biết phải làm gì.

EDIT 2 Hiện tại nếu tôi nhập

...$ sudo swapon -s

Tôi hoàn toàn không có gì

...$

Có lẽ đó là vì BIOS. Trong BIOS của tôi, tôi đi đến Quản lý nguồn và sẽ có tùy chọn phải làm gì khi tạm dừng. Thông thường của tôi là S1 nhưng S3 là điều.
dat tutbrus

Đâm trong bóng tối ở đây nhưng bạn nên điều tra các thiết lập BIOS của bạn và xem qua chúng. Nhận ra hướng dẫn của bạn và kiểm tra thông qua nó. Tôi đã có vô số vấn đề trong quá khứ đã có một công tắc BIOS là giải pháp.
Jonathan

1
Hoàn tác ý tưởng rất xấu. Đây là một bằng chứng về khái niệm làm thế nào để Ubuntu sử dụng không gian trao đổi để ngủ đông. Với quyền root với sudo, hãy xóa dòng cuối cùng được thêm vào /etc/initramfs-tools/conf.d/resumevà hai stanzas được thêm vào từ đó etc/default/grub, chạy hai dòng cuối cùng để cập nhật grub và initrd. Xóa / hoán đổi. Chạy đi sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target. Hãy thử bất kỳ mục tiêu nào trong số này sudo systemctl suspend. Chuyện gì xảy ra
emk2203

Cuối cùng, tôi quyết định cài đặt lại Ubuntu 15.10. Bây giờ ngủ đông hoạt động trở lại. Có lẽ tôi sẽ cài đặt 16.04 trên một phân vùng khác. Khi tôi làm như vậy, tôi sẽ đề cập đến câu hỏi và câu trả lời này.
Enrico Maria De Angelis

Câu trả lời:


6

Buộc ngủ đông để tắt nguồn máy:

Sau khi tìm kiếm một câu trả lời cho vấn đề này thực sự giải quyết vấn đề này (không liên quan), tôi đã tìm thấy một mẹo ở đây giúp tôi hoàn thành công việc:

Tạo một tập tin trong pmthư mục cấu hình:

sudo vim /etc/pm/config.d/hibernate_mode

mà đặt biến HIBERNATE_MODEnhư vậy:

HIBERNATE_MODE="shutdown"

Sau khi làm điều này, ngủ đông đã tắt máy khi hoàn thành như mong đợi. Một lời giải thích cho những gì cài đặt HIBERNATE_MODEhiện có trong hướng dẫn sử dụng cho pm-hibernate :

Phương pháp mặc định để tắt nguồn hệ thống khi ngủ đông. Nếu không được đặt, hệ thống sẽ sử dụng mặc định kernel làm giá trị mặc định. Kiểm tra / sys / power / đĩa cho các giá trị hợp lệ. Giá trị mặc định sẽ được bao quanh bởi [dấu ngoặc vuông].

Mặc định của tôi trong tập tin đó là platform. Đặt biến ở trên để shutdownghi đè lên điều này và nhận được những gì chúng ta muốn xảy ra.

Thông tin liên quan và mẹo để ngủ đông hoạt động chính xác:

Đối với những "vấn đề liên quan" đó, mọi người dường như đều có các mẹo gỡ rối nhanh, ngủ đông:

  1. Kiểm tra xem lệnh sudo pm-hibernatethực sự làm một cái gì đó. Nếu không, không có lời khuyên nào khác sẽ làm cho bất kỳ sự khác biệt. Nếu nó không hoạt động, đảm bảo 1) kích thước của phân vùng trao đổi của bạn lớn hơn RAM của bạn và 2) khởi động an toàn bị vô hiệu hóa trong BIOS của bạn.

  2. Chỉ khi lệnh đó hoạt động, hãy xem việc tích hợp ngủ đông vào hệ thống của bạn như bạn muốn. Một vài cái chung:

    • Thêm ngủ đông vào menu Ubuntu: Đây dường như là câu trả lời tốt nhất cho tôi. Tài liệu chính thức cũng có một phiên bản hơi khác.
      Lưu ý: một khi chế độ ngủ đông được thêm vào menu Ubuntu, bạn cũng có thể cần sửa cuộc gọi thay thế sudo systemctl hibernate. Rõ ràng, (ít nhất là cho Ubuntu 16.04), tùy chọn menu Ubuntu gọi sudo systemctl hibernatethay vì sudo pm-hibernate. systemctl hibernateđã được sửa cho tôi bằng cách thêm nội dung sau vào tệp /etc/systemd/sleep.conf:

      [Ngủ]
      HibernateMode = tắt máy

      Nếu tập tin chưa tồn tại, bạn có thể tạo nó. Thêm thông tin ở đây .

    • Thay đổi hành vi của nút nguồn (theo mặc định, nó sẽ hiển thị trong menu tương tác): Để thay đổi nó thành ngủ đông trực tiếp hoặc tắt máy, bạn cần sửa đổi mục gsinstall liên quan . Rất nhiều câu trả lời khác đi qua cách GUI nếu điều đó nổi thuyền của bạn. Để xem các tùy chọn có sẵn sử dụnggsettings range org.gnome.settings-daemon.plugins.power button-power


2

Bằng cách xem hình ảnh cuối cùng của bạn và EDIT 2 , tôi có thể hiểu rằng Ubuntu không thể tìm thấy Phân vùng hoán đổi trên hệ thống của bạn. Vì vậy, tôi khuyên bạn nên tạo phân vùng Hoán đổi bằng hoặc lớn hơn kích thước RAM của mình và thử lại bằng cách chạy

sudo pm-hibernate

Bạn có thể tạo phân vùng trao đổi bằng GParted, chạy cái này để cài đặt nó

sudo apt-get install gparted

2

Tôi gặp vấn đề tương tự sau khi nâng cấp từ 15.10 lên 16.04:

  • Đóng nắp không làm gì cả
  • Tạm dừng thủ công với mục menu trong khay hệ thống dẫn đến trạng thái bị treo một nửa với lối thoát duy nhất để thiết lập lại hệ thống.

Tôi đã giải quyết những vấn đề này bằng cách

  1. nâng cấp kernel lên 4.4.8 (sau khi tạm ngưng từ menu này hoạt động với tôi)
  2. Thêm dòng HandleLidSwitchDocked=suspendvào /etc/systemd/logind.conf (đã làm cho công tắc nắp hoạt động trở lại).

Tôi nghĩ cả hai vấn đề đều là các lỗi cần được khắc phục ( https://bugs.launchpad.net/ubfox/+source/systemd/+orms/1574120 ).


Điều này đã giải quyết vấn đề chỉ cho đình chỉ, hoặc cũng cho ngủ đông?
Enrico Maria De Angelis

0

Hibernate đã bị tắt theo mặc định.

Thử đi

sudo pm-hibernate

Nếu thử nghiệm ngủ đông hoạt động, bạn có thể tiếp tục sử dụng lệnh sudo pm-hibernate khi bạn muốn ngủ đông.

Bạn cũng có thể kích hoạt tùy chọn ngủ đông trong các menu. Để làm điều đó, hãy sử dụng trình soạn thảo văn bản yêu thích của bạn để tạo /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla. Thêm phần sau vào tệp và lưu:

[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

Đọc thêm về Ngủ đông 16.04 từ liên kết này

Tắt máy

sudo shutdown -h now

Khởi động lại

sudo shutdown -r now

Như tôi đã viết, sudo pm-hibernate đã từng hoạt động rất tốt trước khi nâng cấp mẫu 15.10 lên 16.04LTS. Vì vậy, vấn đề nên quan tâm đến phiên bản 16.04LTS. Ngoài ra, có thể tôi đã làm một cái gì đó rất sai theo hướng dẫn mà không hiểu chúng. Bạn có thể giúp tôi sửa chữa những vấn đề này?
Enrico Maria De Angelis
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.