Aspell:如何全局更改主目录?

Aspell:如何全局更改主目录?

aspell在我的家中创建以下文件:

.aspell.en.prepl
.aspell.en.pws

如何更改全局位置,即更改为$HOME/.cache/aspell

我需要引用$HOME中的环境变量/etc/aspell.conf。我尝试了以下方法,但似乎不起作用:

home-dir $HOME/.cache/

如何home-dir全局设置为每个用户~/.cache目录?

澄清

我不aspell手动运行。 Thunderbird 等应用程序自行运行。因此,使用 shell 别名并不是真正的解决方案。

答案1

其他应用程序确实使用 aspell 而不是库,在这种情况下环境变量将不起作用,至少不会影响主应用程序(Thunderbird 或其他应用程序)。

我确实修补了aspell创建一个与这个问题相匹配的自定义版本,仓库是这里这是修补要使用此自定义版本,您需要卸载系统的版本包(aspell、libaspell、aspell-[en/fr/etc]),尤其是利巴斯佩尔如果依赖关系扩展到您不想删除的其他包,您可以强制删除这些包。 (如果您设置环境变量以/use/local供aspell 和 libaspell使用,则可以避免卸载系统的软件包/usr...这可能是默认设置,具体取决于所使用的发行版)

安装:

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 的应用程序).​​..无论如何,因为此事已经存在一个悬而未决的问题,稍后应该将其修复为主流。

相关内容