Я работаю над программой на C++ под названием RoboJournal. Он использует Hunspell для проверки орфографии. Прямо сейчас он автоматически устанавливает свои собственные словарные файлы (en_US.dic) в домашнюю папку пользователя (т. Е. ~/.robojournal/en_US.dic). Это прекрасно работает как на ОС, таких как Windows, которые не содержат совместимых словарей из коробки, но есть проблема с дизайном, которую я хочу исправить:Работа с словарями системного уровня
В Linux существует несколько экземпляров en_US.dic (наиболее заметно в/usr/share/hunspell/en_US.dic). Эта копия, очевидно, предназначена для совместного использования всеми программами, использующими Hunspell, что означает, что моя программа должна использовать ее, если это возможно, вместо того, чтобы полагаться на свою собственную копию. Однако копия в/usr/share/hunspell/требует прав суперпользователя для изменения; в то время как это означает, что пользователи могут читать из него, они не могут добавлять к нему слова, если только программа не работает с правами суперпользователя или если я не chmod файл, чтобы позволить всем писать на него. Эта проблема делает копию /usr/share/hunspell/en_US.dic гораздо менее полезной.
Есть ли способ для изменения файла /usr/share/hunspell/en_US.dic без с правами суперпользователя или с требованием сначала выполнить chmod файл? Мой помощник пакета Debian сказал, что мое приложение должно использовать глобальные системные ресурсы, когда это возможно.