Sie haben also folgendes:
Der Dateimanager zeigt diese Fehlermeldungen an, die von GVfs stammen, das Informationen aus libmtp weiterleitet .
Verhindern von Popup-Fehlern im Dateimanager
Leider habe ich noch keine Möglichkeit gefunden, Fehler-Popups im Dateimanager von GNOME / MATE / Cinnamon zu unterdrücken. Vielleicht werde ich eines Tages in den Quellcode schauen, um zu sehen, wo der Fehler abgeschaltet oder abgefangen werden kann.
Da ich keine Antwort darauf habe, gehen wir zu Ihrer nächstbesten akzeptablen Option über, die…
Schließen von Dateimanager-Popups per Befehl
Hier ist ein Skript, mit dem Sie die Popups auf GNOME, MATE und Cinnamon löschen können:
#!/bin/bash function list_empty_windows() { wmctrl -lp | awk "}" } function list_wm_pids() { ps aux | grep cinnamon | perl -pe 's/.*\+\s+(\d+)\s+.*/\1/' pidof nautilus | tr ' ' '\n' pidof caja | tr ' ' '\n' pidof nemo | tr ' ' '\n' } function list_popup_windows() { local empty_window_file=$(mktemp) local window_manager_pid_file=$(mktemp) list_empty_windows > "$empty_window_file" list_wm_pids | sort > "$window_manager_pid_file" join "$empty_window_file" "$window_manager_pid_file" } function main() { list_popup_windows | cut -d ' ' -f 2 | xargs -n1 -P100 wmctrl -ic } main
Wenn Sie sich einen einfachen Befehl merken möchten, werden alle Fenster in Ihrem Dateimanager geschlossen und der Desktop wird von Ihrem Desktop neu gestartet:
- GNOME:
killall nautilus
- KAMERAD:
killall caja
- Zimt:
killall nemo
Deaktivieren des Automountings von Google Pixel
Es scheint keine Möglichkeit zu geben, sich daran zu erinnern, nur Google Pixel zu ignorieren.
Ich empfehle das nicht, und ich habe es nicht selbst getestet, aber um Google Pixel auszusondern, müssen Sie möglicherweise das Produkt 4ee1 (Google Pixel) des Anbieters 18d1 und das Produkt 4ee2 (Google Pixel debug) des Anbieters 18ud1 im udev auskommentieren Regeln und hwdb.
Sie können die Datensätze mit diesem Befehl finden:
grep -ri '18d1.*4ee[12]' /lib/udev
Nach dem Auskommentieren der udev-Datensätze von Google Pixel müssen Sie möglicherweise die Desktopumgebung neu starten, neu starten und / oder eine Kombination der folgenden Befehle ausführen:
sudo udevadm hwdb --update sudo udevadm control --reload-rules sudo udevadm trigger
Auch dies ist nicht getestet, und ich empfehle es nicht, insbesondere, weil Google Pixel Pixel erneut eingebunden werden müssen, um die manuellen Änderungen von udev rückgängig zu machen.
Erläuterung
Laut /var/log/syslog
GNOME wird der Fehler angezeigt, weil das USB-Gerät beim zweiten Versuch der Initialisierung verschwunden ist:
Jan 24 01:32:41 node51 kernel: [613604.065259] usb 3-2: new SuperSpeed USB device number 96 using xhci_hcd Jan 24 01:32:41 node51 kernel: [613604.082734] usb 3-2: New USB device found, idVendor=18d1, idProduct=4ee1 Jan 24 01:32:41 node51 kernel: [613604.082739] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Jan 24 01:32:41 node51 kernel: [613604.082741] usb 3-2: Product: Pixel Jan 24 01:32:41 node51 kernel: [613604.082743] usb 3-2: Manufacturer: Google Jan 24 01:32:41 node51 kernel: [613604.082745] usb 3-2: SerialNumber: XXXXXXXXXXXX Jan 24 01:32:41 node51 kernel: [613604.083855] usb 3-2: Enable of device-initiated U1 failed. Jan 24 01:32:41 node51 kernel: [613604.084154] usb 3-2: Enable of device-initiated U2 failed. Jan 24 01:32:42 node51 org.gtk.vfs.Daemon[4988]: Device 0 (VID=18d1 and PID=4ee1) is a Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP). Jan 24 01:32:43 node51 org.gtk.vfs.GPhoto2VolumeMonitor[4988]: (process:5256): GVFS-GPhoto2-WARNING **: device (null) has no BUSNUM property, ignoring Jan 24 01:33:34 node51 org.gtk.vfs.Daemon[4988]: PTP_ERROR_IO: failed to open session, trying again after resetting USB interface Jan 24 01:33:34 node51 org.gtk.vfs.Daemon[4988]: LIBMTP libusb: Attempt to reset device Jan 24 01:33:34 node51 org.gtk.vfs.Daemon[4988]: inep: usb_get_endpoint_status(): No such device Jan 24 01:33:34 node51 org.gtk.vfs.Daemon[4988]: outep: usb_get_endpoint_status(): No such device Jan 24 01:33:34 node51 org.gtk.vfs.Daemon[4988]: libusb_open() failed!: No such device Jan 24 01:33:34 node51 org.gtk.vfs.Daemon[4988]: LIBMTP PANIC: Could not init USB on second attempt Jan 24 01:33:34 node51 org.gtk.vfs.Daemon[4988]: ** (gvfsd:5151): WARNING **: dbus_mount_reply: Error from org.gtk.vfs.Mountable.mount(): Unable to open MTP device '[usb:003,096]'
Im obigen Beispiel hat GVfs über libmtp das USB-09-Gerät 096 als Google Pixel-Gerät identifiziert, das Google Pixel-Gerät hatte sich jedoch bereits getrennt. Bei der nächsten Verbindung von Google Pixel hat Linux eine neue Geräte-ID zugewiesen.
libmtp ist fehlerhaft, da immer noch versucht wird, mit dem verschwundenen Gerät zu arbeiten. GVfs nimmt den Fehler auf und leitet ihn an GNOME-Dateien oder einen anderen GNOME-basierten Dateimanager weiter.
Wer ist schuld?
Basierend auf dem, was ich entdeckt habe, gibt es Verbesserungsmöglichkeiten:
libmtp
libmtp ist wahrscheinlich die Ursache für dieses Problem.
Es sollte die Fehlerbehandlung verbessern, wenn ein MTP-Gerät angeschlossen ist und plötzlich getrennt wird. Der Fehler sollte nur dann weitergegeben werden, wenn das Gerät noch vorhanden ist. Wenn das USB-Gerät nicht vorhanden ist, können Sie es nicht zurücksetzen.
Android
Android könnte seine MTP-Implementierung verbessern, so dass die Verbindung zum Computer nicht sofort getrennt wird.
Nautilus / Caja / Nemo
Es wäre schön, wenn diese Software die Präferenz anbot, Fehlermeldungen zu unterdrücken oder weniger populär anzuzeigen.
Melden Sie Probleme an GNOME.
Melden Sie Probleme an MATE Caja.
Melden Sie Probleme an Linux Mint Nemo