Come posso impedire le notifiche e i popup delle icone quando il telefono è collegato a USB?


12

Condizione: notifiche e popup estranei quando il telefono è collegato a USB.
Condizioni differenziali: errore di gestione dell'alimentazione con USB, errore di gestione della scheda di rete.
Supporto: notifiche, popup e avvisi dmesg si verificano principalmente quando lo stato di alimentazione raggiunge il massimo, ma diventano piuttosto stabili quando la percentuale di stato di alimentazione rimane costante.

Il file manager continua ad aprirsi quando ho il telefono collegato al mio laptop tramite USB (Figura 1 e 2). Ci sono anche icone popup nella barra di sinistra (Figura 3). Durante il tethering sono presenti anche frequenti notifiche di connessione a Internet (Figura 4 e 5). Il cavo di cattiva qualità aumenta la frequenza di questi fastidi. Tutti i tipi di notifiche possono essere molte volte al minuto. La loro velocità aumenta quando la batteria raggiunge lo stato di alta potenza, ma rimane stabile quando la batteria è completamente carica.

  • Faccio la proposta di wjandrea gsettings set org.gnome.desktop.media-handling automount-open falseche risolve la automount-openquestione, il suo dmesg | tailstato qui .

Si vedono circa 10-30 finestre per l'errore (Figure 1 e 2) e l'icona sul lato destro del telefono che fa scoppiare avanti e indietro (Figura 3) quando si mantiene il dispositivo collegato al laptop

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

  • Faccio la seconda proposta di wjandrea gsettings set org.gnome.desktop.media-handling automount false. Tuttavia, l'icona del telefono Samsung inizia a comparire ripetutamente nella barra di sinistra. Si verifica principalmente quando il mio laptop è completamente carico, quindi può essere un problema nella gestione dell'alimentazione. Il suo dmesg | tailstato è qui (vedere anche la Figura 3), che si è verificato per la prima volta e principalmente quando il mio laptop ha raggiunto il livello massimo della batteria.

Sottoinsieme del secondo dmesg qui

