Як швидко та надійно передавати файли між Linux та Android?


16

Як видно з назви, мені потрібно знайти швидкий і надійний спосіб передачі файлів між моїм ноутбуком Linux (OpenSUSE з KDE 4) і моїм телефоном Android (Samsung Galaxy S3 Neo).

Я вже спробував кілька методів

  • Протокол MTP через фізичне з'єднання через кабель USB;
  • Протокол FTP через WiFi, що надається програмою ES File Manager ;
  • З'єднання Bluetooth;
  • Підключення KDE через WiFi;

але все здається або повільним, не надійним, або обом; Я маю на увазі те, що незалежно від того, який тип зв'язку я намагаюся, я завжди з’ясовую, що мої файли передаються з низькою швидкістю (в діапазоні 100 ~ 500 Кб / с) або, якщо швидкість трохи більш прийнятна ( деякі Мб / с), з'єднання розривається частіше, ніж ні; Мені справді на нерви доводиться чекати годину або близько того, щоб перенести кілька пісень чи відеофайлів між моїми пристроями, або доведеться перезапустити процес вдруге, тому що він раптом перестає працювати; зрештою, в ці дні розмір файлів у діапазоні сотень Мб є нормою для файлів середнього розміру, я не говорю про передачу всього вмісту жорсткого диска.

Мої різні випробування показали мені, що MPT - це найгірший спосіб, навіть якщо він може досягти найкращих швидкостей під час роботи (але такий тип з'єднання надто часто руйнується, щоб мати практичну користь), тоді як інші здаються більш надійними, але хоч такі низькі швидкості, що роблять весь процес марно витраченим часом (як я вже сказав, я вважаю неприйнятним чекати годину або близько того, щоб передати музичний альбом, епізод телесеріалу чи будь-який інший файл, який важить більше що пару МБ).

Який найкращий варіант для виконання цього простого завдання? Будь ласка, майте на увазі, що я хотів би це зробити, не використовуючи жодної інтернет-служби (Dropbox, Google Drive чи щось подібне), я вважаю абсурдним передачу деяких особистих файлів між двома особистими пристроями, розташованими в одній фізичній кімнаті. доведеться використовувати сервер, розташований, швидше за все, на іншому континенті.


Якщо протокол MTP через фізичне з'єднання USB викликає у вас проблеми, це вказує на проблему з налаштуванням. Він повинен бути надійним і швидким. Це має бути набагато швидше, ніж 12,5 - 62,5 Кб / сек, про який ви повідомляєте, і я ніколи не бачив, щоб він перервав зв’язок.
ChrisInEdmonton

3
Чи є у вас якісь пропозиції щодо того, як я можу спробувати дізнатися, де криється проблема? Пошук у Google показав мені, що я не єдиний, хто має проблеми з цією технологією під Linux.
Сехемті

FWIW, я використовую jmtpfs, і це також часто баггі / повільно. Я не думаю, що це проблема з фізичним зв’язком, оскільки adb pushце швидко і надійно.
Андраш Корн

1
Проблема не тільки повільність - я б комфортний для деяких перекладів будуть повільно ... Коли я копіюю файл (скажімо , фільм або пісні) весь ПК « зупиняється ». Чому ?! Якщо я перетягую файли з пристрою в Windows на той самий Android-пристрій, я все ще можу робити реальні речі, такі як компілювати Java або відповідати на електронну пошту. Але, використовуючи копію в Linux, вона не повинна чекати так само, як ПК з однопоточним MSDOS. Проблема, як видається, є помилковою реалізацією для інтерфейсу Linux - Android. Трохи сумно, якщо вони обидва походять з однієї стабільної Linux.
буде

У цієї ж проблеми є Samsung та Ubuntu. Іноді це швидко, іноді страшенно повільно. Потрібно чекати хвилин, поки файли з’являться, і скопіювати / перемістити
Гуус

Відповіді:


5

Підключення KDE. Я переношу фотографії зі свого телефону 35 мегабайт в секунду на свій домашній wifi. На моєму робочому місці Wi-Fi / мережа значно бідніша: я отримую приблизно 0,5 мегабайт в секунду. Той самий комп’ютер - той самий телефон.

Створення загального Wi-Fi на комп’ютері через мережевий менеджер може значно пришвидшити ситуацію. (Не забудьте встановити код wifi, щоб ви не відкривали мережу)


35 Мб / с? Я отримую лише 1-2 МБ з якихось причин. Який смартфон, роутер, комп’ютер ви використовуєте?
Te Ri

Samsung s8 + TP-link Archer C9. Переконайтеся, що телефон і ноутбук не мають двох різних діапазонів (2,4 ГГц і 5 ГГц)
user130356

UX на Linux постійно стає все кращим.
D. Dan

2

Використовуйте ADB push / pull. Або я думаю, що деякі пристрої підтримують передачу масової передачі USB до MTP. Можливо, потрібно спочатку ввімкнути це. Хоча adb, мабуть, найкращий для великих та швидких передач.


1

Дозвіл, здається, є частою проблемою. я використовую

adb push <file on pc> /storage/self/primary/Download/

останній каталог можна записати користувачем Джо, на відміну від системних режимів, для яких потрібен вкорінений телефон.

Nb це автоматично викликає adb start-server; прибирати adb kill-serverпісля передачі файлів.

Файл, який потрапляє в папку "Завантажити", можна переміщувати за допомогою функцій меню "вибір" та "переміщення" телефону.

Якщо ви намагаєтеся змінити внутрішню роботу телефону, вам потрібен кореневий доступ ...


1

Я погоджуюся з тим, що копіювати файли через WiFi між комп’ютером Linux та телефоном Android, це абсурдно важко. Найбільш зручним інструментом для цього IMO є KDE Connect, однак у моєму випадку у нього часто виникають проблеми в Linux -> Android, що повертають помилки, не мають суттєвих коментарів.

Для Linux -> Android-напрямку в моєму випадку найкраще працює чисте FTP-рішення. Моя настройка:

  • Android: я використовую Total Commander App (TC) як FTP-клієнт (можливо, вам доведеться додатково встановити плагін FTP для TC)
  • Linux: я використовую службу vsftpd як FTP-сервер:

    - чудову статтю про те, як покроково налаштувати FTP-сервер ви можете знайти тут: https://www.wikihow.com/Set-up-an-FTP-Server-in-Ubuntu-Linux

    - іноді ви хочете перевірити статус вашої служби vsftpd, як це зробити, ви можете знайти тут: /ubuntu/19320/how-to-enable-or-disable-services

  • Після встановлення вищевказаного створіть нове підключення FTP у додатку Total Commender (користувач: анонімний, IP: [перевірити в Linux за допомогою команди ifconfig - wlan0, швидше за все, почнеться з 192.168.], SSL: ні, ім'я: [ваш улюблений назва з'єднання]).

