LINUX.ORG.RU
ФорумTalks

Грустная история про WebDAV и KDE

 , , ,


0

2

Привет, LOR!

Я расскажу тебе грустную историю о том, как я пытался расшарить базу KeePassXC через WebDAV. Мой друг недавно упомянул о переходе с Bitwarden на KeePassXC, я тоже решил попробовать. Выкинуть SaaS – всегда хорошая идея.

Arch Linux, Plasma 6.5, последний стабильный релиз.

Сначала я думал про Syncthing (он у меня уже есть) и на десктопе/ноутбуке он работает отлично. Но у меня также есть iPhone и там с Syncthing все плохо. Поэтому я решил взял другой SaaS, который у меня есть: WebDAV от Fastmail.

На iPhone всё работает хорошо. Всё, что нужно сделать – указать KeePassium на файл в WebDAV. Он будет игнорировать mtime и скачивать базу каждый раз, но это не то чтобы проблема, там пара килобайт.

Теперь к ноутбуку с KDE.

KeePassXC работает только с локальными файлами, так что идея была такой:

  • Создать точку монтирования WebDAV (например, ~/Cloud)
  • Попросить KDE её автомонтировать
  • Указать KeePassXC на ~/Cloud/Foo/Bar/Keychain.kdbx

Всё хорошо? Не совсем. В KDE нет способа создать точку монтирования WebDAV в конкретное место. Но можно создать «Remote > Network > Cloud» в Dolphin.

Всё хорошо? Не совсем. Это виртуальная абстракция KIO, поэтому приложения, которые не умеют в KIO (т.е. все приложения кроме KDE), не могут получить к нему доступ. Однако есть решение: kio-fuse. Он экспортирует директории для сторонних приложений, не использующих KIO.

Всё хорошо? Не совсем. kio-fuse монтирует FUSE в /run/user/<uid>/kio-fuse-<random>. Что, конечно же, ломает KeePassXC, так как меняется на каждом ребуте. Для этого есть обходной путь, требующий переопределить директиву ExecStart в юните systemd. Да, в bugzilla есть несколько тикетов на эту тему.

Всё хорошо? Не совсем. Нет (по крайней мере, известного мне) способа заставить KDE показать что-либо в /run/user/1000/kio-fuse, если к нему не обращалось в Dolphin приложение, которое не умеет KIO. Не поможет даже открыть в Dolphin «Remote > Network > Cloud». Вероятно есть какая-то магия dbus для этого.

Всё хорошо? Не совсем. После всех этих страданий я обнаружил, что KIO не может переименовывать файлы WebDAV. mv говорит «I/O error», Dolphin тоже что-то говорит.

Я попробовал GVFS:

$ gio mount davs://myfiles.fastmail.com
$ ln -s /run/user/1000/gvfs/dav:host=myfiles.fastmail.com,ssl=true ~/Cloud

Всё работает. Можно положить это в ~/.config/systemd/user/home-user-Cloud.automount, и оно будет работать с KeePassXC. Всё ещё не так просто, как в Windows, но хотя бы работает.

Такие дела. «Год Линукса на Декстопе», дамы и господа.

Перемещено dataman из desktop



Последнее исправление: dataman (всего исправлений: 7)
Ответ на: комментарий от James_Holden

Итог - ее не делают, либо делают на начальном уровне.

Просто кому-то из тех, кому она нужна, следует её запилить, или хотя бы начать проект. Именно отдельным приложением. А единомышленики подтянутся и помогут допилить. Ну вот beets же есть, например. Да, он не рассчитан на «обычную домохозяйку», это правда, но вот взяли и запилили же, и не на начальном уровне. Гуёвую запилить не намного сложнее. Это в принципе не особо большой проект, не уровня браузера там, или чего-то подобного — один энтузиаст, которому действительно надо без проблем справится. Но такого не нашлось.

надо понимать суть опенсорса и иметь ожидания от него, в соответствии с этим понимаем