[    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

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Altre proposte

  • Sneetsher. Funziona il primo giorno. Ti farò sapere come funziona nella prossima settimana.

    > 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
    

Telefono: Samsung Galaxy S4 gt-i9506 con ROM non ufficiale di Temasek di CyanogenMod 13 con patch sufficienti
Versioni Ubuntu: 16.04
Kernel Linux: 4.4 e 4.6
Opzioni del kernel Linux: wl
Bash: 4.3.42 (1) -release (x86_64-pc-linux- gnu)
Laptop: Macbook Air
USB a metà 2013 : due porte USB3 (fino a 5 Gbps) ( qui specifiche ufficiali)
Driver per schede di rete: broadcom-sta-dkms non liberi (vedi qui )
VPN nel telefono: NordVPN US udp server
VPN su laptop con connessione wifi con router-firewall: server udp NordEVN EE

  • Supporto 1: il cambiamento negativo nello stato di alimentazione (-1%) è associato alle notifiche.
  • Supporto 2: la connessione Internet instabile utilizza una notevole quantità di energia (\ Delta P = 1%).
  • Supporto 3: la connessione Internet protetta da VPN riduce significativamente la quantità di notifiche.

3
Nel caso in cui non lo abbiate già fatto (e anche perché sono curioso di sapere se questo ha qualche effetto sul comportamento) se fate Impostazioni di sistema-> Dettagli-> Supporti rimovibili e spuntate le Never prompt or start programs on media insertionmodifiche che alterano il 'File 'apertura con il cavo temperamentale? È qualcosa che faccio di solito perché odio quando inserisco una USB con molti partizioni o un HD esterno e ottengo l'apertura simultanea di più istanze di File.
pHeLiOn

@pHeLiOn Sì, penso che sia la stessa cosa della risposta di wjandrea.
Léo Léopold Hertz

@Masi È un'impostazione dconf diversa org.gnome.desktop.media-handling autorun-never, ma fa la stessa cosa perché ha la precedenza org.gnome.desktop.media-handling automount-open.
wjandrea,

@Masi, hai solo porte USB3?
user.dz,

1
@Sneetsher Sì: Two USB 3 ports (up to 5 Gbps). Qui le specifiche support.apple.com/kb/SP678?locale=en_US
Léo Léopold Hertz

Risposte:


3

dconf è il posto giusto per verificare questa situazione.

dconf è un sistema di configurazione di basso livello e gestione delle impostazioni. Il suo scopo principale è fornire un back-end a GSettings e KSettings su piattaforme che non dispongono già di sistemi di archiviazione della configurazione. Dipende da GLib. Fa parte di GNOME 3 ed è un sostituto di GConf. ~ Wikipedia

Per questo è necessario installare l'editor dconf come segue:

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

Per aprire l'editor dconf ,

Premi Alt + F2

o

vai su Applicazione> Strumenti di sistema> editor dconf

Ora nell'editor dconf, nella barra laterale

org> gnome> desktop> gestione dei media

Deseleziona l' opzione di apertura automatica .

Di seguito è la schermata di dconf-editor in 16.04:

dconf-editor in 16.04


1
questo ha l'effetto collaterale di far sì che Ubuntu non si monti automaticamente su nessun filesystem, è una mazza da spaccare una noce come si
suol

1
@Masi Il comando che stai cercando è gsettings set org.gnome.desktop.media-handling automount-open false. Nella mia esperienza con dconf, i due punti indicano una mappatura, come con le opzioni della tastiera.
wjandrea,

1
@amiaschanner L'ho appena provato e in realtà esegue il montaggio automatico. Ciò che è disabilitato è l'apertura automatica dell'azionamento.
wjandrea,

@Masi Ho allegato una schermata di dconf-editor nel 16.04, lavorando in modo simile a quello del 14.04.
Dhaval Simaria,

2

Versione CLI della risposta di @Dhaval-Simaria:

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

Si noti che Ubuntu viene fornito con gsettings; non ha bisogno di essere installato.


Modifica per informazioni aggiornate: poiché i messaggi di errore segnalano un errore di montaggio, prova a disabilitare l'automount:

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

4
dconf-editorè un frontend grafico di gsettings. Non ne hai bisogno, ma è spesso utile.
wjandrea,

@wjandrea apprezza per aver mostrato l'altro lato (probabilmente più semplice) della soluzione.
Dhaval Simaria,

1
@Masi Ah, la tua domanda iniziale non era molto chiara, quindi ho pensato che le notifiche che hai menzionato fossero le nautilusfinestre popup . Ho modificato la mia risposta per tenere conto delle nuove informazioni.
wjandrea,

Entrambi questi comandi non sono sufficienti. Ho iniziato a far apparire l'icona della barra di sinistra più e più volte dopo 10 ore di utilizzo del laptop.
Léo Léopold Hertz 준영

@Masi perché continui a eliminare i tuoi commenti? Rende questa discussione difficile da leggere per i futuri lettori quando lo fai.
wjandrea,

1

Se esegui Xubuntu questo è davvero facile perché ha un pannello di configurazione per selezionare il comportamento di montaggio automatico. Vai su Impostazioni> Hardware> Unità e supporti rimovibili, quindi deseleziona le opzioni pertinenti:

inserisci qui la descrizione dell'immagine


1

Nota: tutti i comandi sottostanti richiedono l'alimentazione di root, quindi passa prima alla shell di root usando sudo -io sudo su. Se si desidera eseguire direttamente sudo <cmd>, vedere Quando si utilizza sudo con il reindirizzamento, viene visualizzato il messaggio "Autorizzazione negata" .

  • Imposta la regola udev per libmtp per ignorare il tuo modello di telefono:

    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
    

    Per ripristinare:

    rm /etc/udev/rules.d/69-libmtp.rules
    
  • Per tutti i nodi 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
    

    Per ripristinare:

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

    + Reboot

  • Ecco un altro metodo che non richiede il riavvio.

    1. Genera gli script unbind & bind usando questo:

      Come sceneggiatura 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 riga:

      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
      

      Esempio di output:

      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. Aggiungi usb-unbind.sh per /etc/profileeseguirlo all'avvio. Utilizzare usb-bind.sh per abilitare il controller USB ogni volta che è necessario.

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

    Per ricambiare il ruolo:

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

    Riferimento: come si reimposta un dispositivo USB dalla riga di comando?


1
Come puoi stabilire una regola che ignori tutti i telefoni e tutti i dispositivi USB? Voglio solo avviarli esplicitamente nel laptop quando ne ho bisogno. Meglio non avere niente. Non voglio avere un solo telefono perché ne ho molti e molti altri dispositivi. Non si tratta solo di un dispositivo.
Léo Léopold Hertz 준영

1
@Masi update update.
user.dz,

1

Dovresti esaminare le regole di udev. Con loro puoi bloccare un dispositivo senza influire su altri dispositivi USB. Puoi definire le tue regole udev creando un file in /etc/udev/rules.d/, ad es /etc/udev/rules.d/51-block-phone-mount.rules

Ora trova idVendor e idProduct del dispositivo. Questi sono buoni da usare poiché sono principalmente unici per il prodotto, quindi puoi usarli per identificare il dispositivo nella regola udev.

Elenca i tuoi dispositivi USB usando lsusbe ottieni qualcosa del genere:

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 rilevante è il bus e il dispositivo, ad esempio il bus 004 e il dispositivo 003. Con sudo lsusb -vs 004:003 | grep -E 'idProduct|idVendor'te otterrai le informazioni necessarie, ad esempio:

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

Ciò significa /etc/udev/rules.d/51-block-phone-mount.rulesche è necessario inserire quanto segue:

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

Puoi provarlo all'istante semplicemente sostituendo il telefono e controllando se funziona.


0

Ho un problema simile con uno più uno che ha una presa USB leggermente incerta, questo lo fa accendere una finestra nautilus ogni 5 minuti circa.

Il modo più efficace che ho trovato per impedirlo è stato quello di far sì che udev lo ignorasse completamente abbinando il fornitore usb e l'ID modello, quindi impostando il dispositivo in modalità non autorizzata. In questo modo si impedisce in modo specifico a questo dispositivo di innescare qualcosa di più a monte come l'automontaggio senza influire su nient'altro.

come fare la lista nera di udev https://projectgus.com/2014/09/blacklisting-a-single-usb-device-from-linux/

una guida per telefoni Samsung http://blog.vacs.fr/vacs/blogs/post.html?post=2010/12/24/How-to-repair-the-USB-not-detected-problem-on-Android -Samsung-phone


1
Potete per favore fornire un riepilogo della vostra risposta, non solo la risposta del link. Non capisco come la tua risposta differisca nella pratica, dall'impostazione media-handlingal non automount-open. Il collegamento sembra avere una soluzione lato telefono. È possibile che ci siano due problemi nel mio problema. Uso il telefono Samsung (Galaxy S4 gt-i9506),
Léo Léopold Hertz
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.