Ноутбук не зависает при закрытой крышке

Я новый пользователь Ubuntu 13.10. Закрытие крышки моего ноутбука не приводит к тому, что компьютер переходит в режим ожидания, то есть каждый раз, когда я закрываю крышку без ручного подвешивания компьютера, батарея умирает.

В Power Management установлены правильные настройки - приостановите ноутбук на закрытой крышке для переменного и постоянного тока, но они не влияют на реальное поведение.

Похоже, что это общая проблема для многих пользователей, начиная с 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
25
задан 4 October 2015 в 16:12

6 ответов

(Обратите внимание, что # перед командой указывает, что она должна выполняться суперпользователем, поэтому замените # на sudo.)

Откройте logind.conf в качестве корневой: # vim /etc/systemd/logind.conf и удалите # до HandleLidSwitch=suspend. Также можно изменить опцию suspend на hibernate или power-off

Fix from Launchpad Bug #863834, comment #30:

  1. Open a terminal: Ctrl + Alt + t
  2. # mkdir /etc/acpi/local
  3. # vim /etc/acpi/local/lid.sh.post
  4. Copy this short script:

     #!/bin/bash
     если grep -q закрыт /proc/acpi/кнопка/кнопка/заслонка/*/состояние
     затем
     /usr/sbin/pm-suspend
     
    

    ... и вставьте его в vim, набрав текст: "+p

  5. Сохранить, набрав ZZ (прописными буквами)
  6. # chmod 755 /etc/acpi/local/lid.sh. post (так что это работает, даже когда управление питанием выполняется под зарегистрированным пользователем, а не под root)
20
ответ дан 4 October 2015 в 16:12

В ответ на этот пост я столкнулся с такой же проблемой на моем Toshiba Satellite a305-s6902 (который я приобрел исключительно для тренировки на Linux), и обнаружил, что это работает на меня:

sudo vim /etc/systemd/logind.conf

затем, как указано выше, удалите # до HandleLidSwitch=suspend и сохраните (ESC :wq).

HOWEVER ---> Я нахожу, что я должен перевести компьютер в режим ожидания вручную ПЕРВЫЙ, и после каждой перезагрузки включать триггер. Не знаю почему, но для меня это сработало последовательно.

5
ответ дан 4 October 2015 в 16:12

Я решил эту проблему, раскомментировав переменную LID_SLEEP = true из / etc / default / acpi-support .

1
ответ дан 4 October 2015 в 16:12

У меня был та же проблема с 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
    если grep -q closed / proc / acpi / button / lid / * / state
    тогда
      sudo / usr / sbin / pm-приостановить
    фи
     

    ПРИМЕЧАНИЕ. Для выполнения этой работы я добавил sudo в строку / usr / sbin / pm-приостановить . В противном случае он не запустился бы.

  4. Наконец, я сохранил его и, как было опубликовано ранее, набрал; вошедший в систему пользователь вместо root набрал;

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

К сожалению, это не сработало. Однако я провел несколько тестов с командами в сценарии, и они действительно работали, поэтому я решил, что их не запускает что-то еще. Далее в сообщениях я наткнулся на ссылку на ошибку диспетчера питания Gnome:

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

Особенно интересным было сообщение Майкла Backhaus от 09.06.2012, в котором он написал:

/ etc / acpi / events / lidbtn триггеры /etc/acpi/lid.sh , которые запускают / etc / acpi /local/lid.sh.post.[12289 sizes После этого была почти идентичная версия вышеупомянутого сценария bash, 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
     # Это вызывается, когда пользователь закрывает крышку и вызывает
     # /etc/acpi/lidbtn.sh для дальнейшей обработки.
    
     # При желании вы можете указать заполнитель% e.  Это пройдет
     # через все сообщение о событии ядра в программу, которую вы
     # указан.
    
     # Нам нужно реагировать на "button lid. *" И "button / lid. *", Потому что
     # изменений ядра.
    
    event = button [/] крышка
    действие = / etc / acpi / lidbtn.sh
     
  2. Я сохранил его. Затем скопировал /etc/acpi/local/lid.sh.post в / etc / acpi / и переименовал его lidbtn.sh .

Я перезагрузил а теперь закрытие крышки всегда приостанавливает работу моего ноутбука. Однако мне приходится вручную выводить его из спящего режима при открытии крышки. Следующий проект, над которым нужно работать.

ДОБАВЛЕНИЕ: Я должен добавить, что у меня нет второго монитора. Для меня проблема заключалась в том, что приостановка просто не работала, когда крышка была закрыта.

1
ответ дан 4 October 2015 в 16:12

Для меня проблема заключалась в том, что закрытие крышки обрабатывается иначе, когда подключен внешний монитор . Таким образом, изменение этой опции в качестве пользователя в dconf-editor решило для меня проблему:

Схема:

org.cinnamon.settings-daemon.plugins.power

или (в зависимости от того, какую среду рабочего стола вы используете)

org.gnome.settings-daemon.plugins.power

Имя:

lid-close-suspend-with-external-monitor

Установите значение :

true

Описание:

Если внешние мониторы не подключены, закрытие крышки ноутбука приведет к приостановить машину (как установлено действием закрытия батареи и крышки-закрытие-ac-действие). Однако по умолчанию закрытие крышки при наличие внешнего монитора не остановит машину, так что можно продолжать работать с этим монитором (например, для док-станций или зрители СМИ). Установите для этого ключа значение False, чтобы сохранить поведение по умолчанию, или True, чтобы останавливать ноутбук всякий раз, когда крышка закрывается и независимо от внешних мониторов.

0
ответ дан 4 October 2015 в 16:12

Я использую 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
  • # /etc/acpi/events/lidbtn замените содержимое powerbtn текстом ниже

    # /etc/acpi/events/lidbtn
    # Это вызывается, когда пользователь закрывает крышку и вызывает 
    # /etc/acpi/lidbtn.sh для дальнейшей обработки. 
    # Опционально можно указать плейсхолдер %e. Пройдет 
    # через все сообщение о событии в ядре программе, которое вы получили 
    # ...указано. 
    # нужно реагировать на "button lid.*" и "button/lid.*", потому что 
    #изменения ядра. 
    event=button[ /]lid 
    действие=/etc/acpi/lidbtn.sh
    
  • создать /etc/acpi/lidbtn.sh

    sudo nano /etc/acpi/lidbtn.sh
    
  • поместите в него следующий текст

    #!/бин/бэш
    если grep -q закрыт /proc/acpi/кнопка/кнопка/заслонка/*/состояние
     затем
     /usr/sbin/pm-suspend
    
    
  • Откройте Управление питанием -> Питание переменного тока -> Действия -> Когда крышка ноутбука закрыта , выберите Пустой экран . Это сохранит MBA приостановленным при подключении к электропитанию.

Единственная проблема, которую я заметил, это то, что когда MBA приостановлено с подключенным электропитанием , автоматически загорится подсветка его клавиатуры. Но в остальном всё работает хорошо.

0
ответ дан 4 October 2015 в 16:12

Другие вопросы по тегам:

Похожие вопросы: