Автор Тема: LibreOffice не видит, что файл уже открыт  (Прочитано 2686 раз)

Оффлайн klepabim

  • Участник
  • *
  • Сообщений: 13
LibreOffice создаёт lock-файл и блокирует на уровне ФС по возможности. И корректно распознаёт блокировку как на уровне ФС, так и по своему lock-файлу.

Точно так же работает и MS Word. Разве что они не понимают lock-файлы друг друга, т.е. Word откроет файл, расположенный на smb-ресурсе, который локально уже открыт в Linux.
То есть если пользователь А на Linux-системе откроет файл в LibreOffice, то у пользователя Б (ОС Windows), который попытается открыть этот же файл в LibreOffice, появится уведомление, что файл уже используется?

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 568
В виндах, кстати, "забытые" lock-файлы (например, при внезапном отключении электричества), нередко являются причиной отказа открывать файл, что в LO, что в MSO. Не каждый раз, видимо кроме наличия lock-файла ещё что-то проверяется, но бывает.

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 568
То есть если пользователь А на Linux-системе откроет файл в LibreOffice, то у пользователя Б (ОС Windows), который попытается открыть этот же файл в LibreOffice, появится уведомление, что файл уже используется?
Зависит от того, в какой ОС находится сам файл. Это в случае если файл находится в винде и удалённый LO создал рядом с ним lock-файл. Но так как удалённый LO работает с копией в своей системе он вряд ли его там создаст. Вообще это проверять надо, так вернее.
« Последнее редактирование: 07.06.2022 21:11:15 от stranger573 »

Оффлайн Александр Ерещенко

  • Участник
  • *
  • Сообщений: 1 246
LibreOffice создаёт lock-файл и блокирует на уровне ФС по возможности. И корректно распознаёт блокировку как на уровне ФС, так и по своему lock-файлу.

Точно так же работает и MS Word. Разве что они не понимают lock-файлы друг друга, т.е. Word откроет файл, расположенный на smb-ресурсе, который локально уже открыт в Linux.
То есть если пользователь А на Linux-системе откроет файл в LibreOffice, то у пользователя Б (ОС Windows), который попытается открыть этот же файл в LibreOffice, появится уведомление, что файл уже используется?
Да LibreOffice свой собственный lock-файл понимает в любом случае. Собственно для этого и придуман, чтобы не привязываться к особенностям файловой системы (ну и плюс доп. инфо, например, имя пользователя, открывшего файл)

Оффлайн Александр Ерещенко

  • Участник
  • *
  • Сообщений: 1 246
То есть если пользователь А на Linux-системе откроет файл в LibreOffice, то у пользователя Б (ОС Windows), который попытается открыть этот же файл в LibreOffice, появится уведомление, что файл уже используется?
Зависит от того, в какой ОС находится сам файл. Это в случае если файл находится в винде и удалённый LO создал рядом с ним lock-файл. Но так как удалённый LO работает с копией в своей системе он вряд ли его там создаст. Вообще это проверять надо, так вернее.
С копией LO работает, если файл берётся напрямую по smb-протоколу (полный путь к файлу начинается с smb://)
Поэтому и делал примечание про смонтированный сетевой ресурс.

Оффлайн trs

  • Участник
  • *
  • Сообщений: 287
Эм тут вроде как логина иная, можно открыть несколько копий для работы сравнивания в 1 документе
На Винде это можно каким-то образом сделать, чтобы отображалось уведомление
Там при открытии файла указывается при помощи флагов FILE_SHARE_READ и FILE_SHARE_WRITE, можно ли разрешить кому-то ещё читать или писать в файл. В Linux, похоже, пошли другим путём, но так и не договорились о механизме.

В виндах, кстати, "забытые" lock-файлы (например, при внезапном отключении электричества), нередко являются причиной отказа открывать файл, что в LO, что в MSO.
Перешёл на Linux, что бы с удивлением узнать, что в MSO были какие-то лок-файлы. Может быть, на самом деле там при открытии создаётся резервная копия документа?

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 568
Перешёл на Linux, что бы с удивлением узнать, что в MSO были какие-то лок-файлы. Может быть, на самом деле там при открытии создаётся резервная копия документа?
Да, там резервная копия, хотя и вполне может быть использована в качестве суррогата lock-файла, при желании. Непереходившие гораздо чаще видят lock-файлы нежели что там в MSO, отсюда такие не совсем верные обобщения.

Оффлайн klepabim

  • Участник
  • *
  • Сообщений: 13
Как я понял, в Microsoft Office за это уведомления отвечает вот эта вкладка. Есть ли такая вкладка в LibreOffice?
« Последнее редактирование: 11.06.2022 15:09:41 от klepabim »

Оффлайн klepabim

  • Участник
  • *
  • Сообщений: 13
И напомню, что LibreOffice не умеет открывать файлы напрямую по протоколу smb:// - вместо этого происходит копирование файла локально во временный каталог, а после изменения файла предлагает скопировать его обратно, и вся эта процедура иногда не чётко отрабатывается.
Какое есть решение? Что можете посоветовать? У нас на работе у всех кроме меня стоит Windows, пользуются Microsoft Office. На мой компьютер установили ALT Linux с LibreOffice и МойОфис. Работаем с общими файлами по протоколу smb://

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 166
    • Домашняя страница
Добавить в группу fuse, чтобы gio прозрачно монтировалось. Или монтировать через autofs или явно через pam_mount.
Андрей Черепанов (cas@)