Тут полностью согласен. Опенсорс даёт возможности. Если в готовых продуктах что-то не устраивает, то можно взять и допилить их под себя так, чтобы начали устраивать. Самостоятельно, или заплатив не очень большие деньги, сравнимые с покупкой лицензии какого-нибудь коммерческого софта, фрилансеру который запилит за тебя и даже сделает пулл-реквест в апстрим. С закрытым софтом такой возможности попросту нет — жри что дают. И, как правило, это «что дают» оказывается весьма компромисным. Если уж не по фичам и удобству (хотя очень часто и по ним тоже), то по безопасности, приватности, личных данных и прочим сопутствующим вещам. Но при этом опенсорс не даёт всего, что душа пожелает, бесплатно и без усилий по первому же запросу — отношение «должно быть так, как я хочу», в некоторой степени уместное в случае с коммерческим софтом в разрезе «я заплатил за то, чтобы было зашибись», к нему не применимо: должно — запили. Но многие приходят с потребительским отношением, а потом разочаровываются и возмущаются. Чем популярнее становится опенсорс в целом и линукс в частности, тем таких будет больше — с этим придётся смириться…

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от tinykey

Что значит правильно то? Еще раз, это вопрос приоритета. Почему ты считаешь, что твои вопросы, которые задаешь ты - более приоритетны чем то, что делает команда KDE? Мы опросим 100 человек и каждый выкатит свой список, что надо переделать в KDE. И тогда оказывается, что 700k это очень мало.

James_Holden ★★★★★
()
Ответ на: комментарий от CrX

один энтузиаст, которому действительно надо без проблем справится. Но такого не нашлось.

Такого не бывает. Не нашлось потому, что задача стоит слишком дорого для энтузиаста. Поэтому все обломились. Я тоже летом думал, что вот сейчас я запилю, стал пилить и оценивать перспективы, трудозатраты. По незнанию, ведь раньше я не запиливал ни одного плеера с развитой коллекцией, оценки затрат были приемлимыми, когда дошло до дела, оценки улетели за орбиту Урана. Я просто отказался быть таким энтузиастом. Просто, есть вещи, слишком дорогие для опенсорса. Их то как раз и нету у нас.

James_Holden ★★★★★
()
Ответ на: комментарий от James_Holden

Такого не бывает. Не нашлось потому, что задача стоит слишком дорого для энтузиаста. Поэтому все обломились.

Бывает и часто. Этому свидетельствует наличие огромного количество гораздо более сложных вещей, запиленных энтузиастами. А менеджер коллекции — это не слишком дорого для энтузиаста, просто не нашлось того, кому и правда нужно (а может и нашлось, но я не в курсе, мне этот класс софта не интересен, за исключением того, что в виде скриптов).

По незнанию, ведь раньше я не запиливал ни одного плеера с развитой коллекцией

Ну так эта задача в несколько раз сложнее. Я-то говорю про менеджер коллекции, в виде отдельного приложения, не плеер. Плеер (полноценный, а не уровня «вроде воспроизводит mp3») сложнее. Но такой комбайн и не нужен. Хорошие плееры уже есть. Не хватает (кому-то, мне не надо) менеджера коллекции, который будет позволять рулить оной (и быть понятным домохозяйке, а не beets), а для проигрывания использовать существующий плеер.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от CrX

Менеджер коллекции нельзя реализовать как отдельное от плеера приложение. Почему - да потому, что надо понимать и самому использовать «класс софта» чтобы рассуждать про него. Тем более, чтобы оценивать его сложность. Подробнее тут оффтоп разводить не хочу.

James_Holden ★★★★★
()
Последнее исправление: James_Holden (всего исправлений: 1)
Ответ на: комментарий от James_Holden

Это задача ОС, а не десктопной среды. В винде и маке это неотделимые вещи, в линуксе - это две разные вселенные. Соответственно, задачи надо разделять тут.

