Hệ thống không ngủ đông; màn hình sẽ tắt trong vài giây và không có gì khác xảy ra


8

Tôi vừa nâng cấp Ubuntu 11.10 lên 12.04. Tôi gặp vấn đề với ngủ đông trong 12.04 mới.

Tôi chạy lệnh sau

sudo pm-hibernate

nhưng hệ thống của tôi không ngủ đông, tức là hệ thống của tôi không tắt; thay vào đó, màn hình chỉ nhấp nháy trong vài giây và tiếp tục trạng thái trước đó.

Làm cách nào để khắc phục sự cố này và cho phép ngủ đông trên hệ thống của tôi?


Bạn đã kiểm tra cài đặt BIOS của mình chưa
Mitch

2
@izx Tôi cũng nghĩ vậy ... nhưng hãy nghĩ về nó, không nên sudo pm-hibernatelàm việc ngay cả trước khi chế độ ngủ đông được bật trong 12.04? Đó là cách được đề xuất để kiểm tra nó trước khi bật nó ... phải không? Tôi đang thiếu gì?
Eliah Kagan

@EliahKagan - Bạn hoàn toàn đúng - Tôi đã nhảy quá nhanh. sudo pm-hibernatenên hoạt động bất kể cài đặt polkit.
ish

Câu trả lời:


6

Một cái gì đó trong cấu hình phần cứng của bạn không tương thích với phương pháp ngủ đông của kernel. Thật không may, điều này rất khó để khắc phục sự cố trừ khi trình khắc phục sự cố xảy ra có một hệ thống rất giống nhau.

