当手机连接到 USB 时,如何阻止通知和图标弹出?

当手机连接到 USB 时,如何阻止通知和图标弹出?

条件:手机连接到 USB 时出现无关通知和弹出窗口。
差异条件:USB 电源管理故障、网卡管理故障。
支持:当电源状态达到最大值时,通知、弹出窗口和 dmesg 警告大多会出现,但当电源状态百分比保持不变时,这些警告会变得相当稳定。

当我通过 USB 将手机连接到笔记本电脑时,文件管理器会不断打开(图 1 和 2)。左侧栏中还有弹出图标(图 3)。网络共享时,互联网连接通知也会频繁打开/关闭(图 4 和 5)。劣质电缆会增加这些烦恼的频率。所有类型的通知每分钟都可能出现多次。当电池达到高功率状态时,它们的速率会增加,但当电池充满电时会保持稳定。

  • 我做 wjandrea 的提议 gsettings set org.gnome.desktop.media-handling automount-open false解决automount-open问题,其dmesg | tail状态这里

当设备保持与笔记本电脑的连接时,您会看到大约 10-30 个错误窗口(图 1 和 2),并且手机右侧的图标会来回弹出(图 3)

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

  • 我同意 wjandrea 的第二个建议gsettings set org.gnome.desktop.media-handling automount false。但是,三星手机的图标开始反复出现在左侧栏中。这种情况大多发生在我的笔记本电脑充满电时,因此可能是电源管理方面的问题。它的dmesg | tail状态是这里(另请参见图 3),这种情况第一次发生时,大多发生在我的笔记本电脑达到其最大电池状态时。

此处为第二条 dmesg 的子集