С чего бы вдруг? У нас есть прекрасный пример: sshfs.

Это звучит как корпоративная задача. KDE - не разрабатывается как корпоративная DE, больше как гиково-домашняя. Я например, за 21 год использования KDE первый раз от тебя слышу, что есть какие-то запароленные принтеры, на которые окуляр может не печатать. Подозреваю, многие разработчики окуляра тоже это первый раз услышат.

У разработчиков Okular на это уже три бага.

tinykey
() автор топика
Ответ на: комментарий от James_Holden

Менеджер коллекции нельзя реализовать как отдельное от плеера приложение.

Можно и нужно.

Почему - да потому, что надо понимать и самому использовать «класс софта» чтобы рассуждать про него

Я использовал какое-то время в foobar, потом отказался (даже в нём и на винде, да). Также (хоть и недолго) использовал beets — это тот же класс софта, просто другая ЦА. С beets перешёл на простые самописные скрипты в итоге. Тем не менее о чём я в данном случае рассуждаю, я хорошо понимаю (прошу заметить, в тех случаях, когда у меня не было понимания или знаний, я этого никогда не скрывал, и даже с самого начала заявлял). Если бы мне такое надо было, я бы запилил. Да, это заняло бы какое-то время, но никто же не торопит — хоть год пиши по вечерам.

CrX ★★★★★
()
Ответ на: комментарий от CrX

Можно и нужно.

Опыт стриминговых сервисов показывает обратное. Строить «приколдесы вот по этой песне» и сразу их играть – ваще топ.

tinykey
() автор топика
Ответ на: комментарий от cobold

Давай, расскажи как в windows делать локальный бэкап iphone через itunes на внешний диск

Я не знаю как в Windows делать локальный бекап iPhone через iTunes на внешний диск. Тред вообще о другом.

tinykey
() автор топика

Я так понял, что изначально всё споткнулось об айфон. Если его убрать и заменить на что-либо удобное, то никаких отжиманий со штангой не понадобилось бы?

imul ★★★★★
()
Ответ на: комментарий от imul

Я так понял, что изначально всё споткнулось об айфон. Если его убрать и заменить на что-либо удобное, то никаких отжиманий со штангой не понадобилось бы?

И да, и нет. WebDAV – мгновенная синхронизация, что в случае с менеджером паролей удобнее syncthing.

tinykey
() автор топика
Ответ на: комментарий от CrX

Еще раз, не хочу сейчас спорить. Ты просто не понимаешь, что такое управление коллекцией в плеере, зачем оно и какие решает задачи. Это функция плеера, неотделимая от плеера. К работе с файлами это вообще не имеет прямого отношения. Речь вообще не про то, чтобы какие-то файлы там резать, или что ты там скриптами делаешь. Речь как раз идет про то, чтобы файлы НЕ резать. Это позволяет нормальный плеер.

А в линуксе ты да, будешь кромсать коллекцию, перебивать все теги в файлах, портить файлы, терять возможность раздавать дальше эти файлы, резать bin образы, теряя точные копии дисков. А пользователям нормальных плееров это не надо, потому что эти задачи решаются внутри плеера, а не снаружи.

Но люди настолько упертые и уверенные в своей правоте, хотя не понимают вообще основ, что бороться с людьми бесполезно, режте что хотите, долбитесь как хотите. Я лично это разрабатывать не буду, я переживу отсутствие у меня полноценного плеера, не умру. Музыку можно и так слушать, а время потратить на более массово полезные разработки, в том числе.

James_Holden ★★★★★
()
Ответ на: комментарий от James_Holden

Ты просто не понимаешь, что такое управление коллекцией в плеере, зачем оно и какие решает задачи

Прекрасно понимаю. Но да, спорить смысла не вижу, ведь тебе комфортнее уверовать, что никто ничего не понимает.

К работе с файлами это вообще не имеет прямого отношения. Речь вообще не про то, чтобы какие-то файлы там резать

