jjzjj

linux - 为外部显示添加 udev 规则

我写了一个小的shell脚本,用xrandr配置附加的外部显示器。#cat/home/didi/bin/monitor_autoswitcher.sh#!/bin/bashxrandr|grep"HDMI1connected"if[[$?==0]];then#isconnectedxrandr--outputHDMI1--right-ofLVDS1--autoelse#notconnectedxrandr--outputHDMI1--autofixrandr|grep"VGA1connected"if[[$?==0]];then#isconnectedxrandr--outputVGA

linux - 如何使用 udev 识别设备

我想使用libudev来监视某些设备。具体来说,我想监视可移动存储:USB硬盘驱动器、USBkey、SD卡等。如果您知道该设备的父级“子系统”和“devtype”,libudevAPI可让您找到该设备。我在我的计算机上试用了这些设备并使用udevadm发现所有存储类型都有'block'->'scsi'的设备子系统,但我不知道这些设备有什么devtype。是否有我可以在某处用作引用的devtypes和子系统列表,或查找devtype的更好方法? 最佳答案 您可以使用ls/sys/class/获取子系统列表我不确定设备类型。我猜你可以使

linux - udev:启动时连接的设备

我正在使用udev检测我的Ubuntu10.04LTSx64服务器上的USB驱动器连接和断开连接。在机器运行时连接USB设备时一切正常,但如果在启动时已经存在,我的脚本不会完成,显然是因为mkdir/tmp/blah不起作用。如果我随后在终端输入sudoudevadmtrigger,一切正常。我假设在udev第一次根据其规则评估连接的设备时,根文件系统尚未挂载。因此我的问题是:我是否正确识别了问题?是否有解决它的标准方法-即是否有/tmp/的替代方案,我可以同时使用两者/挂载之前和之后? 最佳答案 根文件系统已挂载,但当时是只读的。

linux - UDEV - 在插入的 USB 闪存驱动器上运行程序

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。关于您编写​​的代码问题的问题必须在问题本身中描述具体问题—并且包括有效代码以重现它。参见SSCCE.org寻求指导。关闭8年前。Improvethisquestion我试图让一个脚本在任何USB闪存驱动器(不仅仅是特定的)插入系统时运行,我已经断断续续地拉扯我的头发大约2周,试图弄清楚它出去。有谁能够帮我?(如果有帮助,运行Ubuntu)。我至少需要能够传递驱动器序列号和开发路径(/dev/sd**)。

linux - 从 udev 启动的脚本不再具有 DISPLAY 访问权限?

我有一个从udev运行的脚本当我插入外部驱动器时。它总是有效。但是从升级后Linux3.8/Xorg1.12/Mint14(Ubuntu12.10兼容)到Linux3.11/Xorg1.14/Mint16(Ubuntu13.10兼容),它不再起作用。该脚本仍在运行,但需要显示的命令都不起作用。我通过退出udev来解决这个问题守护进程并手动运行udevd--debug用于详细输出(更多信息见下文)。该脚本曾经在中工作薄荷14/12.10:exportDISPLAY=:0UUID=$1DEV=$2notify-send-t700"mounting$DEV($UUID)"gnome-term

linux - 在 udev 脚本中将 ATTR{idVendor} 作为参数传递

我有一个脚本,只要连接供应商1004的USB设备就会运行该脚本。我正在使用的udev规则有效并且看起来像这样。SUBSYSTEM=="usb",ATTR{idVendor}=="1004",RUN+="/var/www/beta/trigger.php"现在我想让这个脚本在连接任何USB设备时运行,并将供应商ID作为参数传递。(因此脚本可以决定是否必须运行它。)到目前为止,添加一个可以在脚本中访问的参数是有效的:SUBSYSTEM=="usb",RUN+="/var/www/beta/trigger.phpmyparam"有人可以告诉我如何用ATTR{idVendor}的值替换“myp

python - USB 设备 UDev 和 D-BUS

我正在尝试获取Ubuntu10.10中当前插入的USB设备的列表并监视发生的变化,例如使用UDev和D-BUS插入或拔出的设备。我对使用D-BUS进行编程还很陌生。我看到一个例子:Linux:Howtodetectisusbkeyboardispluggedandunplugged只有那个使用HAL,我知道HAL已被弃用。我找到了一些工作代码,对其进行了一些修改,只是它不适用于任何仅存储设备的设备,例如USB内存棒、媒体播放器或cd-rom设备。我想要整个鼠标、键盘、USB相机充电器任何插入USB的东西我想让我的程序知道它。这基本上就是我所拥有的(http://moserei.de/2

linux - uevent 从内核发送到用户空间 (udev)

我知道udev在linux系统上播放,它通过netlinksocket接收内核发来的uevent。但是,我的问题是:内核如何发出事件?它必须是通过添加/删除设备触发的,然后向udev发送事件。内核如何做到这一点?(有没有我能找到的代码示例?)udev仅通过netlink套接字接收这些uevents。这是udev执行此操作的唯一方法。这是正确的吗?当uevent从内核发出时,我知道它可以进行广播。但是,它能做单播吗?感谢任何反馈。 最佳答案 它发送名为uevent的netlink消息。uevent只是一些特殊格式的字符串,通过netl

java - adb devices => 没有权限(plugdev 组中的用户;您的 udev 规则错了吗?)

这个问题在这里已经有了答案:setupdevicefordevelopment(????????????nopermissions)(30个回答)关闭3年前。如果我将装有AndroidOreoOS的Android手机连接到LinuxPC,我会收到以下错误日志$adbdevicesListofdevicesattachedxxxxxxxxnopermissions(userinplugdevgroup;areyourudevruleswrong?);see[http://developer.android.com/tools/device.html]我尝试了错误消息提供的链接,但仍然遇到

android - 没有权限(plugdev 组中的用户;你的 udev 规则错了吗?)

命令flutterdevices和adbdevices给了我同样的错误:adbdevicesListofdevicesattachedFA69H0308097nopermissions(userinplugdevgroup;areyourudevruleswrong?);see[http://developer.android.com/tools/device.html]flutterdoctor检测到我的旧Nexus5,但是,使用我的Pixel手机,我得到了权限错误。Pixel手机处于Debug模式。Ubuntu7.10上flutterdoctor的输出是flutterdoctorD