[    5.788819] wl: module license 'MIXED/Proprietary' taints kernel.
[    5.788820] Disabling lock debugging due to kernel taint
[    5.789154] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card1/input8
[    5.797453] wl: module verification failed: signature and/or required key missing - tainting kernel
[    5.812002] input: HDA Intel HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/sound/card0/input9
[    5.812092] input: HDA Intel HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.0/sound/card0/input10
[    5.812165] input: HDA Intel HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.0/sound/card0/input11
[    5.981764] intel_rapl: Found RAPL domain package
[    5.981769] intel_rapl: Found RAPL domain core
[    5.981771] intel_rapl: Found RAPL domain uncore
[    5.981772] intel_rapl: Found RAPL domain dram
[    6.024117] wlan0: Broadcom BCM43a0 802.11 Hybrid Wireless Controller 6.30.223.248 (r487574)
[    6.030416] applesmc: key=561 fan=1 temp=33 index=33 acc=0 lux=2 kbd=1
[    6.050130] wl 0000:03:00.0 wlp3s0: renamed from wlan0
[    6.242168] Non-volatile memory driver v1.3
[    6.428191] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[    6.862799] input: bcm5974 as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/input/input12
[    6.862926] usbcore: registered new interface driver bcm5974
[    7.053663] fuse init (API version 7.24)
[    7.329118] Bluetooth: Core ver 2.21
[    7.329540] NET: Registered protocol family 31
[    7.329543] Bluetooth: HCI device and connection manager initialized
[    7.329548] Bluetooth: HCI socket layer initialized
[    7.329551] Bluetooth: L2CAP socket layer initialized
[    7.329558] Bluetooth: SCO socket layer initialized
[    7.350445] usbcore: registered new interface driver btusb
[    7.355183] Bluetooth: hci0: BCM: chip id 73 build 0932
[    7.356184] Bluetooth: hci0: BCM: product 05ac:828f
[    7.372192] Bluetooth: hci0: BCM20702B0 Generic USB Class 1 @ 20 MHz
[    7.391321] usb 1-3.1: USB disconnect, device number 5
[    7.634631] usb 1-3.2: USB disconnect, device number 6
[    8.363517] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    8.363521] Bluetooth: BNEP filters: protocol multicast
[    8.363525] Bluetooth: BNEP socket layer initialized
[    8.377953] Bluetooth: RFCOMM TTY layer initialized
[    8.377960] Bluetooth: RFCOMM socket layer initialized
[    8.377965] Bluetooth: RFCOMM ver 1.11
[   78.943062] usb 1-1: USB disconnect, device number 2
[   79.308530] usb 1-1: new high-speed USB device number 8 using xhci_hcd
[   79.437071] usb 1-1: New USB device found, idVendor=04e8, idProduct=6863
[   79.437079] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   79.437083] usb 1-1: Product: SAMSUNG_Android
[   79.437086] usb 1-1: Manufacturer: SAMSUNG
[   79.437089] usb 1-1: SerialNumber: d068730a
[   79.978452] usbcore: registered new interface driver cdc_ether
[   79.981649] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-1, RNDIS device, 02:57:00:57:38:37
[   79.981726] usbcore: registered new interface driver rndis_host
[   79.983854] rndis_host 1-1:1.0 enp0s20u1: renamed from usb0
[   80.011403] IPv6: ADDRCONF(NETDEV_UP): enp0s20u1: link is not ready
[ 1290.235637] usb 1-1: USB disconnect, device number 8
[ 1290.235777] rndis_host 1-1:1.0 enp0s20u1: unregister 'rndis_host' usb-0000:00:14.0-1, RNDIS device
[ 1290.591107] usb 1-1: new high-speed USB device number 9 using xhci_hcd
[ 1290.719964] usb 1-1: New USB device found, idVendor=04e8, idProduct=6863
[ 1290.719973] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1290.719977] usb 1-1: Product: SAMSUNG_Android
[ 1290.719981] usb 1-1: Manufacturer: SAMSUNG
[ 1290.719984] usb 1-1: SerialNumber: d068730a
[ 1290.722251] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-1, RNDIS device, 02:57:00:57:38:37
[ 1291.255806] rndis_host 1-1:1.0 enp0s20u1: renamed from usb0
[ 1291.277892] IPv6: ADDRCONF(NETDEV_UP): enp0s20u1: link is not ready
[ 1870.316573] usb 1-1: USB disconnect, device number 9
[ 1870.316687] rndis_host 1-1:1.0 enp0s20u1: unregister 'rndis_host' usb-0000:00:14.0-1, RNDIS device
[ 1871.735777] usb 1-1: new high-speed USB device number 10 using xhci_hcd
[ 1871.865681] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 1871.865687] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1871.865690] usb 1-1: Product: SAMSUNG_Android
[ 1871.865692] usb 1-1: Manufacturer: SAMSUNG
[ 1871.865694] usb 1-1: SerialNumber: d068730a
[ 2265.887618] usb 1-1: USB disconnect, device number 10
[ 2268.395967] usb 1-1: new high-speed USB device number 11 using xhci_hcd
[ 2268.524992] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 2268.524998] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2268.525001] usb 1-1: Product: SAMSUNG_Android
[ 2268.525003] usb 1-1: Manufacturer: SAMSUNG
[ 2268.525005] usb 1-1: SerialNumber: d068730a
[ 2389.754208] usb 1-1: USB disconnect, device number 11
[ 2451.283233] usb 1-1: new high-speed USB device number 12 using xhci_hcd
[ 2451.412713] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 2451.412719] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2451.412722] usb 1-1: Product: SAMSUNG_Android
[ 2451.412725] usb 1-1: Manufacturer: SAMSUNG
[ 2451.412727] usb 1-1: SerialNumber: d068730a
[ 4253.278282] usb 1-1: USB disconnect, device number 12
[ 4254.096939] usb 1-1: new high-speed USB device number 13 using xhci_hcd
[ 4259.392860] usb 1-1: new high-speed USB device number 14 using xhci_hcd
[ 4259.522162] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 4259.522167] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4259.522170] usb 1-1: Product: SAMSUNG_Android
[ 4259.522173] usb 1-1: Manufacturer: SAMSUNG
[ 4259.522175] usb 1-1: SerialNumber: d068730a
[ 4259.731917] usb 1-1: USB disconnect, device number 14
[ 4260.068777] usb 1-1: new high-speed USB device number 15 using xhci_hcd
[ 4260.200384] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 4260.200389] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4260.200392] usb 1-1: Product: SAMSUNG_Android
[ 4260.200395] usb 1-1: Manufacturer: SAMSUNG
[ 4260.200397] usb 1-1: SerialNumber: d068730a
[ 4487.825779] usb 1-1: USB disconnect, device number 15
[ 4488.457511] usb 1-1: new high-speed USB device number 16 using xhci_hcd
[ 4488.643676] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 4488.643682] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4488.643685] usb 1-1: Product: SAMSUNG_Android
[ 4488.643687] usb 1-1: Manufacturer: SAMSUNG
[ 4488.643689] usb 1-1: SerialNumber: d068730a
[ 4507.592538] usb 1-1: USB disconnect, device number 16
[ 4507.929239] usb 1-1: new high-speed USB device number 17 using xhci_hcd
[ 4508.115547] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 4508.115553] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4508.115556] usb 1-1: Product: SAMSUNG_Android
[ 4508.115558] usb 1-1: Manufacturer: SAMSUNG
[ 4508.115560] usb 1-1: SerialNumber: d068730a

