aspell
создает следующие файлы в моем доме:
.aspell.en.prepl
.aspell.en.pws
Как я могу изменить местоположение глобально, например, на $HOME/.cache/aspell
?
Мне нужно сослаться на $HOME
переменные среды в /etc/aspell.conf
. Я попробовал следующее, но это, похоже, не работает:
home-dir $HOME/.cache/
Как я могу установить home-dir
глобальное значение для каждого ~/.cache
каталога пользователя?
РАЗЪЯСНЕНИЕ
Я не запускаю aspell
вручную. Такие приложения, как Thunderbird, запускают его сами. Поэтому использование псевдонима оболочки не является решением.
решение1
Другие приложения используют aspell поверх библиотеки, переменные окружения в этом случае работать не будут, по крайней мере, не влияя на основное приложение (Thunderbird или другое).
Я сделал патч aspell
, чтобы создать пользовательскую версию, которая соответствует этому вопросу, репозиторийздесьи вотпластырьЧтобы использовать эту пользовательскую версию, вам необходимо удалить системные пакеты версий (aspell, libaspell, aspell-[en/fr/etc]), особенноlibaspellвы можете принудительно удалить пакеты, если зависимость распространяется на другие пакеты, которые вы не хотите удалять. (удаления системных пакетов можно избежать, если вы настроите переменные окружения для использования /use/local
до этого /usr
для aspell и libaspell... это может быть установлено по умолчанию в зависимости от используемого дистрибутива)
Монтаж:
git clone https://github.com/Intika-Linux-Apps/Aspell.git
cd Aspell
./autogen
./configure
make install
Затем установите нужный словарь изздесьнапример, для английского словаря вы бы сделали:
wget https://ftp.gnu.org/gnu/aspell/dict/en/aspell6-en-2019.10.06-0.tar.bz2
tar -xvf aspell6-en-2019.10.06-0.tar.bz2
cd aspell6-en-2019.10.06-0/
./configure
make install
Примечание:
- Есть проблема по этому поводуздесьтакже естьздесьсоответствующее обсуждение.
- Патч в этом ответе можно реализовать путем
LD_PRELOAD
внедрения пользовательской библиотеки исправлений, которая изменит целевое значение переменной для работающего приложения... (мне нужно будет реализовать эту пользовательскую библиотеку... затем она будет загружена путем установки переменной env.LD_PRELOAD
для Thunderbird или другого приложения с помощью aspell)... в любом случае, поскольку по этому вопросу уже есть открытая проблема, ее следует исправить позже.