Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 连接/断开电源时使用udev激活脚本大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

当我连接/断开powersupply时,我正试图让udev运行几个小脚本.我在/etc/udev/rules.d/50-caff.rules中有以下代码: SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_STATUS}=="Charging", RUN+="/home/haukur/rules/off.sh" SUBSYSTEM=="power_supply
当我连接/断开powersupply时,我正试图让udev运行几个小脚本.我在/etc/udev/rules.d/50-caff.rules中有以下代码

SUBSYstem=="power_supply",ENV{POWER_SUPPLY_STATUS}=="Charging",RUN+="/home/haukur/rules/off.sh"
SUBSYstem=="power_supply",ENV{POWER_SUPPLY_STATUS}=="Discharging",RUN+="/home/haukur/rules/on.sh"

这是on.sh:

#!/bin/sh
caffeine -a

和off.sh:

#!/bin/sh
caffeine -d

无论如何,我写了这些,写了udevadm控制–reload-rules到bash并且……什么也没发生.当我插上或拔掉电源时,咖啡因似乎根本没有激活.

根据/ var / log / syslog(Ubuntu替换/ var / log / messages),udev会在我拔出插件时识别:

Feb 26 08:44:52 (nonE) udevd[3838]: starTing '/home/haukur/rules/off.sh'

但是当它试图运行off.sh(它本身试图运行咖啡因)时,它会返回此错误

udevd[2719]: '/home/haukur/rules/off.sh'(err) '** (caffeine:3840): WARNING **: Command line `dbus-launch --autolaunch=62907743a139af9b3c86412e00000026 --binary-Syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization Failed.\n'

你知道怎么解决这个问题吗?使用Xmonad WM运行Ubuntu 12.04 LTs.

解决方法

如果应用程序“caffeine”需要访问您的桌面,您可能需要在调用程序之前导出DISPLAY:

export DISPLAY=:0

您可以简单地将其添加到命令调用

DISPLAY=:0 caffeine -a

大佬总结

以上是大佬教程为你收集整理的linux – 连接/断开电源时使用udev激活脚本全部内容,希望文章能够帮你解决linux – 连接/断开电源时使用udev激活脚本所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。