← Timeline
Avatar placeholder
Alter

Не те щоб робоче, але близько. Про користь уважного і неупередженого читання документації. І (не)дотримання традицій )

Забрати з телефона фото під лінуксом - наче не проблема, і вже давно. Виділив, скопіював. Розкласти в архів по датах/місяцях - вже вручну і трохи заморочливо. А якщо не тільки з камери, а ще з 100500 месенджерів - вже не трохи.
І камера ще... З неї і на комп, і на телефон, щоб потім в інсту...

Було б добре скриптом. (чи far2l хоча б). І наче ж можна. І пишуть, що є gvfs. І його навіть встановлено... Підключаєш телефон - в GUI все видно, але повний шлях, той що по Ctrl-L , видає щось далеке від unix path - типу mtp:xxx-zzz, замість /media/uuu/... для скриптів не підходить. І у списку примонтованих носіїв нічого нового. Є якийсь /run/user/xxx/gvfs, але він постійно присутній, незалежно від підключення, то навіть дивитись не цікаво (а зря). Гугл видає щось невнятне і жахливі рішення через adb (тобто режим розробника на телефоні і debugger на компі). Ок, забили, забули.

Минуло кілька років, налаштовував новий ноут, знов повернувся до питання. І цього разу гугл знаходить щось про те, що шукати треба було всередині /run/user/xxx/gvfs (того що здавалось нецікавим) , мало того, називатися "mount point" там буде саме mtp:xxx-zzz. Тільки це не mount point. А стаття, доречі, свіжа, 2022... нарешті когось допекло.

То матиму щастя і автоматичну синхронізацію фото між телефоном, камерою і компом однією кнопкою.

PS. Але є ньюанс. Щоб gallery на телефоні (а разом з ним і всі інші аплікухи) побачив нові фото, що залиті на телефон з камери у такий спосіб, треба ще якусь магію застосовувати (знов пропонують adb чи щось видалене з google play, чи чось дуже глючне і не універсальне), чи досить довго чекати, доки він сам оновиться.

PPS. Знайшов я ту магІю...

Пів-дня намагався залити фото з камери на телефон. Не через GUI, а файловими операціями. Воно ж доступне. Фото заливається, їх видно в File Manager на телефоні, інколи вони частково з'являються у повідомленні "Found new images" в Gallery. І майже ніколи в загальный галереї чи в розділі Download, куди я їх і заливав. Майже так само з Instagram. То бачить (рідко), то не бачить. Повний розсинхрон всього.

Злі і стрьомні методи з форумів з використанням adb і відладки - також не мають особливого успіху. Купа утіліт типу Rescan - аналогічно.
Навіть зміг досягнути ситуації, коли файла нема, а залити з таким самим іменем не дає (як з'ясувалось - проблема на стороні ноута, перезавантажив - і все ок)
А через GUI - знов норм.

Ок, не зря ж debugger підключав... Врубив максимальний рівень логів. І виявляється, що там де ок - одразу відбувається індексація відповідно до типу файла, а там де ні - помилка unsupported type.

Пошук, доречі, дає мало цінного, крім того, що проблема десь в бібліотеках... І що є такий android-file-transfer. Типу ftp, тільки для mtp, для андроідів. І він працює нормально ! І коректно відбувається індексація. То на ньому і зробив собі скрипт для автопереносу фоток.

От сиджу тепер і порівнюю libmtp, що використовується gvfs'ом і android-file-transfer, в якого власна реалізація. І схоже, ще потім в сам gvfs доведеться лізти...

PPPS. Подивився в GVFS.... Якщо файл просто копіюється як на файлову систему, то йому призначається тип unknown, коли він створюється. Хоча, навіить сам libmtp має ф-цію отримання типу з назви. Правда, лише в прикладах. В продакшн не пішло. І звісно, android не знає що з ним робити. А от якщо через GUI - то в комплекті йде mime type... Наприклад, image/jpeg... Що береться з оригінала, який ми копіюємо
От шоб вони були здорові...

І тепер слайди... Зробив скрипт http://alter.org.ua/uk/soft/linux/gvfs_mtp/
І зробив патч Gnome GitLab GVFS Issue #648, Merge request #152

Android Gallery don't see images uploaded via GVFS MTP
Android Gallery don't see images uploaded via GVFS MTP
ALTER.ORG.UA
GVFS MTP uploaded images are not indexed by Android gallery (#648) · Issues…
If image file are written to Android device via fuse mount point, they are not indexed correctly. They are not visible i…
GitLabGITLAB.GNOME.ORG
💯1
To react or comment  View in Web Client