You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu Mate 22.04.5 LTS笔记本合盖休眠后自动唤醒的解决需求

Ubuntu Mate 22.04.5 LTS笔记本合盖休眠后自动唤醒的解决需求

太懂你这种合盖把电脑塞包里,结果掏出来的时候烫得像暖手宝、电量还见底的崩溃感!针对你想要“合盖休眠后除非开盖,啥情况都别唤醒”的需求,咱们可以从这几个方向来搞定:

  • 禁用非开盖的唤醒源(最关键)
    首先得搞清楚哪些设备能触发电脑唤醒,打开终端输入这个命令:
    cat /proc/acpi/wakeup
    你会看到一串设备列表,比如XHC(USB控制器)、PS2K(内置键盘)、PS2M(触控板)这些,后面标着enabled的就是能唤醒电脑的设备。
    要禁用某个设备的唤醒功能,比如USB控制器,就输入:
    sudo sh -c "echo XHC > /proc/acpi/wakeup"
    重复这个命令,把所有非LID(开盖触发)的enabled设备都禁用掉。不过这个设置重启后会失效,要永久生效的话,咱们做个systemd服务:

    1. 创建一个服务文件:
      sudo nano /etc/systemd/system/disable-wakeup-sources.service
    2. 粘贴下面的内容进去:
      [Unit]
      Description=禁用非开盖触发的唤醒源
      [Service]
      Type=oneshot
      ExecStart=/bin/sh -c 'for dev in $(cat /proc/acpi/wakeup | grep -v LID | grep enabled | cut -f1); do echo $dev > /proc/acpi/wakeup; done'
      RemainAfterExit=true
      [Install]
      WantedBy=multi-user.target
      
    3. 保存退出后,启用并启动这个服务:
      sudo systemctl enable disable-wakeup-sources.service
      sudo systemctl start disable-wakeup-sources.service
      这样重启后,除了开盖操作,其他设备都没法唤醒电脑了。
  • 调整Mate桌面的电源设置
    打开系统设置里的「电源管理」,确认“合盖时”已经设为休眠。然后找一找有没有“允许USB设备唤醒”“允许键盘唤醒”这类选项,直接把它们关掉。
    如果图形界面里找不到相关选项,就用dconf编辑器:先安装(没装的话执行sudo apt install dconf-editor),打开后导航到org.mate.power-manager,找到allow-usb-wakeupallow-keyboard-wakeup这两个选项,把它们都设为false

  • 内核参数兜底(针对硬件相关的唤醒)
    如果上面的方法还不管用,可能是内核层面的USB或ACPI唤醒问题。咱们改一下grub参数:

    1. 打开grub配置文件:
      sudo nano /etc/default/grub
    2. 找到GRUB_CMDLINE_LINUX这一行,在引号里添加usbcore.autosuspend_delay_ms=-1 acpi.ec_no_wakeup=1,比如改成:
      GRUB_CMDLINE_LINUX="quiet splash usbcore.autosuspend_delay_ms=-1 acpi.ec_no_wakeup=1"
    3. 保存后更新grub:
      sudo update-grub
      重启电脑后,内核就会禁用USB的自动唤醒以及EC(嵌入式控制器)的唤醒触发。

备注:内容来源于stack exchange,提问作者dezzer10

火山引擎 最新活动