AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 417956
Accepted
piegames
piegames
Asked: 2018-01-19 00:27:57 +0800 CST2018-01-19 00:27:57 +0800 CST 2018-01-19 00:27:57 +0800 CST

永久更改`/proc/acpi/wakeup`

  • 772

我禁用了大部分条目,/proc/acpi/wakeup/以确保只有电源按钮和笔记本电脑盖可以恢复我的系统,而不是鼠标或键盘。问题是:每次我重新启动时,设置都会由于某种原因被重置。

有没有办法使这些更改永久化?有一些解决方法只是将命令放入与某些唤醒例程挂钩的脚本中,但真的没有其他解决方案吗?

我正在使用 Debian/Gnome Windows 10 双启动笔记本电脑

debian proc
  • 7 7 个回答
  • 10764 Views

7 个回答

  • Voted
  1. John Lindgren
    2019-07-30T16:00:45+08:002019-07-30T16:00:45+08:00

    对于 USB 鼠标或键盘,您可以使用 udev 规则使设置永久化。首先,使用 查找鼠标/键盘的 PCI 供应商 ID lsusb。对于我的鼠标,它是046d:

    总线 001 设备 006:ID 046d :c52b Logitech, Inc. Unifying Receiver

    然后创建一个类似 my 的“规则”文件/etc/udev/rules.d/logitech.rules,只需将“046d”替换为您自己设备的供应商 ID:

    ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="046d", ATTR{power/wakeup}="disabled"
    
    • 15
  2. matcheek
    2019-03-16T00:52:13+08:002019-03-16T00:52:13+08:00

    acpitool可用于此apt install acpitool

    然后 sudo acpitool -W [一些数字]

    some number设备 ID 来自哪里/proc/acpi/wakeup

    maciej@michal:~$ sudo acpitool -W 22
      Changed status for wakeup device #22 (UHC6)
    
       Device   S-state   Status   Sysfs node
      ---------------------------------------
      1. PCE2     S4    *disabled  pci:0000:00:02.0
      2. PCE3     S4    *disabled
      3. PCE4     S4    *disabled  pci:0000:00:04.0
      4. RLAN     S4    *enabled   pci:0000:02:00.0
      5. PCE5     S4    *disabled
      6. PCE6     S4    *disabled
      7. PCE7     S4    *disabled  pci:0000:00:07.0
      8. PCE9     S4    *disabled
      9. PCEA     S4    *disabled
      10. PCEB    S4    *disabled
      11. PCEC    S4    *disabled
      12. SBAZ    S4    *disabled  pci:0000:00:14.2
      13. PS2K    S4    *disabled
      14. PS2M    S4    *disabled
      15. UAR1    S4    *disabled  pnp:00:03
      16. P0PC    S4    *disabled  pci:0000:00:14.4
      17. UHC1    S4    *disabled  pci:0000:00:12.0
      18. UHC2    S4    *disabled  pci:0000:00:12.1
      19. UHC3    S4    *disabled  pci:0000:00:12.2
      20. USB4    S4    *disabled  pci:0000:00:13.0
      21. UHC5    S4    *disabled  pci:0000:00:13.1
      22. UHC6    S4    *disabled  pci:0000:00:13.2
      23. UHC7    S4    *enabled   pci:0000:00:14.5
    
    • 2
  3. Hrishikesh Kadam
    2021-02-16T07:31:07+08:002021-02-16T07:31:07+08:00

    执行此操作的首选方法是service使用 systemd 创建一个。
    添加脚本rc.local是不推荐的方式。

    1. 在任何你想要的地方创建一个脚本文件。例如:~/scripts/disable-devices-as-wakeup.sh。
    #!/bin/bash
    
    declare -a devices=(XHC OCH1 USB1 USB2) # <-- Add your entries here
    for device in "${devices[@]}"; do
        if grep -qw ^$device.*enabled /proc/acpi/wakeup; then
            sudo sh -c "echo $device > /proc/acpi/wakeup"
        fi
    done
    
    1. 通过从终端执行它来测试它。

    2. 如果一切正常,那么让我们提供服务。

    $ touch ~/scripts/disable-devices-as-wakeup.service
    

    ~/scripts/disable-devices-as-wakeup.service -

    [Unit]
    Description=Disable devices as wakeup
    
    [Service]
    ExecStart=/home/username/scripts/disable-devices-as-wakeup.sh
    Type=oneshot
    
    [Install]
    WantedBy=multi-user.target
    
    1. 将服务复制或移动到/etc/systemd/system/.
    $ sudo cp ~/scripts/disable-devices-as-wakeup.service /etc/systemd/system/
    
    1. 启用服务。
    $ systemctl enable disable-devices-as-wakeup.service
    
    1. 重新启动操作系统并检查状态。
    $ systemctl status disable-devices-as-wakeup.service
    

    详细解释见https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/chap-managing_services_with_systemd

    • 2
  4. Gerard H. Pille
    2018-01-19T04:14:15+08:002018-01-19T04:14:15+08:00

    Eric Garrido在那个 echo 中有一个脚本,/etc/rc.local允许唤醒他的系统的那些设备,到/proc/acpi/wakeup.

    for i in `/bin/grep USB /proc/acpi/wakeup | /usr/bin/awk '{print $1}'`; 
    do 
        echo $i > /proc/acpi/wakeup; 
    done
    
    • 1
  5. Dan Dishonored
    2021-04-29T20:45:16+08:002021-04-29T20:45:16+08:00

    我决定在/usr/lib/systemd/system-sleep/中创建脚本

    根据手册页 systemd将在挂起之前运行它。

    • 1
  6. Best Answer
    Yuri
    2018-01-19T01:22:07+08:002018-01-19T01:22:07+08:00

    这/proc是一个包含运行时系统信息的虚拟文件系统。所以它的内容会在重启时重置。

    // 编辑:设置一个udev 规则或创建一个脚本,为on start upecho设置正确的值。/proc/acpi/wakeup/

    • 0
  7. 21rw
    2022-05-28T06:57:25+08:002022-05-28T06:57:25+08:00

    如果条目仅在重新启动时反转,您可能能够在重新启动时摆脱 crontab。

    在启动时,以下 crontab 将反转 XHC 条目。

    @reboot /bin/sh -c '/bin/echo XHC > /proc/acpi/wakeup'

    • 0

相关问题

  • GRUB 配置以识别同一 Linux 发行版的不同桌面环境(安装)

  • astyle 不会更改源文件格式

  • 接收有关全新 Debian 的电子邮件

  • Debian Stretch:libgs_plugin_systemd-updates.so 中的 gnome-software 段错误

  • 如何在拼音输入法中输入ü?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve