So verhindern Sie, dass Popup-Fenster "MTP-Gerät kann nicht geöffnet werden" geöffnet werden?

10563
Michael Aaron Safyan

Ich stecke mein Android-Gerät oft nur zu Ladezwecken an das USB-Laufwerk an, ohne das Dateisystem verwenden zu wollen (und bei ausgeschaltetem Bildschirm oder bei den USB-Einstellungen im "Nur Laden" -Modus), was beides verhindert, dass das Telefon eine Datenverbindung zulässt gemacht werden). Wenn ich das tue, bekomme ich jedoch oft sehr viele nervige Pop-Ups, die wie das unten abgebildete Popup aussehen:

So verhindern Sie, dass Popup-Fenster

Idealerweise gibt es eine Möglichkeit, den Fenstermanager so zu konfigurieren, dass diese Pop-Ups nicht angezeigt werden (ohne das automatische Aktivieren zu deaktivieren), sodass ich das Gerät immer noch als Dateisystem verwenden kann, ohne dass es manuell geladen werden muss dh wenn sich die USB-Einstellung des Telefons im Modus "MTP" befindet und der Bildschirm nicht gesperrt ist). Andernfalls wäre es ideal, wenn es einen einfachen Befehl gäbe, mit dem ich alle Instanzen dieses Popups beenden kann (ohne den Rest des Fenstermanagers gleichzeitig zu töten). Andernfalls wären Lösungen zum Deaktivieren des Automountings dieses bestimmten Geräts (ohne das gesamte Automounting zu deaktivieren) eine akzeptable Lösung.

Irgendwelche Vorschläge, wie Sie verhindern können, dass dieses Popup entweder überhaupt auftritt, oder mehrere Instanzen des Popup-Fensters in einem einzigen Befehl beenden?

Für mehr Kontext verwende ich Ubuntu 14.04 LTS; Ich bin nicht sicher, ob Gnome oder Nemo für diesen Fehler verantwortlich ist (ich weiß, dass mein „Home“ Verzeichnis Shortcut - Symbol ruft „nemo“, aber ich bin mir ziemlich sicher, dass es auch Gnome-basierte Anwendungen auf dem System gibt es eine ~/.gnomeund ~/.gnome2Verzeichnis usw., so könnte es Gnome sein).

