Alcune applicazioni Ubuntu 13.04 non possono accedere ai file su sistemi montati su MTP. Perché?


14

Ubuntu 13.04 viene fornito con il supporto MTP per accedere ai file su dispositivi Android più recenti. Il mio Nexus 10 funziona bene: dopo averlo collegato, posso accedere ai file N10 con Nautilus e posso copiare da e sul dispositivo. Evince aprirà i file PDF direttamente dal dispositivo, ma alcune applicazioni non riescono ad aprire i file direttamente dal dispositivo come gedit o libreoffice. Gedit dice qualcosa come:

Cannot open file mtp://[usb:001,009]/65537/5823/5824

Immagino che MTP sia integrato a livello di gvfs, quindi tutte le applicazioni abilitate per gvfs non dovrebbero poter accedere al dispositivo MTP? Perché evadere ma non gedit?

So che MTP potrebbe essere montato con miccia, ma sarebbe bello se funzionasse con le normali applicazioni di Nautilus proprio come sftp: // o smb: //.


Ho avuto questo problema durante l'utilizzo di una macchina virtuale VMware. Potrebbe essere correlato alla latenza sul passthrough USB o presentarsi come più di un dispositivo / dispositivo secondario e non essere completamente superato attraverso la pura speculazione
RobotHumans

Risposte:


29

La specifica MTP non supporta le operazioni di base di apertura / lettura / scrittura / chiusura necessarie per implementare il normale accesso ai file su Linux - fornisce solo upload / download per i file, ed è ciò che implementa il back-end MTP.

Nautilus copierà i file bene, ma non appena si tenta di utilizzare un'applicazione che non tiene conto in modo esplicito dell'insieme limitato di operazioni, viene visualizzato un errore. evince è un esempio di un'app che lo supporta (copia il file in / tmp e poi lo apre).

Quindi, è quello che sta succedendo nel 13.04.

Ora, capita che Google abbia implementato una serie di estensioni MTP in Android che offrono apertura / lettura / scrittura / chiusura, ed è possibile fornire un normale accesso ai file con queste. Ho fatto questo lavoro nel ramo di sviluppo di gvfs ma mancava la finestra di rilascio 1.16, quindi non verrà mostrato in Ubuntu prima del 13.10. 14.04 e non ancora presente

Nel frattempo, puoi usare my ppa per installare build in cui ho eseguito il backport di questo lavoro.

https://launchpad.net/~langdalepl/+archive/gvfs-mtp

Infine, è importante notare che queste estensioni esistono solo nello stack MTP di Google. Hai un Nexus 10, quindi funzionerà come se fosse in esecuzione Android di serie, ma qualcuno che utilizza un dispositivo Samsung o dispositivi di altri produttori, non avrà queste estensioni e potrebbe non avere supporto per il normale I / O dei file.


Tuttavia sembra che Windows 7 abbia quelle funzionalità extra o una soluzione alternativa ed è abbastanza utile. Sarebbe bello se quegli "extra" fossero implementati anche in Ubuntu
Álvaro il

1
Per ovviare a un'operazione di lettura potrebbe essere semplicemente un download in / tmp e leggere da essa, che Nautilus potrebbe eseguire automaticamente per consentire all'utente di avere l'impressione di un'operazione di lettura. E con cose simili puoi scrivere (scarica su / tmp, modifica e carica sul dispositivo)
Álvaro,

2
Non mi sono mai trovato a mio agio con il comportamento implicito di download / upload: può essere una sorpresa molto spiacevole per l'utente e non volevo presentarlo. Considera cosa succede se hai un film multi-gigabyte che vuoi guardare, quindi fai doppio clic su di esso e poi inizia improvvisamente a scaricare sul tuo / tmp che è davvero un tmpfs ... O vuoi modificare un documento e apri, fai un po 'di lavoro e poi salvi, ma il tuo computer si arresta in modo anomalo prima che fs possa caricarlo di nuovo, e il file intermedio è stato memorizzato in / tmp, che è un tmpfs, quindi si perde al riavvio. ! scortese
Langdalepl,

@ Álvaro Proprio FYI, le specifiche MTP sono state sviluppate da Microsoft. Molte delle funzionalità di MTP sembrano funzionare benissimo su dispositivi Windows ma non tanto altrove.
RomaH,

0

Ho avuto problemi a scattare foto dal mio Fujifilm FinePix S1500. Messaggio di errore:

Operation not supported by backend

L'ho risolto smontando la fotocamera e copiando i file dalla riga di comando usando gphoto2.


1
Sarebbe bello se potessi spiegare esattamente come dovresti usare il comando comegphoto2
Amith KK
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.