Media Transfer Protocol (Magyar)
A Media Transfer Protocol (MTP protokoll) felhasználható médiafájlok átvitelére sok mobiltelefon (minden Windows Phone 7/8/10 készülék, a legtöbb újabb Android készülék) és médialejátszó (pl. Creative Zen) között.
Csatlakoztatás
Az MTP protokollt felhasználva, a számítógéphez a következőképpen lehet hozzácsatlakoztatni a készüléket:
- A készüléket USB vezeték segítségével kell hozzácsatlakoztatni a számítógéphez.
- Az MTP protokollt engedélyezni kell a készüléken.
- A készülék képernyőjét fel kell oldani (biztonsági okok miatt).
FUSE fájlrendszerek
A következő programok lehetővé teszik azt, hogy Ön MTP készülékeket érjen el FUSE fájlrendszeren keresztül.
A FUSE-alapú fájlrendszerek esetében előfordulhat, hogy először létre kell hozni a csatolási pont könyvtárát. Az alábbi példákban a ~/mnt könyvtárat használjuk.
A FUSE felcsatolások általában a fusermount -u felcsatolási pont paranccsal választhatók le a fájlrendszerünkről.
Android File Transfer
Android File Transfer — MTP kliensprogram. Parancssori felülettel, Qt grafikus felülettel, és FUSE szoftvercsomaggal rendelkezik, amely egy egyedi MTP implementációt használ.
Csatolja fel az Ön készülékét a ~/mnt könyvtárba:
$ aft-mtp-mount ~/mnt
Futtassa a fenti parancsot, hogy az album borítója megjelenjen, az album neve albumart.xxx legyen, és elsőként kerüljön a célkönyvtárba. Ezután másolja a többi fájlt. Vegye figyelembe, hogy a fuse akár 7–8-szor lassabb lehet, mint a grafikus vagy parancssori fájlátvitel.
Ha a parancssori felületen keresztül szeretne vele dolgozni, futtassa a következő parancsot:
$ aft-mtp-cli
Parancssorban Ön írja be a help parancsot az összes elérhető parancs kilistázása érdekében, illetve az exit parancsot a kilépés érdekében.
Ha Ön a grafikus felhasználói felületen keresztül szeretne vele dolgozni, akkor indítsa el az android-file-transfer alkalmazást, válasszon ki egy célkönyvtárat, majd kattintson a menüsor bármely gombjára. Az elérhető lehetőségek: Upload Album, Upload Directory és Upload Files. Az utóbbi kettő magától értetődő. Az Upload Album a forráskönyvtárban keresi meg az albumborítókat, és beállítja a legjobb elérhető borítót.
MTPfs
MTPfs — A libmtp alapján működő FUSE fájlrendszer, amely támogatja a bármely MTP készülékről történő olvasást és írást.
Először szerkessze a /etc/fuse.conf fájlt, vegye ki a megjegyzést a következő sor elől:
user_allow_other
Majd csatolja fel az Ön készülékét a ~/mnt könyvtárba:
$ mtpfs -o allow_other ~/mnt
jmtpfs
jmtpfs — A libmtp alapján az MTP (Media Transfer Protocol) készülékek eléréséhez.
Csatolja fel a készüléket a ~/mnt könyvtárba:
$ jmtpfs ~/mnt
Illessze a Linux többi részéhez (használja a szokásos mount/umount parancsokat) kettő lépésben:
$# ln -s <actual mount command's path/name> <a name consistent with Linux's mount convention> $ ln -s /sbin/jmtpfs /sbin/mount.jmtpfs
Adja hozzá ezt az /etc/fstab fájlhoz:
#jmtpfs <mount path> fuse nodev,allow_other,<other options> 0 0 jmtpfs /home/sam/run/motog fuse nodev,allow_other,rw,user,noauto,noatime,uid=1000,gid=1000 0 0
Végül, csatolja fel a készüléket, és ellenőrizze, hogy az opciók "érvényesültek-e" :
$ mount /home/sam/run/motog Device 0 (VID=22b8 and PID=2e82) is a Motorola Moto G (ID2). Android device detected, assigning default bug flags $ mount ... jmtpfs on /home/sam/run/motog type fuse.jmtpfs (rw,nosuid,nodev,noexec,noatime,user_id=1000,group_id=1000,allow_other,user=sam)
SIMPLE-MTPFS
SIMPLE-MTPFS — A libmtp alapú Simple Media Transfer Protocol FileSystem egy olyan fájlrendszer, amely képes a helyi számítógéphez USB vezeték segítségével csatalakoztatott MTP készülékeken lévő fájlok kezelésére.
Az észlelt készülékek kilistázása érdekében Ön futtassa a simple-mtpfs -l parancsot.
Annak érdekében, hogy a listából az első készülék a ~/mnt könyvtárba fel legyen csatolva, Ön futtassa a simple-mtpfs --device 1 ~/mnt parancsot.
go-mtpfs
go-mtpfs — Egy FUSE fájlrendszer egyedi MTP implementációval. Go programozási nyelven lett megírva.
Telepítse fel a számítógépre az android-udev szoftvercsomagot, amely lehetővé teszi a /etc/udev/rules.d/51-android.rules fájl szerkesztését, és az Ön idVendor valamint idProduct értékeinek alkalmazását, amelyeket Ön az mtp-detect futtatása után láthat. A sor végére adja hozzá az Ön felhasználóját: OWNER="ide az Ön felhasználója kerül".
Csatolja fel a készüléket a ~/mnt könyvtárba:
$ go-mtpfs ~/mnt
- Ha Ön több készüléket is használ, akkor érdemes a
-dkapcsolót használni egy bizonyos készülék megadása érdekében. (Ennek az egy bizonyos készüléknek az azonosítóját azmtp-detectfuttatásával lehet megtalálni). - Ha külső SD-kártya van jelen, akkor a
go-mtpfshasználatával történő felcsatolás sikertelen lehet. Ha Ön SD-kártyával próbálja elérni a készüléket, és a go-mtpfs hibát jelez, akkor próbálja meg eltávolítani az SD-kártyát, majd újból próbálja meg a felcsatolási műveletet végrehajtani. - Ez a szoftvercsomag 2020 óta nincs karbantartva.
libmtp
A libmtp egy MTP implementációt nyújtó függvénykönyvtár, amely néhány például szolgáló parancssori programmal is érkezik. (Ezeket a programokat Ön felsorolhatja a pacman -Ql libmtp parancs segítségével).
Telepítse fel a számítógépre a libmtp szoftvercsomagot.
Futtassa az mtp-detect parancsot a készülék felismerése érdekében.
Amennyiben Ön hibát kap vissza, akkor győződjön meg róla, hogy az Ön felhasználója tagja az adbusers felhasználói csoportnak.
A libmtp tulajdonképpen függvénykönyvtárként való felhasználásra szolgál, nem végfelhasználók számár lett kitalálva. Az mtp-detect parancson kívül a többi parancssori program a mindennapi munkához valószínűleg szükségtelen. A fejlesztő ezeket a programokat csak példaként említi. Úgymint például 2025 januárjában a README fájl 115–138. sorainál. Konkrétabb példáért tekintse meg a régi, de szemléltető Fájl másolása MTP készülékről libmtp használatával (USB vezetéken keresztül) című javaslatot. Ajánlott egy front end program használata.
Front end programok
gMTP — Egy grafikus felhasználói felülettel rendelkező front end program a libmtp számára. Lehetővé teszi Android készülékek felcsatlakoztatását és a fájlok kezelését asztali környezetfüggetlen grafikus felületen.
Médialejátszók
Ön a saját MTP készülékét használhatja zenelejátszókkal együtt, például az Amarok zenelejátszó programmal együtt is. A felhasználás érdekében előfordulhat, hogy Önnek szerkesztenie kell a /etc/udev/rules.d/51-android.rules fájlt. (Az alábbi példában használt MTP készülék egy Galaxy Nexus mobiltelefon).
Parancssorban futtassa a következő parancsot:
$ lsusb
Keresse meg az Ön saját készülékét. Valószínűleg valami ilyesmi lesz:
Bus 003 Device 011: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-P7500 [Galaxy Tab 10.1]
Továbbá, a /etc/udev/rules.d/51-android.rules fájlba belekerülő bejegyzés így fog kinézni:
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666", OWNER="[username]"
Töltse be újra az udev szabályokat is:
# udevadm control --reload
Fájlkezelő integrációja
Ön a saját Android készülékében lévő tárhely tartalmát megtekintheti (MTP protokollon keresztül) a fájlkezelőben a megfelelő bővítmény feltelepítésével:
- Azokhoz a fájlkezelőkhöz, amelyek GVFS fájlrendszert használnak (GNOME Files), telepítse fel a számítógépre a gvfs-mtp szoftvercsomagot MTP protokollhoz vagy a gvfs-gphoto2 szoftvercsomagot telepítse fel a PTP protokoll támogatásához.
- Azokhoz a fájlkezelőkhöz, amelyek KIO (KDE Input/Output) keretrendszert használnak (KDE Dolphin), az MTP támogatás a kio-extras szoftvercsomagban található (a dolphin szoftvercsomag-függősége).
A szükséges szoftvercsomag számítógépre történő feltelepítése után a készüléknek automatikusan meg kell jelennie a fájlkezelőben, és elérhetővé válik egy URL címen keresztül, például mtp://[usb:002,013]/.
gvfs-mtp
A gvfs-mtp szoftvercsomag elérhető a hivatalos szoftvercsomag-tárolókban.
Az lsusb használatával információt kaphat az Ön saját készülékéről, ahol a Bus és Device számok a gvfs-mtp-vel és az készülékazonosítóval együtt felhasználhatók egy udev szabály létrehozásához.
Bus 002 Device 018: ID 04b7:88a9 Compal Electronics, Inc.
Az MTP protokollt használó készülékek megtekintése érdekében Ön
használja a gio mount lehetőséget:
gio mount -li | grep -e ^Volume -e activation_root
Volume(0): MT65xx Android Phone activation_root=mtp://[usb:002,018]/
Használja az lsusb programot:
lsusb -v 2> /dev/null | grep -e Bus -e iInterface -e bInterfaceProtocol
...
Bus 002 Device 018: ID 04b7:88a9 Compal Electronics, Inc.
bInterfaceProtocol 0
iInterface 5 MTP
...
Az összes elérhető, csatlakoztatott MTP készülék felcsatolása érdekében Ön használjon inline szkriptet:
gio mount -li | awk -F= '{if(index($2,"mtp") == 1)system("gio mount "$2)}'
A gvfs-mtp parancs használatával (a Bus és Device számok segítségével) fel lehet csatolni vagy le lehet választani az készüléket. Például a felcsatolás érdekében: gio mount mtp://[usb:001,007]/, a leválasztás érdekében pedig: gio mount -u mtp://[usb:001,007]/.
A felcsatolt készülék egy olyan könyvtárban lesz elérhető, amely mtp:host= előtaggal kezdődik, és a /run/user/$UID/gvfs/ alatt található.
Az MTP készülékek automatikus felcsatolódásának letiltása érekében, Önnek a gvfs használatával módosítania kell az AutoMount változó értékét true szövegről false szövegre. A változó a /usr/share/gvfs/mounts/mtp.mount fájlban található.
Amennyiben az Ön készüléke nem jelenik meg a fájlkezelőben, akkor a #libmtp nem rendelkezik natív támogatással, és jelenleg nem szerepel a támogatott készülékek listájában. Ha parancssorból próbálja meg felcsatolni, akkor Ön hibát is kaphat.
Device 0 (VID=XXXX and PID=XXXX) is UNKNOWN. Please report this VID/PID and the device model to the libmtp development team
Egy udev szabályt kell megírni a készülékhez annak érdekében, hogy maga a készülék megjelenjen a fájlkezelőben. Ám nincs garancia arra, hogy MTP protokollon keresztül Ön majd fel is tudja csatolni a készüléket.
Használja az azonosítószámot, amelyet a vendorId:productID minta képvisel, például 04b7:88a9, és hozzon létre egy udev szabályt beállításfájl létrehozásával.
/etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="04b7", ATTR{idProduct}=="88a9", MODE="0660", GROUP="uucp", ENV{ID_MTP_DEVICE}="1", SYMLINK+="libmtp"
Töltse újra az udev szabályokat.
# udevadm control --reload
A gvfs támogatással rendelkező fájlkezelők képesek megjeleníteni és felcsatolni az MTP készülékeket, amennyiben a #libmtp támogatja őket. Ha azonban nincs támogatás, és a készülék nem nyitható meg, akkor a telefon beállításait PTP protokollra kell változtatni, valamint telepíteni kell a gvfs-gphoto2 szoftvercsomagot, annak érdekében, hogy Ön legalább a fényképekhez hozzáférjen a készüléken. A PTP parancssorban történő felcsatolása némileg hasonlít az MTP készülékek felcsatolásához: gio mount gphoto2://[usb:002,019]/.
cp vagy ls), akkor keresse meg a gvfs saját alternatíváit: ls -1 /usr/bin/gvfs-* .Hibaelhárítás
libmtp (gvfs-mtp): A fájlkezelő (nautilus, pcmanfm, vifm stb.) lefagy az Android készülék DCIM/Camera könyvtárának az elérésekor
Tünetek: Minden rendben működik egészen addig, amíg Ön be nem lép a DCIM/Camera könyvtárba. Ilyenkor a fájlkezelő lefagy, és Ön még parancssorból sem tudja lefuttatni az ls parancsot azon a könyvtáron.
Ez a probléma nagyon valószínű, hogy a libmtp függvénykönyvtár miatt fordul elő.
Úgy tűnik, hogy ezt egy olyan fájl okozza, amelynek neve hasonló a 20180915_180351(0).jpg névhez. Például a Samsung telefonok gyakran hoznak létre ilyen nevű fájlokat.
Több, a hibával kapcsolatos jelentés (egy, kettő stb.) és kérdés (egy, kettő) foglalkozik a hibával.
Lehetséges kerülőmegoldás, hogy Ön más MTP opciót használ a #FUSE fájlrendszerek közül. Például Ön a go-mtpfs fájlrendszert használja az ilyen könyvtárakhoz, vagy valamilyen módon megváltoztatja a telefon kamerájának fájlnévképzési szabályait (vagy áttér egy másik kameraalkalmazásra, például az Open Camera alkalmazásra).
jmtpfs: Input/output hiba az első hozzáféréskor
Tünetek: A jmtpfs sikeresen felcsatolódik, de Ön amint megpróbálja elérni a készüléken lévő fájlokat (például ls segítségével), rögtön hiba jelentkezik:
cannot access <mount-point>: Input/output error
Ez a hiba valójában biztonsági funkciónak tűnik: Amikor a telefon lezáródik a zárolóképernyővel, akkor az MTP nem működik. Oldja fel a telefont, és ismét működni fog a kommunikáció,amíg a kábel csatlakoztatva marad.
kio-mtp: Nem lehet használni az "Open with File Manager" műveletet
Amennyiben Ön nem tudja használni az "Open with File Manager" műveletet, akkor a problémát megkerülheti a /usr/share/solid/actions/solid_mtp.desktop fájl szerkesztésével.
Módosítsa az Exec=kioclient exec mtp:udi=%i/ sort az Exec=dolphin "mtp:/" sorra.
A kio-mtp egyidejű hívása különböző szolgáltatások által
Kerülni kell az mtpfs és a kio-mtp párhuzamos használatát. Továbbá, ahogyan az említve van ebben a fórumban, kerülni kell a kio-mtp protokollokat használó, de közben ütközésben lévő szolgáltatások használatát (beleértve a zenelejátszókat is).
Az Amarok MTP szolgáltatásokhoz tartozó bővítménye például megakadályozhatja, hogy a Dolphin (plasma) hozzáférjen különböző telefonmodellek fájljaihoz. Legalább egy felhasználónál megoldást jelentett a bővítmény kikapcsolása.