Thay vào đó, bạn có thể thử chế độ ngủ đông thay thế tuxOnIce ( wikipedia ).

  • TuxOnIce ( wiki | trang chủ ) là một giải pháp thay thế cho công nghệ ngủ đông tích hợp của kernel và được cho là tương thích với phạm vi phần cứng rộng hơn, đáng tin cậy hơn và linh hoạt hơn.
  • Nó dễ dàng cài đặt và nếu nó không hoạt động với bạn, thì dễ dàng gỡ bỏ.
  • Nó không yêu cầu cài đặt kernel tùy chỉnh của TuxOnIce , nhưng các hướng dẫn tuân theo sẽ giúp bạn dễ dàng. Nếu bạn chưa bao giờ mở thiết bị đầu cuối trước đây, bạn có thể muốn ngay bây giờ :-)

    0. Yêu cầu

    Yêu cầu duy nhất cho TuxOnIce là phân vùng trao đổi của bạn ít nhất phải bằng dung lượng bộ nhớ (RAM) bạn có. Bạn có thể kiểm tra điều này bằng cách:

  • Bắt đầu thiết bị đầu cuối với Ctrl+ Alt+T

  • Nhập free -mvà bạn sẽ thấy một cái gì đó như thế này:

                 tổng số bộ đệm chia sẻ miễn phí được sử dụng lưu trữ
    Mem: 1024 731 260 0 0 190
    - / + bộ đệm / bộ đệm: 540 451
    Hoán đổi: 1536 6 1530
    
  • Số sau Swap:(ví dụ 1536) phải nhiều hơn số sau Mem:(ví dụ 1024)

  • Nếu đây không phải là trường hợp và trao đổi của bạn nhỏ hơn bộ nhớ của bạn, bạn phải thay đổi kích thước và tăng kích thước của phân vùng trao đổi của bạn hoặc định cấu hình TuxOnIce để sử dụng tệp hoán đổi đặc biệt. Điều đó nằm ngoài phạm vi của câu trả lời này, nhưng nếu bạn hỏi một câu hỏi khác và đề cập đến nó trong các bình luận, tôi sẽ trả lời và giải thích làm thế nào.

    1. Cài đặt kernel TuxOnIce

  • Bắt đầu thiết bị đầu cuối với Ctrl+ Alt+T

  • Sao chép và dán sau đây vào thiết bị đầu cuối. Điều này bổ sung thêm PPA của TuxOnIce và cài đặt kernel và các tiêu đề tùy chỉnh.
    • sudo apt-add-repository ppa: tuxonice / ppa -y
      và một khi ppa được thêm vào:
    • sudo apt-get cập nhật
      sudo apt-get cài đặt tuxonice-userui linux-generic-tuxonice -y 
      sudo apt-get cài đặt linux-headers-generic-tuxonice -y
  • Bây giờ khởi động lại.
  • Ubuntu bây giờ sẽ khởi động với kernel TuxOnIce . Nếu có bất kỳ vấn đề nào, hãy Shiftnhấn nút khi khởi động và bạn sẽ nhận được menu Grub. Sử dụng các phím mũi tên để đi đến Previous Linux Versions, nhấn enter và nhấn enter lần nữa để quay lại kernel đang hoạt động.

    2. Kiểm tra chức năng ngủ đông.

  • Mở một số ứng dụng bạn thường sử dụng, ví dụ: Firefox, Thunderbird, LibreOffice, v.v.

  • Mở lại thiết bị đầu cuối, với Ctrl+ Alt+ T.
  • Nhập sudo pm-hibernate, nhấn enter, nhập mật khẩu của bạn.
  • Bạn sẽ thấy màn hình khóa trong một giây và sau đó là màn hình tiến trình ngủ đông của TuxOnIce, như màn hình bên dưới:

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

    • Nếu TuxOnIce hoạt động, máy tính của bạn sẽ tắt.
    • Bắt đầu lại, và chờ đợi. TuxOnIce sẽ tiếp tục từ điểm bạn ngủ đông, bao gồm tất cả các cửa sổ bạn đã mở tại vị trí bạn đã mở.
  • Nếu tất cả điều này hoạt động, hãy đến Bước 3, cho phép bạn kích hoạt Hibernate từ bảng điều khiển.

    3. Kích hoạt chế độ ngủ đông từ bảng điều khiển

  • Nhấn Alt+ F2, nhập vào bên dưới và sau đó nhấn enter:

    gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • Dán bên dưới, nhấn Ctrl+ Sđể lưu và Ctrl+ Qđể thoát trình chỉnh sửa:

    [Kích hoạt lại chế độ ngủ đông theo mặc định]
    Danh tính = unix-user: *
    Hành động = org.freedesktop.upower.hibernate
    Kết quảActive = có

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

  • Khởi động lại và bạn sẽ thấy tùy chọn Hibernate như hiển thị bên dưới:

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

    4. Loại bỏ TuxOnIce

    • Nếu TuxOnIce không hoạt động cho bạn hoặc bạn chỉ muốn xóa nó, hãy khởi động thiết bị đầu cuối và nhập:

       sudo apt-get loại bỏ tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice -y
    • và nhớ tắt tùy chọn Hibernate trong menu với:

      sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
    • Sau đó khởi động lại.


Bạn nên đề cập đến liên kết này: askubfox.com/questions/178712/ trên trong câu trả lời nếu người dùng không có đủ trao đổi.
kiri

4

Điều này làm việc cho tôi. Trong một giao diện điều khiển chạy:

sudo apt-get install uswsusp 

Sau đó, bạn có thể thử tạm dừng máy tính của mình với:

sudo s2ram

hoặc ngủ đông với

sudo s2disk

Nếu điều đó phù hợp với bạn thì chỉ cần khởi động lại và bạn sẽ có thể ngủ đông sau đó từ nút thông thường (ở trên cùng bên phải trên Unity Desktop và chọn Hibernate).

Tôi đã thực hiện một hướng dẫn ngắn về vấn đề này và các vấn đề khác cho Dell XPS 13 Developer Edition có sẵn tại đây .


Đơn giản và hoạt động tốt. Có một lỗi đánh máy, tên gói là uswsusp. Ngoài ra, chế độ ngủ đông không hoạt động trong lần thử đầu tiên: nó tắt và sau đó khởi động bình thường sau đó. Tôi cá là đây là điều "khởi động lại để cập nhật cấu hình" truyền thống.
Norswap