6
Versuchen Sie Folgendes: Ignorieren Sie das Popup und ziehen Sie die Benachrichtigungsleiste herunter (dies bedeutet "Als Mediengerät verbunden"). Wenn Sie eines haben, tippen Sie auf "Laufend" und wechseln Sie vom "MTP-Modus" in den "PTP-Modus": harrymc vor 7 Jahren 0
Die Lösung für Ihre Antwort ist hier auf dem [Ubuntu Stack Exchange] (http://askubuntu.com/questions/624183/how-can-i-stop-unable-to-mount-android-device-messages-from-popping) zu finden -oben) Computing Corn vor 7 Jahren 1
Versuchen Sie auch die Lösung in diesem Thread (https://ubuntu-mate.community/t/mounting-android-devices-on-ubuntu-mate/3357). Versuchen Sie auch `sudo apt-get install mtp-tools mtpfs`. harrymc vor 7 Jahren 1
Diese Lösungen funktionieren nicht mit einem anderen Problem. Michael Aaron Safyan vor 7 Jahren 0
@MichaelAaronSafyan _ "Diese Lösungen funktionieren / lösen kein anderes Problem" ._ Mit kde als ich `mtp-tools mtpfs 'installierte, wurde ein ähnliches Problem gelöst ... Ich habe nicht verstanden, ob Sie den Harrys Vorschlag und es ausprobiert haben hat nicht funktioniert oder wenn Sie es einfach verworfen haben ... ein Feedback kann auch für andere Benutzer nützlich sein ... Hastur vor 7 Jahren 0

5 Antworten auf die Frage

6
Deltik

Sie haben also folgendes:

Pixel kann nicht gemountet werden

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/syslogGNOME 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.

Probleme an libmtp melden

Android

Android könnte seine MTP-Implementierung verbessern, so dass die Verbindung zum Computer nicht sofort getrennt wird.

Probleme an Android melden

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

Diese Antwort ist sehr, sehr nahe (danke für den Vorschlag bezüglich wmctrl). Es stellt sich jedoch heraus, dass die PID aus den leeren Fenstern mit keinem der oben genannten verknüpft ist, sondern mit dem Befehl "/ usr / lib / x86_64-linux-gnu / cinnamon-settings-daemon / cinnamon-settings-daemon". Was Sie mir jedoch gegeben haben, reicht aus, um ein Skript zu erstellen, das alle Popup-Fenster löscht. Michael Aaron Safyan vor 7 Jahren 0
Zu Ihrer Information, ich habe Ihre Antwort aktualisiert / bearbeitet, um Ihren Einzeiler durch ein Skript zu ersetzen, das die Popup-Fenster erfolgreich schließt. Michael Aaron Safyan vor 7 Jahren 0
3
Telmo Henrique Valverde

Ich habe eine Problemumgehung für Nemo :

Zum Bearbeiten> Einstellungen> Verhalten und auf Medienhandhabung deaktivieren „Automatisch herausnehmbare Medien montieren beim Einsetzen und beim Start“.

Wenn Sie das Telefon vollständig aufgeladen haben, können Sie die Option wieder aktivieren, um das Standardverhalten wiederherzustellen.

1
Logan
sudo apt-get install mtp-tools mtpfs 

Durch Ausführen dieses Befehls werden die erforderlichen Tools installiert, und der Fehler wird nicht angezeigt. Möglicherweise ist ein vollständiger Neustart erforderlich.

Wie soll das helfen, wenn sich das Gerät absichtlich nicht in einem Modus befindet, in dem MTP verwendet werden kann? Ich versuche nicht, das Gerät mit MTP zu verwenden. Vielmehr versuche ich, lästige Hinweise / Popups zu deaktivieren, die immer dann angezeigt werden, wenn ich einfach das Telefon anschließen möchte, um den Akku aufzuladen.] Michael Aaron Safyan vor 7 Jahren 0
@Logan: Wenn Sie die Kommentare zu dem Beitrag gelesen hätten, hätten Sie gesehen, dass dieser Hinweis bereits angeboten wurde und nicht geholfen hat. Um solche Fehler zu vermeiden, sollten Sie immer alle vorhandenen Antworten und Kommentare lesen, bevor Sie antworten. harrymc vor 7 Jahren 1
0
Roy Smith

Sie können versuchen, den Umgang mit Android mit dem USB-Anschluss des Geräts zu ändern. Beginnend mit Marshmallow (Android 6.0) war die Standardeinstellung für den USB-Anschluss nur für das Laden und um zu ändern, dass Sie auf die Benachrichtigungsleiste und dann auf die Benachrichtigung tippen müssten, um sie für andere Zwecke zu ändern.
Als erstes müssen Sie den Entwicklermodus aktivieren.
Öffnen Sie dazu Einstellungen - Über das Telefon, scrollen Sie nach unten, bis Sie die Build-Nummer sehen. Tippen Sie dann einfach sieben Mal darauf, um den Entwicklermodus zu aktivieren.
Es erscheint eine kleine Meldung, dass Sie jetzt ein Entwickler sind, sobald Sie die Schritte in der richtigen Reihenfolge ausgeführt haben.

Wenn der Entwicklermodus aktiviert ist, wird im Einstellungsmenü ein neuer Menüpunkt mit dem Namen 'Entwickleroptionen' angezeigt. Tippen Sie darauf und blättern Sie nach unten, bis Sie USB-Konfiguration sehen. Tippen Sie dann auf.
Sie erhalten dann ein Fenster, in dem Sie das Standardverhalten des USB-Anschlusses angeben können, wenn Sie ein Kabel daran anschließen. Sie haben die Wahl zwischen Gebühren, MTP, PTP und anderen Protokollen, die Ihr Gerät unterstützt.

0
Amias

Eine einfachere Lösung hierfür ist, dass Sie Ihr Telefon so einstellen, dass es anstelle von mtp, ptp oder einem anderen Gerät als MIDI-Gerät auf dem Computer angezeigt wird.

Sie benötigen android 8, ich kann dies auf meinem oneplus3t tun

Dies verhindert, dass Nautilus überhaupt beteiligt wird, wird aber schnell rückgängig gemacht, wenn Sie die Dateifreigabe wünschen.