Я и не утверждал обратного. Не выдумывай.

А в линуксе ты да, будешь кромсать коллекцию, перебивать все теги в файлах, портить файлы, терять возможность раздавать дальше эти файлы, резать bin образы, теряя точные копии дисков. А пользователям нормальных плееров это не надо, потому что эти задачи решаются внутри плеера, а не снаружи.

Это не нормальные плееры. И эти задачи можно решать точно так же отдельной программой, вне плеера. Точно так же даже не не изменяя сами файлы при желании.

Но люди настолько упертые и уверенные в своей правоте, хотя не понимают вообще основ, что бороться с людьми бесполезно

Вот уж что правда, то правда ;)

Я лично это разрабатывать не буду, я переживу отсутствие у меня полноценного плеера, не умру. Музыку можно и так слушать, а время потратить на более массово полезные разработки, в том числе.

Так никто и не заставляет. Просто в этом и разница, и объяснение, почему весь нужный мне софт со всеми нужными фичами и хотелками есть, а то, что нужно или хочется тебе, того нет. Я не осуждаю, конечно, занятие более массово полезными разработками даже похвально. Но тем не менее, разница и причина в этом, а не потому что для энтузиастов это дорого, или непосильная задача. Может быть она таковая для тебя, но не для любого.

CrX ★★★★★
()
Ответ на: комментарий от James_Holden

Всё не так. Серверная ОС - это фрибсд. А линукс как раз десктопная, хоть и с более-менее поддержкой серверности.

firkax ★★★★★
()

не используй kio/gvfs для постоянных точек монтирования, используй специальные fuse драйвера. kio/gvfs нужны для разовых процедур

mittorn ★★★★★
()
Ответ на: комментарий от James_Holden

Я возможно не совсем внимательно читал, но вроде изначальный посыл был в том, что если б не айфон, то везде обошлось бы одним сынктингом. А на проблемы маздая мне и вовсе с птичьего полёта, собственно.

imul ★★★★★
()
Ответ на: комментарий от CrX

Может быть она таковая для тебя, но не для любого.

Так где эти любые? Где они, за 30 лет? Нету. Потому что, таки непосильная.

James_Holden ★★★★★
()
Ответ на: комментарий от firkax

Бред. Даже если мы встанем на точку зрения, что для серверов фряха намного лучше (ну а почему нет, пусть так), то линукс от этого ни разу не становится десктопной ОС. Ну вообще никак. Для десктопа он годится еще хуже чем для сервера. Мы тут сидим на нем, потому что опенсорс и в нем ничего лучше нету.

James_Holden ★★★★★
()
Ответ на: комментарий от CrX

Ну вообще да, так правильнее. Она конечно посильная, если бы это было в достаточной степени нужно. А так, нужность не покрывает затраты даже для меня, хотя я ною что ай ай как нужно.

James_Holden ★★★★★
()
Ответ на: комментарий от imul

А причем тут маздай то. У меня самба работает со всем, между устройствами на линуксе, и андроидами. С виндой, она как раз таки у меня не работает, я не знаю что там за загоны и не особо хочу знать.

James_Holden ★★★★★
()
Ответ на: комментарий от James_Holden

Мы тут сидим на нем, потому что опенсорс и в нем ничего лучше нету.

Не надо «мы». Лично я установил линукс когда понял что он больше подходит для десктопа чем оффтоп (при том что оффтоп был семёркой в то время). Вовремя я это сделал, иначе бы потом страдал ещё больше. А то, что он опенсорс итд - на тот момент значения не особо имело. Плюсы опенсорс-десктопа я заметил позже.

firkax ★★★★★
()
Ответ на: комментарий от mittorn

не используй kio/gvfs для постоянных точек монтирования, используй специальные fuse драйвера. kio/gvfs нужны для разовых процедур

Казалось бы, но это буквально удвоение кодовой базы. Правда ,выяснилось, что для разовых процедур KIO тоже не подходит.

