¿Cómo evito las notificaciones y las ventanas emergentes de iconos cuando el teléfono está conectado a USB?

12

Condición: notificaciones y ventanas emergentes extrañas cuando el teléfono está conectado a USB.
Condiciones diferenciales: falla de administración de energía con USB, falla de administración de tarjeta de red.
Soporte: las notificaciones, ventanas emergentes y advertencias dmesg se producen principalmente cuando el estado de energía alcanza el máximo máximo, pero se vuelven bastante estables cuando el porcentaje del estado de energía se mantiene constante.

El administrador de archivos sigue abriéndose cuando tengo mi teléfono conectado a mi computadora portátil a través de USB (Figura 1 y 2). También hay iconos emergentes en la barra del lado izquierdo (Figura 3). También hay notificaciones frecuentes de conexión a Internet activadas / desactivadas cuando se vincula (Figura 4 y 5). El cable de mala calidad aumenta la frecuencia de esas molestias. Todos los tipos de notificaciones pueden ser muchas veces por minuto. Su tasa aumenta cuando la batería alcanza el estado de alta potencia, pero se mantiene estable cuando la batería está completamente cargada.

  • Hago la propuesta de wjandrea gsettings set org.gnome.desktop.media-handling automount-open falseque resuelve el automount-openproblema, su dmesg | tailestado aquí .

Verá aproximadamente 10-30 ventanas para el error (Figura 1 y 2) y el ícono del lado derecho del teléfono que aparece de un lado a otro (Figura 3) cuando solo mantiene el dispositivo conectado a la computadora portátil

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

  • Hago la segunda propuesta de wjandrea gsettings set org.gnome.desktop.media-handling automount false. Sin embargo, el ícono del teléfono Samsung comienza a aparecer en la barra del lado izquierdo una y otra vez. Ocurre principalmente cuando mi computadora portátil está completamente cargada, por lo que puede ser un problema en la administración de energía. Su dmesg | tailestado está aquí (consulte la Figura 3 también), que ocurrió por primera vez y principalmente cuando mi computadora portátil alcanza el estado de batería máxima.

Subconjunto del segundo dmesg aquí