Після підключення в TC до FTP-сервера вашого Linux ви можете скопіювати файли з комп’ютера Linux на пристрій Android: на одній панелі у вас папка FTP-сервера в Linux, а на іншій ви можете обрати будь-який каталог свого Android та скопіювати файли з один до одного.


0

Можливо, погляньте на Airdroid , який повинен передавати файли локально через Wi-Fi.


4
Дякую, але, як я вже сказав, я вважаю за краще не покладатися на онлайн-рішення; AirDroid вимагає, щоб ви зареєстрували обліковий запис, який буде використовуватися, я не готовий зробити це для простого завдання з передачі файлів.
Sekhemty

Добре, вибач. Минулого разу я використовував його, телефон запустив веб-сервер, і ви можете отримати доступ до нього з локального wifi, використовуючи короткий (4-значний) код аутентифікації. Рахунок тоді не був вимушений.
кизе

2
Окрім того, я не бачу, чому мені слід видавати свій список контактів в порядку перенесення файлів
Guido Kanschat

0

Якщо у вас на вікні Linux є самба, «FolderSync lite» працює досить добре, але в основному для синхронізації пар каталогів; таким чином, це добре для пісень та картинок, але не стільки для разових передач.

Як говорили інші, adb pushце хороший спосіб переміщення файлів до телефону через кабельне з'єднання. Хтось повинен написати adbfs для запобіжника. :)


0

Використання SSH Server та Filezilla забезпечує прийнятну швидкість бездротової передачі, надійну та безпечну передачу файлів, на мою думку.


2
За винятком того, що ваш користувач sshd може не мати дозволу на запис на зовнішній карті SD, наприклад ...
Jay

0

Я виявив, що він працює лише для USB, якщо використовую кабель, що постачається разом із цим пристроєм або подібним пристроєм. USB-кабель з мого неіснуючого планшета Samsung працює чудово із заміною Android Onix. Єдине, що працює для мого телефону - це кабель, який постачається разом із ним. Інші USB-кабелі для зарядки / передачі не працюють або не працюють повністю: наприклад, не копіюють файли .mp3. Поняття не маю, чому це так. Але кабелі, що не входять у пристрій, часто не відображаються як USB-пристрої.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.