tinykey
() автор топика
Ответ на: комментарий от James_Holden

Отчасти @CrX прав. Но тогда сказав А следует говорить и Б.

Управлять нужно коллекциями вообще. Звукозаписей, изображений, текстов. И хранить информацию о людях, об авторах, о хронологии, об изданиях. Биографии, события. А данные (собственно файлы) хранить отдельно держа в системе только путь к файлу (или части файла) и передавая его программе воспроизведения или отображения. Собственно, человеку в этой картине можно вообще не давать непосредственного доступа к файлам, только опосредованный.

Но этого уже точно можно не ожидать. Ни в свободном ПО, ни в проприетарном.

sin_a ★★★★★
()
Последнее исправление: sin_a (всего исправлений: 1)
Ответ на: комментарий от sin_a

Управлять нужно коллекциями вообще. Звукозаписей, изображений, текстов. И хранить информацию о людях, об авторах, о хронологии, об изданиях. Биографии, события.

Бесспорно. Поэтому я и говорю, что затраты вырастают до небес. Одно тянет другое и пошло поехало.

А данные (собственно файлы) хранить отдельно держа в системе только путь к файлу (или части файла)

Ну так блина, а как теперь заставить любой плеер работать с этой системой то? Я не понимаю вас обоих. Или надо сейчас с нуля написать набор независимых от этой системы плееров, которые смогут с ней работать? Так в целом я это и хотел, плюс минус. Затраты оценил как непомерные, забил.

Ни в свободном ПО, ни в проприетарном

Всмысле. В проприетарном это все есть.

James_Holden ★★★★★
()
Ответ на: комментарий от CrX

Какие ваши доказательства? Обвинение во лжи это как бы обвинение. В суде знаешь что за это бывает, если нет доказательств твоего обвинения? Ты точно уверен, что можешь такими словами бросаться? Чисто по-человечески (не о реальном суде речь конечно).

James_Holden ★★★★★
()
Ответ на: комментарий от James_Holden

как теперь заставить любой плеер работать с этой системой

А что, если плееру дать список файлов для воспроизведения то он не справится? Что это за плеер, чтобы я случайно им не стал пользоваться.

sin_a ★★★★★
()
Ответ на: комментарий от James_Holden

Ну так блина, а как теперь заставить любой плеер работать с этой системой то?

Плееру не нужно об этой системе в принципе знать. Его задача — воспроизводить файлы. А кот какие файлы воспроизводить и как, ему подскажет эта система. Да, если в таком софте захочется править метаданные, не изменяя файлов, но при этом захочется и внутри плеера видеть «исправленные», то понадобится поддержка отдельного хранилища метаданных со стороны плеера, но это легко решается одним плагином. Статистика проигрывания, если она требуется, тоже, но это многие плееры и так умеют. Для остального поддержка плеера не требуется, достаточно, чтобы ему можно было сказать «играй вот это, потом вот то, потом вот такой плейлист».

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 2)
Ответ на: комментарий от sin_a

А что, если плееру дать список файлов для воспроизведения то он не справится?

Нет конечно.

Что это за плеер, чтобы я случайно им не стал пользоваться.

Любой плеер. Можешь теперь на ютуб-онли переходить, все плееры зашкварены.

James_Holden ★★★★★
()
Ответ на: комментарий от CrX

А кот какие файлы воспроизводить и как, ему подскажет эта система

Это просто бла бла бла. Возьми например плеер QMMP и ответь конкретно, как технически ты сейчас ему будешь подсказывать и что.

James_Holden ★★★★★
()
Ответ на: комментарий от CrX

Да, если в таком софте захочется править метаданные, не изменяя файлов, но при этом захочется и внутри плеера видеть «исправленные», то понадобится поддержка отдельного хранилища метаданных со стороны плеера

Метаданные в плейлисте.