在此处输入图片描述

在此处输入图片描述

其他建议

  • Sneetsher。第一天就有效。下周我会告诉你效果如何。

    > sudo -i 
    > sed 's/LABEL="libmtp_usb_rules"/LABEL="libmtp_usb_rules"\n\n#Masi, ignore my phone\nATTR{idVendor}=="04e8", ATTR{idProduct}=="6863", GOTO="libmtp_rules_end"/g' /lib/udev/rules.d/69-libmtp.rules | sudo tee /etc/udev/rules.d/69-libmtp.rules \
    udevadm control --reload-rules
    
    # TODO for long time monitoring
    

手机:三星 Galaxy S4 gt-i9506 配备淡马锡的非官方只读存储器带有足够补丁的 CyanogenMod 13
Ubuntu 版本:16.04
Linux 内核:4.4 和 4.6
Linux 内核选项:wl
Bash:4.3.42(1)-release (x86_64-pc-linux-gnu)
笔记本电脑:2013 年中 Macbook Air
USB:两个 USB3 端口(高达 5 Gbps)(这里官方规格)
网卡驱动程序:非免费broadcom-sta-dkms(看这里)
手机中的 VPN:NordVPN US udp 服务器
笔记本电脑中通过 wifi 连接路由器防火墙时的 VPN:NordVPN EE udp 服务器

  • 支持 1:电源状态的负面变化(-1%)与通知有关。
  • 支持 2:不稳定的互联网连接会消耗大量电量(\Delta P = 1%)。
  • 支持3:VPN保护的互联网连接显著减少了通知的数量。

答案1

dconf是这种情况下需要检查的地方。

dconf 是一个低级配置系统和设置管理。其主要目的是为尚未拥有配置存储系统的平台上的 GSettings 和 KSettings 提供后端。它依赖于 GLib。它是 GNOME 3 的一部分,是 GConf 的替代品。~维基百科

为此你需要安装dconf 编辑器如下:

sudo apt-get update
sudo apt-get install dconf-tools

打开dconf 编辑器

Alt + F2

或者

应用程序 > 系统工具 > dconf 编辑器

现在在 dconf 编辑器的侧边栏中

org > gnome > 桌面 > 媒体处理

取消选中自动挂载打开选项。

以下是 16.04 中的 dconf-editor 的屏幕截图:

16.04 中的 dconf-editor

答案2

@Dhaval-Simaria 答案的 CLI 版本:

gsettings set org.gnome.desktop.media-handling automount-open false

请注意,Ubuntu 自带了gsettings;无需安装。


编辑更新的信息:由于错误消息报告挂载失败,请尝试禁用自动挂载:

gsettings set org.gnome.desktop.media-handling automount false

答案3

如果你运行 Xubuntu,这真的很容易,因为它有一个配置面板来选择自动挂载行为。只需转到设置>硬件>可移动驱动器和媒体,然后取消勾选相关选项:

在此处输入图片描述

答案4

您应该研究一下 udev 规则。有了它们,您可以阻止一个设备而不影响任何其他 USB 设备。您可以通过在 中创建文件来定义自己的 udev 规则/etc/udev/rules.d/,例如 /etc/udev/rules.d/51-block-phone-mount.rules

现在找到设备的 idVendor 和 idProduct。它们很有用,因为它们对于产品来说大多是唯一的,因此您可以使用它们在 udev 规则中识别设备。

列出你的 USB 设备lsusb并得到如下结果:

Bus 002 Device 002: ID 8087:8002 Intel Corp.  
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub  
Bus 001 Device 002: ID 8087:800a Intel Corp.  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub  
Bus 004 Device 002: ID 0424:2660 Standard Microsystems Corp.  
Bus 004 Device 003: ID 03f0:0024 Hewlett-Packard KU-0316 Keyboard  
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

相关部分是总线和设备,例如总线 004 和设备 003。sudo lsusb -vs 004:003 | grep -E 'idProduct|idVendor'您将获得必要的信息,例如:

idVendor           0x03f0 Hewlett-Packard  
idProduct          0x0024 KU-0316 Keyboard

这意味着您/etc/udev/rules.d/51-block-phone-mount.rules需要插入以下内容:

#Phone automount block  
SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0024", ATTR{authorized}="0"

您只需重新插入手机并检查其是否有效即可立即尝试。

相关内容