[    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

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Otras propuestas

  • Sneetsher Funciona el primer día. Te contaré cómo funciona la próxima semana.

    > 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
    

Teléfono: Samsung Galaxy S4 gt-i9506 con ROM no oficial de Temasek de CyanogenMod 13 con parches suficientes
Versiones de Ubuntu: 16.04
Kernel de Linux: 4.4 y 4.6
Opciones de kernel de Linux: wl
Bash: 4.3.42 (1) -release (x86_64-pc-linux- gnu)
Laptop: mediados de 2013 Macbook Air
USB: dos puertos USB3 (hasta 5 Gbps) ( aquí especificaciones oficiales)
Controladores de tarjeta de red: broadcom-sta-dkms no gratuito (ver aquí )
VPN en el teléfono: servidor
VPN udp de NordVPN en la computadora portátil cuando la conexión wifi con enrutador-firewall: servidor udp NordVPN EE

  • Soporte 1: el cambio negativo en el estado de energía (-1%) está asociado con las notificaciones.
  • Soporte 2: la conexión a Internet inestable usa una cantidad significativa de energía (\ Delta P = 1%).
  • Soporte 3: la conexión a Internet protegida por VPN disminuye significativamente la cantidad de notificaciones.
Léo Léopold Hertz 준영
fuente
3
En caso de que aún no haya hecho esto (y también porque tengo curiosidad por saber si esto tiene algún efecto sobre el comportamiento) si hace Configuración del sistema-> Detalles-> Medios extraíbles y marca las opciones Never prompt or start programs on media insertionque alteran los 'Archivos 'apertura con el cable temperamental? Es algo que generalmente hago porque odio cuando inserto un USB con muchas particiones o un HD externo y obtengo varias instancias de archivos que se abren todas a la vez.
pHeLiOn
@pHeLiOn Sí, creo que es lo mismo que la respuesta de wjandrea.
Léo Léopold Hertz 준영
@ Masi Es una configuración dconf diferente org.gnome.desktop.media-handling autorun-never, pero hace lo mismo porque anula org.gnome.desktop.media-handling automount-open.
wjandrea
@ Masi, ¿solo tiene puertos USB3?
user.dz
1
@Sneetsher Sí: Two USB 3 ports (up to 5 Gbps). Aquí especificaciones support.apple.com/kb/SP678?locale=en_US
Léo Léopold Hertz 준영

Respuestas:

3

dconf es el lugar para verificar en esta situación.

dconf es un sistema de configuración de bajo nivel y gestión de configuraciones. Su objetivo principal es proporcionar un back-end para GSettings y KSettings en plataformas que aún no tienen sistemas de almacenamiento de configuración. Depende de GLib. Es parte de GNOME 3 y es un reemplazo para GConf. ~ Wikipedia

Para esto necesita instalar el editor dconf de la siguiente manera:

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

Para abrir el editor dconf ,

Presione Alt + F2

o

vaya a Aplicación> Herramientas del sistema> dconf editor

Ahora en dconf editor, en la barra lateral

org> gnome> escritorio> manejo de medios

Desmarca la opción de abrir automontaje .

A continuación se muestra la captura de pantalla de dconf-editor en 16.04:

dconf-editor en 16.04

Dhaval Simaria
fuente
1
esto tiene el efecto secundario de hacer que ubuntu no monte automáticamente ningún sistema de archivos, es un mazo para romper una nuez como dicen
Amias
1
@Masi El comando que estás buscando es gsettings set org.gnome.desktop.media-handling automount-open false. En mi experiencia con dconf, dos puntos indican un mapeo, como con las opciones de teclado.
wjandrea
1
@amiaschanner Acabo de probarlo y en realidad funciona con el montaje automático. Lo que está deshabilitado es la apertura automática de la unidad.
wjandrea
@ Masi He adjuntado una captura de pantalla de dconf-editor en 16.04, trabajando de manera similar a la de 14.04.
Dhaval Simaria
2

Versión CLI de la respuesta de @ Dhaval-Simaria:

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

Tenga en cuenta que Ubuntu viene con gsettings; No necesita ser instalado.


Editar para obtener información actualizada: dado que los mensajes de error informan que no se pudo montar, intente deshabilitar el montaje automático:

gsettings set org.gnome.desktop.media-handling automount false
wjandrea
fuente
44
dconf-editores una interfaz gráfica de gsettings. No lo necesitas, pero a menudo es útil.
wjandrea
@wjandrea agradece por mostrar el otro lado (probablemente más fácil) de la solución.
Dhaval Simaria
1
@ Masi Ah, tu pregunta inicial no era muy clara, así que asumí que las notificaciones que mencionaste eran las nautilusventanas emergentes . He editado mi respuesta para dar cuenta de la nueva información.
wjandrea
Ambos comandos no son suficientes. Comencé a hacer que el icono de la barra del lado izquierdo apareciera una y otra vez después de 10 horas de uso de la computadora portátil.
Léo Léopold Hertz 준영
@ Masi, ¿por qué sigues eliminando tus comentarios? Hace que este hilo sea difícil de leer para futuros lectores cuando haces eso.
wjandrea
1

Si ejecuta Xubuntu, esto es realmente fácil porque tiene un panel de configuración para seleccionar el comportamiento de montaje automático. Simplemente vaya a Configuración> Hardware> Unidades extraíbles y medios, luego desmarque las opciones relevantes:

ingrese la descripción de la imagen aquí

Alistair Buxton
fuente
1

Nota: Todos los comandos a continuación necesitan energía de raíz, así que primero cambie a shell de raíz usando sudo -io sudo su. Si desea ejecutar directamente con sudo <cmd>, consulte Al usar sudo con redirección, obtengo 'permiso denegado' .

  • Establezca la regla udev para libmtpto ignore su modelo de teléfono:

    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 > /etc/udev/rules.d/69-libmtp.rules; \
    udevadm control --reload-rules
    

    Para retroceder:

    rm /etc/udev/rules.d/69-libmtp.rules
    
  • Para todos los nodos USB

    echo "DRIVERS==\"usb\", RUN+=\"/bin/sh -c 'echo 1 > /sys%p/remove'\" > /etc/udev/rules.d/99-usb-fallen-leaves.rules; \
    udevadm control --reload-rules
    

    Para retroceder:

    rm /etc/udev/rules.d/99-usb-fallen-leaves.rules
    

    + Reiniciar

  • Aquí otro método que no requiere reiniciar.

    1. Genere los scripts de desvinculación y vinculación utilizando este:

      Como guión usb-ctrl-gen.sh

      #!/bin/sh
      
      c=$(pwd)
      
      for o in "unbind" "bind"
      do
      
        cd $c
      
        echo Generate usb-$o.sh... 
      
        echo "#!/bin/sh\n" > usb-$o.sh
        chmod +x usb-$o.sh
        for d in /sys/bus/pci/drivers/[uex]hci* ; do cd $d; find $d -type l -iname "0000*" -printf 'echo "%f" > ' -exec echo $d/$o \;;  done >> usb-$o.sh
      
      done
      
      echo Done
      

      O una linea:

      c=$(pwd); for o in "unbind" "bind"; do echo Generate usb-$o.sh...; echo "#\!/bin/sh\n" > usb-$o.sh; chmod +x usb-$o.sh; for d in /sys/bus/pci/drivers/[uex]hci*; do cd $d; find $d -type l -iname "0000*" -printf 'echo "%f" > ' -exec echo $d/$o \;;  done >> usb-$o.sh; cd $c; done; echo Done
      

      Ejemplo de salida:

      usb-unbind.sh

      #!/bin/sh 
      
      echo "0000:00:1a.0" > /sys/bus/pci/drivers/ehci-pci/unbind
      echo "0000:00:1d.0" > /sys/bus/pci/drivers/ehci-pci/unbind
      echo "0000:00:14.0" > /sys/bus/pci/drivers/xhci_hcd/unbind
      

      usb-bind.sh

      #!/bin/sh
      
      echo "0000:00:1a.0" > /sys/bus/pci/drivers/ehci-pci/bind
      echo "0000:00:1d.0" > /sys/bus/pci/drivers/ehci-pci/bind
      echo "0000:00:14.0" > /sys/bus/pci/drivers/xhci_hcd/bind
      
    2. Agregue usb-unbind.sh para /etc/profileejecutar en el arranque. Use usb-bind.sh para habilitar el controlador USB cuando sea necesario.

      echo $(pwd)/usb-unbind.sh > /etc/profile.d/usb-unbind-hook.sh
      

    Para retroceder:

    rm /etc/profile.d/usb-unbind-hook.sh
    

    Referencia: ¿Cómo restablecer un dispositivo USB desde la línea de comandos?

user.dz
fuente
1
¿Cómo puede hacer una regla que ignore todos los teléfonos y todos los dispositivos USB? Solo quiero iniciarlos explícitamente en la computadora portátil cuando sea necesario. Mejor no tener nada en absoluto. No quiero tener un solo teléfono porque tengo muchos de ellos y muchos otros dispositivos también. No se trata solo de un dispositivo.
Léo Léopold Hertz 준영
1
@Masi actualización de respuesta.
user.dz
1

Deberías mirar las reglas de udev. Con ellos puede bloquear un dispositivo sin afectar a ningún otro dispositivo USB. Puede definir sus propias reglas de udev creando un archivo en /etc/udev/rules.d/, p. Ej. /etc/udev/rules.d/51-block-phone-mount.rules

Ahora encuentre el idVendor y el idProduct del dispositivo. Es bueno usarlos, ya que son principalmente exclusivos del producto, por lo que puede usarlos para identificar el dispositivo en la regla de udev.

Enumere sus dispositivos USB lsusby obtenga algo como esto:

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

La parte relevante es el Bus y el Dispositivo, por ejemplo, el Bus 004 y el Dispositivo 003. Con sudo lsusb -vs 004:003 | grep -E 'idProduct|idVendor'usted obtendrá la información necesaria, por ejemplo:

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

Esto significa /etc/udev/rules.d/51-block-phone-mount.rulesque necesitaría lo siguiente insertado:

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

Puede probarlo instantáneamente simplemente volviendo a enchufar el teléfono y verificando si funciona.

Ziazis
fuente
0

Tengo un problema similar con uno más uno que tiene un zócalo usb ligeramente dudoso, esto hace que se active una ventana nautilus cada 5 minutos más o menos.

La forma más efectiva que encontré para evitar esto fue hacer que udev lo ignorara completamente haciendo coincidir el proveedor de usb y la identificación del modelo y luego configurando el dispositivo en modo no autorizado. De esta manera, evita específicamente que este dispositivo active cualquier cosa más arriba, como el montaje automático sin afectar nada más.

cómo hacer la lista negra de udev https://projectgus.com/2014/09/blacklisting-a-single-usb-device-from-linux/

una guía para teléfonos Samsung http://blog.vacs.fr/vacs/blogs/post.html?post=2010/12/24/How-to-repair-the-USB-not-detected-problem-on-Android -Teléfonos Samsung

Amias
fuente
1
¿Puede proporcionar un resumen de su respuesta, no una respuesta de solo enlace? No entiendo cómo su respuesta difiere en la práctica, de establecer media-handlinga no automount-open. El enlace parece tener alguna solución del lado del teléfono. Puede ser el caso de que haya dos problemas en mi problema. Yo uso el teléfono Samsung (Galaxy S4 gt-i9506),
Léo Léopold Hertz 준영