sin_a ★★★★★
()
Ответ на: комментарий от James_Holden

Какие ваши доказательства?

Доказательства чего? Что утверждение «для 99% людей Линукс не подходит» (или «подходит хуже офтопика», смотря какой контекст мы берём) не является истинным? Ну как бы доля Линукса, регистрируемая от 4% до 12%, в зависимости от источника, уже намекает, что процент тех, кому не подходит, как минимум не больше 96. А на деле, естественно, меньше, ведь если человек, например, ходит по интернету с макоси, это не обязательно означает, что линукс ему не подходит, или подходит меньше офтопика. 99% вот прям никак не набирается.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от sin_a

Метаданные в плейлисте.

Кстати да, тоже вполне вариант.

CrX ★★★★★
()
Ответ на: комментарий от James_Holden

Это просто бла бла бла. Возьми например плеер QMMP и ответь конкретно, как технически ты сейчас ему будешь подсказывать и что.

Я не пользуюсь QMMP, но например с тем же deadbeef это не составляет никакой проблемы. Более того, я так и делаю. Читать документацию по QMMP, чтобы узнать, как это делается там (если никак, то это редкий случай совсем не годного плеера, но вряд ли), я за тебя не буду.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от tinykey

Я раньше (времена gnome2 ещё) пользовался gvfs и это было вполне удобно: зашёл на сетевой диск, фотоаппарат или mtp в наутилусе и файлы сразу доступны любым программам. Но собственно на этом его применение и заканчивается. У него одна задача: обеспечить штатную работу программ с файлами из проводника на виртуальных фс.
А вот постоянную работу с фс лучше делегировтаь отдельным утилитам, чтобы если пользователь разлогинился или gvfs/kio просто упал - ничего не отвалилось

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

Я раньше (времена gnome2 ещё) пользовался gvfs и это было вполне удобно: зашёл на сетевой диск, фотоаппарат или mtp в наутилусе и файлы сразу доступны любым программам. Но собственно на этом его применение и заканчивается. У него одна задача: обеспечить штатную работу программ с файлами из проводника на виртуальных фс.

А разница-то где? Первое от второго отличается буквально ничем – что там демон через FUSE с тобой общается, что здесь.

tinykey
() автор топика
Ответ на: комментарий от sin_a

Я не спорю что все могут играть плейлист, я спрашиваю, конкретно то о чем мы говорим, конкретно как выгдялит с конкретным плеером, какой workflow по шагам, я хочу понять. А то мы на ЛОРе, сейчас мне скажут что я должен плейлист генерировать скриптом на PHP, выгружать с браузера и потом открывать в плеере.

James_Holden ★★★★★
()
Ответ на: комментарий от James_Holden

Как сказать ему играть конкретные файлы? Вместо текущих: deadbeef "path/to/File 1.flac" "path/to/File 2.flac" и т.д., добавить после текущих — deadbeef --queue .... Вместо непосредственно списка файлов можно передать и плейлист в любом формате, в т.ч. и .cue (не совсем плейлист, но тоже вариант).

CrX ★★★★★
()
Ответ на: комментарий от James_Holden

А то мы на ЛОРе, сейчас мне скажут что я должен плейлист генерировать скриптом на PHP, выгружать с браузера и потом открывать в плеере.

Зачем с браузера-то? С софтины этой, которая библиотекой рулит. Она может тупо генерировать плейлист и говорить плееру его играть. Генерация может быть любой сложности по любым самым странным критериям.

CrX ★★★★★
()
Ответ на: комментарий от CrX

А теперь, как для каждого файла, добавляемого таким образом, указать отметки времени начала и конца, что именно играть из этого файла?

James_Holden ★★★★★
()
Ответ на: комментарий от firkax

Пытаться управлять структурой файловой системы с помощью графической оболочки…

А в чём проблема-то тут? Ты ещё скажи, что нельзя директории с помощью графической оболочки создавать.

hateyoufeel ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)