VinC的博客

解决Mint18.1系统下,Macbook6,2无法进入suspend模式等相关问题(合盖后无法锁定机子)

在Mint18.1系统下,Macbook Air的suspend模式存在一些问题。这里suspend模式指的是Macbook Air合上盖后自动锁定屏幕并且黑屏的模式。以下是我的解决方案 :-)


  1. 如果Macbook在合上盖后再打开,屏幕没反应(注意Macbook其实是黑屏了,并没有卡死),请使用 mba6x_bl 修复,请使用他们的 指南
  2. 如果Macbook合上盖后不能正常进入suspend模式,请使用 Bob-El’s solution 的方案。

    • 备份并开启 /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
      # This is called when the user closes the lid and calls
      # /etc/acpi/lidbtn.sh for further processing.
      # Optionally you can specify the placeholder %e. It will pass
      # through the whole kernel event message to the program you’ve
      # specified.
      # We need to react on “button lid.“ and “button/lid.“ because
      # of kernel changes.
      event=button[ /]lid
      action=/etc/acpi/lidbtn.sh

    • 创建文件 /etc/acpi/lidbtn.sh
      sudo nano /etc/acpi/lidbtn.sh

    • 把以下代码粘贴进 lidbtn.sh
      <pre><code>#!/bin/bash
      if grep -q closed /proc/acpi/button/lid/*/state
      then
          /usr/sbin/pm-suspend
      fi</code></pre>
      
  3. 如果Macbook在充电时无法进入suspend模式,请使用以下设置。
    打开 Power Management -> On AC Power -> Actions -> When laptop lid is closed, 选择 Blank screen。更改设置后,Macbook合盖后会进入suspend模式。

  4. 如果键盘背光运行不正常,可以使用一下方案。 详述

    • 禁止键盘背光自动调节
      sudo nano /etc/dbus-1/system.d/org.freedesktop.UPower.conf
      ,找到下列代码,并把 <allow 替换为 <deny

      1
      2
      <allow send_destination="org.freedesktop.UPower"
      send_interface="org.freedesktop.UPower.KbdBacklight"/>
    • 添加一个命令行函数,用来手动更改键盘背光。
      打开你的shell配置文档~/.bashrc或者~/.zshrc(我用zsh,所以是~/.zshrc),把以下代码粘贴至文件末尾(kbd是keyboard的缩写):
      kbd() { echo "$@" | sudo /usr/bin/tee -a "/sys/class/leds/smc::kbd_backlight/brightness" }
      现在你就有一个可以控制键盘背光的函数了,使用例子: 在命令行(terminal)输入kdb 0 即可关闭键盘光源,数字参数的范围是0-255。

    • 解决方案4的一个缺点是Macbook的键盘背光快捷键会因为org.freedesktop.UPower.conf文件的更改而失效。但是这个解决方案已经足够好了,并且通过谷歌,应该能找到不少的变通方案。