我想用C编写一个小程序:当我将耳机插入笔记本时,它应该会调低音量。然后,当我从笔记本电脑上取下耳机时,它应该会调高音量。我使用的是alsa驱动,我知道如何控制音量。问题是:如何在插入耳机时收到通知?在我问这个问题之前,我尝试过使用IRQ。我使用watch-d0.5cat/proc/stat查看在插入或取下耳机时系统是否遇到任何中断,我看到了8个中断。我不知道IRQ是正确的,所以我不知道。 最佳答案 也许您不需要编写任何程序。Alsamixer应该让您指定扬声器的音量和耳机的音量。您只需将耳机的音量调低一点即可。
我需要在存储设备挂载和卸载上运行一些代码。我如何在Linux上收听这些事件?我正在考虑添加一些udev运行某些脚本的规则(感谢任何有关此事的专业知识)。但我更愿意使用我的守护程序(就像udev所做的那样)或类似的东西在某些网络链接套接字中监听来自内核的事件。 最佳答案 您可以使用libudev或者更方便,基于glibgudev在C中监视udev事件。 关于c-从linux内核或udev监听硬件变化事件,我们在StackOverflow上找到一个类似的问题: h
我需要在存储设备挂载和卸载上运行一些代码。我如何在Linux上收听这些事件?我正在考虑添加一些udev运行某些脚本的规则(感谢任何有关此事的专业知识)。但我更愿意使用我的守护程序(就像udev所做的那样)或类似的东西在某些网络链接套接字中监听来自内核的事件。 最佳答案 您可以使用libudev或者更方便,基于glibgudev在C中监视udev事件。 关于c-从linux内核或udev监听硬件变化事件,我们在StackOverflow上找到一个类似的问题: h
来自linux的人如何制作/dev文件。你可以写信给他们,他们会立即被删除。我可以想象一些不断读取一些开发文件的程序:FILE*fp;charbuffer[255];intresult;fp=fopen(fileName,"r");if(!fp){printf("Openfileerror");return;}while(1){result=fscanf(fp,"%254c",buffer);printf("%s",buffer);memset(buffer,0,255);fflush(stdout);sleep(1);}fclose(fp);但是如何删除里面的内容呢?关闭文件并以“w
来自linux的人如何制作/dev文件。你可以写信给他们,他们会立即被删除。我可以想象一些不断读取一些开发文件的程序:FILE*fp;charbuffer[255];intresult;fp=fopen(fileName,"r");if(!fp){printf("Openfileerror");return;}while(1){result=fscanf(fp,"%254c",buffer);printf("%s",buffer);memset(buffer,0,255);fflush(stdout);sleep(1);}fclose(fp);但是如何删除里面的内容呢?关闭文件并以“w
我编写了udev规则以在连接设备时创建符号链接(symboliclink)。这些规则在主机上运行良好,但是当我使用安装在/etc/udev/rules.d中的这些相同规则启动容器时,它们在我的容器内不起作用。我正在尝试检测何时插入外部驱动器并创建相应的符号链接(symboliclink)。/dev/sdX是在容器启动时创建的,前提是驱动器在dockerrun时存在,但它不会在运行命令后出现,也不会在驱动器被移除时消失。这是一个在主机上运行良好的示例规则:KERNEL=="sd?",SYMLINK+="test_%k" 最佳答案 我想
我编写了udev规则以在连接设备时创建符号链接(symboliclink)。这些规则在主机上运行良好,但是当我使用安装在/etc/udev/rules.d中的这些相同规则启动容器时,它们在我的容器内不起作用。我正在尝试检测何时插入外部驱动器并创建相应的符号链接(symboliclink)。/dev/sdX是在容器启动时创建的,前提是驱动器在dockerrun时存在,但它不会在运行命令后出现,也不会在驱动器被移除时消失。这是一个在主机上运行良好的示例规则:KERNEL=="sd?",SYMLINK+="test_%k" 最佳答案 我想
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭2年前。Improvethisquestion我正在从事一个教育性多座位项目,我们需要将36个键盘和36个USB声卡连接到一台计算机。我们正在运行带有3.6.3-030603通用
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭2年前。Improvethisquestion我正在从事一个教育性多座位项目,我们需要将36个键盘和36个USB声卡连接到一台计算机。我们正在运行带有3.6.3-030603通用
使用udisks二进制文件显然可以获得很多与附加磁盘相关的信息:udisks--show-info/dev/sda1udisks显然只是枚举udev可用的数据。是否可以使用python获取此信息?例如,如果我只想检索设备序列号、安装点和大小。 最佳答案 在python中可以直接通过dbus使用U盘。importdbusbus=dbus.SystemBus()ud_manager_obj=bus.get_object("org.freedesktop.UDisks","/org/freedesktop/UDisks")ud_manag