Hur man överför filer mellan Android-telefoner och surfplattor med MTP på Ubuntu

Enheter som använder Google Android och även de nyare Android x86- och Android x86_64-plattformarna är baserade på samma kärna som Ubuntu är. Båda är implementeringar av GNU / Linux-operativsystemet, och filöverföringar mellan dem är vanligtvis mycket enkla. Om du kan ansluta en USB-kabel från din telefon eller surfplatta direkt till din Ubuntu-dator har du vanligtvis inga problem att skicka filer över. Detta fungerar även med Macintosh-maskiner som du har installerat Ubuntu för oavsett om de startar dubbelt eller inte.

Saker och ting är lite mer komplicerade om du vill använda en Media Transfer Protocol-app istället för en filhanterare för att göra det, eftersom MTP och Ubuntu inte nödvändigtvis gillar varandra. Lyckligtvis finns det ett sätt att få dem att kommunicera med samma filsystembibliotek för att enkelt överföra filer fram och tillbaka till någon av dina Android-enheter. Detta bör fungera med alla moderna officiella versioner av Ubuntu, inklusive de som använder alternativa grafiska filhanterare. Om du använder Xubuntu med Thunar, Lubuntu med PCManFM eller Kubuntu med Dolphin, har du fortfarande inga problem men du måste använda rätt MTP-verktyg för att skicka filer om du inte har ett lämpligt plugin.



Installera och använda MTP i Ubuntu

Du måste installera flera vanliga Media Transfer Protocol (MTP) -appar innan du använder den för att skicka och ta emot filer. Du kan göra detta via Synaptic Package Manager om du har det tillgängligt genom att öppna det från Dash, Whisker Menu eller LX Panel. Du måste söka efter och installera dessa paket:



libmtp-common



mtp-verktyg

libmtp-dev

libmtp-runtime



libmtp9

Mer än troligt kommer Synaptic faktiskt att föreslå några av dem som beroenden under installationen, så du behöver inte hitta dem alla individuellt. Du kan alltid börja skriva namnet på ett paket för att hjälpa dig hitta det i den långa lista som Synaptic ger dig när du startar programmet. Naturligtvis behöver du root-behörigheter för att installera paket, så du måste antagligen ange ditt lösenord när du startar det.

En enklare metod skulle vara att öppna en terminal genom att hålla ner CTRL, ALT och T och sedan utfärda dessa kommandon:

sudo apt-get uppdatering

sudo apt-get install libmtp-common mtp-tools libmtp-dev libmtp-runtime libmtp9

sudo apt-get dist-upgrade

I båda fallen bör detta installera de verktyg du behöver för att arbeta med protokollet. FUSE (Filesystem in Userspace) styr filsystemimplementeringsfästen som utförs av användare utan behörigheter att göra det, och tillåter därför endast obegränsad åtkomst till root-kontot, vilket är hashat som standard i Ubuntu. Du kan åsidosätta FUSE: s inbyggda säkerhetsfunktioner genom att redigera en specifik fil. Typ vid terminalen och tryck enter.

Längst ner i den här filen hittar du en rad som läser #user_allow_other, och du måste ta bort hashmarkeringen från framsidan av den raden. Alla andra rader bör förbli kommenterade. Tryck på CTRL och X samtidigt, tryck på y och tryck sedan på enter-tangenten. Detta sparar filen.

Anslut din enhet till din dator med USB-sladden och skriv sedan lsusb för att få fram ett bord. Leta efter namnet på din enhet i tabellen. Du kan säkert ignorera någon annan information som programmet berättar för dig, och om du saknar namnet kan du köra det säkert så många gånger du vill.

När du har hittat raden som identifierar din enhet, kör och tryck enter. Du kan ersätta nano med namnet på en annan terminaltextredigerare om du hellre vill använda en annan än nano, till exempel vi eller till och med emacs om det föredras. Längst ner i filen lägger du till kodraden:

Ersätt nameOfDevice med namnet på den enhet du hittade efter att ha kört lsusb, och de fyra nummertecknen bör ersättas med den första och andra uppsättningen med fyrsiffriga adresser som hittades direkt efter det namnet. Tekniskt sett är texten efter # -symbolen en kommenterad etikett, och du kan skriva vad du vill efter den, så om du behöver göra en anteckning om någon information angående din enhet är detta en lämplig plats att göra det.

När du har sparat filen kan du säkert mata ut och ta bort alla USB-enheter som för närvarande är anslutna till ditt system och köra sudo service udev restart från terminalfönstret. Spara kvarvarande arbete som du har öppnat och stäng alla program du kan innan du startar om din maskin helt.

Så snart din dator startar om, anslut din Android-telefon eller surfplatta till den igen efter att du har kontrollerat att du inte låste skärmen. Du borde nu kunna överföra filer till och från din Android-enhet med de snabbare MTP-biblioteken. Kör synkroniseringskommandot utan argument från terminalen när som helst som du vill se till att buffertarna som Ubuntu använder för att tillfälligt lagra data är helt skrivna till din Android-enhet. Detta kommer att säkerställa att du inte drabbas av någon form av dataförlust.

Om du har en microSDHC-plats på enheten kan Ubuntu till och med montera den som ett vfat-filsystem, vilket förvirrar vissa användare. Detta är faktiskt inte relaterat till MTP, och detta bör hända även om du inte har MTP installerad. Medan vfat står för Virtual File Allocation Table finns det inget virtualiserat eller emulerat. Detta är ett standardfilsystem FAT12, FAT16 eller FAT32 som delar sitt arv med det gamla MS-DOS-sättet att hantera filer. Microsoft Windows använde något som kallas en virtuell enhetsdrivrutin för att låta dig skriva långa filnamn till dessa filsystem när DOS inte tillåter det, och Android använder samma struktur för att montera anslutna SD-kort.

Om du har ett kort monterat så här kan du kopiera och flytta filer mellan det och Ubuntu utan problem, men det stöder inte Unix-filbehörigheter. Se till att mata ut det som om det vore en separat USB-enhet för att förhindra dataförlust.

4 minuter läst