wow, điều này thật dễ dàng, chế độ ngủ đông hoạt động trên Dell Latitude E6400 của tôi với Ubuntu 14.04 beta.
Andrea Zonca

Tôi đã không có probs với ngủ đông trở lại trong 8.04. Tôi khá chắc chắn rằng rất nhiều người dùng cao cấp đã làm cho nó hoạt động hoàn hảo mà không bị "hack".
dùng

1

Tôi đã có vấn đề này trước đây. Nếu phân vùng trao đổi của bạn nhỏ hơn dung lượng bộ nhớ mà bạn muốn lưu trữ trong đĩa cứng khi ngủ đông, bạn có thể gặp sự cố này.

Bạn có thể thay đổi kích thước phân vùng trao đổi hoặc sử dụng tệp hoán đổi (sẽ dễ dàng hơn rất nhiều nếu bạn không có không gian trống để thay đổi kích thước phân vùng trao đổi của mình).

Đây là cách làm:

  1. Mở cửa sổ đầu cuối (nhấn Ctrl+ Alt+ Thoặc chọn Ứng dụng> Phụ kiện> Thiết bị đầu cuối ) hoặc đăng nhập vào máy chủ từ xa bằng ứng dụng khách ssh.

  2. Tạo tập tin lưu trữ

    Gõ lệnh sau để tạo swap file 512MB (1024 kích thước * 512MB = 524.288 khối):

    sudo dd if=/dev/zero of=/swapfile1 bs=1024 count=524288
    

    Đầu ra mẫu:

    524288+0 records in
    524288+0 records out
    536870912 bytes (537 MB) copied, 3.23347 s, 166 MB/s
    
    • if=/dev/zerocó nghĩa là đọc từ tập tin / dev / zero. /dev/zerolà một tệp đặc biệt cung cấp các ký tự null để xây dựng tệp lưu trữ được gọi là /swapfile1.
    • of=/swapfile1có nghĩa là ghi tập tin lưu trữ vào /swapfile1.
    • bs=1024 nghĩa là đọc và ghi 1024 BYTES byte mỗi lần.
    • count=524288 có nghĩa là Chỉ sao chép các khối đầu vào 523288 BLOCKS.
  3. Tập tin trao đổi an toàn

    Thiết lập quyền truy cập tệp chính xác vì lý do bảo mật, bằng cách nhập:

    sudo chmod 0600 /swapfile1
    

    Một tập tin hoán đổi có thể đọc được trên thế giới là một lỗ hổng lớn cục bộ. Lệnh trên đảm bảo chỉ người dùng root có thể đọc và ghi vào tập tin.

  4. Thiết lập vùng trao đổi Linux

    Nhập lệnh sau để thiết lập vùng trao đổi Linux trong tệp:

    sudo mkswap /swapfile1
    

    Đầu ra mẫu:

    Setting up swapspace version 1, size = 524284 KiB
    no label, UUID=0e5e7c60-bbba-4089-a76c-2bb29c0f0839
    
  5. Kích hoạt tệp hoán đổi

    Cuối cùng, để kích hoạt /swapfile1không gian hoán đổi ngay lập tức, hãy nhập:

    sudo swapon /swapfile1
    
  6. Cập nhật /etc/fstabtệp Để kích hoạt /swapfile1sau khi khởi động lại hệ thống Linux, hãy thêm một mục vào /etc/fstabtệp. Mở tệp này bằng trình soạn thảo văn bản, chẳng hạn như vi:

    sudo vi /etc/fstab
    

    Nối dòng sau:

    /swapfile1 none swap sw 0 0
    

    Lưu và đóng tập tin. Lần sau Linux đi lên sau khi khởi động lại, nó cho phép các tập tin hoán đổi mới cho bạn tự động.

  7. Làm cách nào để xác minh hoán đổi được kích hoạt hay không?

    Đơn giản chỉ cần sử dụng freelệnh:

    free -m
    

Đây là liên kết từ nơi tôi có hướng dẫn này: Thêm tệp hoán đổi


Một tập tin hoán đổi không cần phải được trong /etc/fstabvà điều này là không cần thiết để kích hoạt nó.
Zanna

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.