Tag: udev

如何允许软件访问任何USB设备?

我有一个基于libusb的程序,无法在新安装的Ubuntu上打开USB设备,因为它缺少权限。 这个解决方案可能对我有用,但它需要手动指定每个设备 – 我有很多。 所以我尝试了这个(在文件/etc/udev/rules.d/41-cvs-permissions.rules ): SUBSYSTEM==”usb”, MODE:=”0666″ 我省略了VID和PID,希望它只是将规则应用于所有设备。 它肯定有一些效果,但效果相当奇怪:现在libusb只检测到2个,而不是检测到它无法打开的5个设备 – 它们都是USB主机控制器,而不是实际设备。 如何实现我想要的?

udev规定只允许一个供应商和型号USB驱动器,但没有其他

因此,我们正在努力建立一个环境,在我们的Linux笔记本电脑上安装一个安全的存储设备,这样我们的Linux笔记本电脑只能连接一个特定的USB驱动器:金士顿DataTraveler 2.0。 供应商:型号代码是这个(来自lsusb ): Bus 003 Device 003: ID 0951:1665 Kingston Technology 我一直试图让这些规则起作用,但在12.04环境中规则不起作用。 (注意我用#prepended行做了评论,但它们不在udev文件中): # If a device is NOT a Kingston drive, ignore it. SUBSYSTEMS==”usb”, DRIVERS==”usb”, ATTRS{idVendor}!=”0951″, OPTIONS+=”ignore_device” # If a device is a Kingston drive, but is NOT the model we have, ignore it. SUBSYSTEMS==”usb”, DRIVERS==”usb”, ATTRS{idVendor}==”0951″, ATTRS{idProduct}!=”1665″, OPTIONS+=”ignore_device” # If a device […]

当HDMI监视器/接收器插入笔记本电脑时,自动将音频切换到HDMI

我有一台带HDMI端口的笔记本电脑。 当我们无家可归并与朋友在一起时,我一直用HDMI线缆将其插入环绕声接收器。 为了使声音工作,我必须打开声音设置作业并将硬件配置文件从“模拟立体声输出”切换到“数字立体声(HDMI)输出”,以使声音来自环绕声,而不是笔记本电脑的迷你扬声器。 当我拔下它以从扬声器中发出声音时,我必须反过来。 我这样做有点无聊。 我想编写这个脚本。 我已经看到了这个问题及其答案,但是当声音配置文件下拉显示多个选项时, pacmd list-sinks只显示一个pacmd list-sinks器。 是否有一个udev事件我可以将其挂钩,以便它可以在HDMI状态发生变化时运行脚本?

在用户不安全地拔下USB拇指驱动器时提醒用户

用户反复抱怨USB拇指驱动器上的数据丢失后,如果没有卸载则拔掉它们。 我们在我们的机器上运行Ubuntu 14.04 LTS。 启用自动安装。 由于我已经厌倦了在拔掉插头之前记住它们进行安全移除,因此我想在拔出已安装的USB驱动器时让Ubuntu显示警报。 我考虑添加一个udev规则,在驱动器仍然挂载的情况下运行notify-send 。 如何确定卸下后是否安装了USB驱动器?

重启udev的正确方法是什么?

我已将eth1接口的名称更改为eth0 。 如何让udev现在重新读取配置? service udev restart 和 udevadm control –reload-rules 没有帮助。 除了重启之外,还有什么有效的方法吗? (是的,重启有助于解决这个问题) 是的,我知道我应该在sudo ,但是我在上面发布的任何一个都没有改变ifconfig -a输出:我仍然看到eth1 ,而不是eth0 。 我刚刚更改了udev-rule line的NAME属性。 不知道这是无效的任何原因。 执行上面发布的两个命令没有任何错误 ,但它们只是不改变ifconfig -a输出中的实际接口名称。 如果我执行reboot – 那么接口名称会按预期更改。 出于开发目的,我编写了一些克隆虚拟机(VirtualBox驱动)的脚本,并以某种方式预先设置它们。 所以我执行命令来克隆VM,启动它,只要网络接口MAC被更改 – udev就会将第二条规则添加到网络持久规则中。 机器首次启动后,有两条规则: eth0 ,它不存在,只要它存在于原始VM映像MAC中 eth1 ,存在,但所有文件中的所有配置都引用eth0 ,所以对我来说不是那么好 所以我用sed删除了eth0的行(它在克隆的图像中已经过时且无用)并用eth0替换eth1 。 所以目前我有有效的持久规则,但/dev仍然存在eth1 。 问题:我不想重启机器(这需要另外一次,这对构建VM-stage来说不是好事)而只是想让我的/dev用一些命令重建,所以我已经准备好了 -使用VM而不重新启动。

我可以在启动时阻止IDENTIFY PACKET DEVICE命令到特定设备吗?

这与之前已解决的与安装相关的问题有关。 我正在开一个新问题,因为我仍然需要让我的DVD驱动器工作。 问题 : 我的ASUS DRW-24B1 / ST DVD驱动器连接到我的asmedia ASM1061时启动失败。 症状 : ata8.00: exception Emask 0x52 Sact 0x0 SErr 0xffffffff action 0xe frozen ata8: SError: { blah blah } ata8.00: failed command: IDENTIFY PACKET DEVICE ata8.00: cmd blah blah res blah blah (ATA bus error) ata8.00: status: { DRDY } ata8: hard resetting link 背景 […]

使用udev规则重新映射14.04中的串行端口?

所以我有一个udev规则文件重新映射串口,因为它们不是所需的顺序。 这些规则在SLES11 SP1上运行良好,但似乎在14.04上没有做任何事情。 SUBSYSTEM==”platform”, DRIVERS==”serial8250″, KERNELS==”serial8250″, KERNEL==”ttyS2″, NAME=”ttyS10″ SUBSYSTEM==”platform”, DRIVERS==”serial8250″, KERNELS==”serial8250″, KERNEL==”ttyS3″, NAME=”ttyS11″ SUBSYSTEM==”tty”, DRIVERS==”serial”, ATTRS{id}==”PNP0501″, KERNEL==”ttyS4″, NAME=”ttyS12″ SUBSYSTEM==”tty”, DRIVERS==”serial”, ATTRS{id}==”PNP0501″, KERNEL==”ttyS5″, NAME=”ttyS13″ SUBSYSTEM==”tty”, DRIVERS==”serial”, ATTRS{subsystem_vendor}==”0x1415″, KERNEL==”ttyS6″, NAME=”ttyS2″ SUBSYSTEM==”tty”, DRIVERS==”serial”, ATTRS{subsystem_vendor}==”0x1415″, KERNEL==”ttyS7″, NAME=”ttyS3″ SUBSYSTEM==”tty”, DRIVERS==”serial”, ATTRS{subsystem_vendor}==”0x1415″, KERNEL==”ttyS8″, NAME=”ttyS4″ SUBSYSTEM==”tty”, DRIVERS==”serial”, ATTRS{subsystem_vendor}==”0x1415″, KERNEL==”ttyS9″, NAME=”ttyS5″ SUBSYSTEM==”tty”, DRIVERS==”serial”, ATTRS{subsystem_vendor}==”0x1415″, KERNEL==”ttyS10″, NAME=”ttyS6″ SUBSYSTEM==”tty”, DRIVERS==”serial”, ATTRS{subsystem_vendor}==”0x1415″, KERNEL==”ttyS11″, NAME=”ttyS7″ SUBSYSTEM==”tty”, DRIVERS==”serial”, […]

检测到蓝牙输入设备后运行shell命令?

当我的鼠标连接到我的电脑时,我正在尝试使用xinput命令自动减慢我的Magic Mouse灵敏度。 我设法在rules.d下创建一个调用shell脚本的文件。 问题是它适用于除xinput命令之外的所有脚本,因为规则在其他输入设备之间列出鼠标之前启动脚本,因此xinput命令无法找到它。 所以,我的问题是,如果有一种方法只有在检测到鼠标作为输入设备或者我的问题还有其他解决方案之后才能运行我需要的命令。 从终端,鼠标连接之前BT: $ hcitool inq Inquiring … 00:1E:52:EE:0C:1B clock offset: 0x33fb class: 0x3a0104 84:38:35:31:CC:6B clock offset: 0x1353 class: 0x002580 $ hcitool scan Scanning … 84:38:35:31:CC:6B Mouse of Elios 00:1E:52:EE:0C:1B Elios 通过BT连接鼠标后,我得到: $ hcitool info 84:38:35:31:CC:6B Requesting information … BD Address: 84:38:35:31:CC:6B Device Name: Mouse of Elios LMP Version: 2.0 (0x3) LMP […]

8月LP205R在Ubuntu GNOME 15.04上

之前曾问过类似的问题 ,但没有答案。 我不能在那里发表评论,也没有答案,因此我没有看到其他选择,只能再问一遍。 我有一个USB激光演示器August LP205R在GNOME Ubuntu 15.04上无法正常工作,但在Windows上可以正常使用PowerPoint和PDF演示。 以下是上一个链接中要求的输出: xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)] ⎜ ↳ RF 2.4G RF 2.4G id=14 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ […]

插入闪存驱动器时执行脚本

如何编写触发事件的脚本? 当我插入USB闪存驱动器时,Ubuntu会安装它并自动打开Nautilus。 当特定闪存驱动器发生这种情况时,我想打开带有确定文件夹的第二个选项卡。 我不认为可以用Nautilus脚本完成,但我怎么能用Linux脚本或Nautilus扩展呢?