Aspell: 홈 디렉토리를 전역적으로 변경하는 방법은 무엇입니까?

Aspell: 홈 디렉토리를 전역적으로 변경하는 방법은 무엇입니까?

aspell내 집에 다음 파일을 만듭니다.

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

위치를 전체적으로(예: )로 변경하려면 어떻게 해야 합니까 $HOME/.cache/aspell?

$HOMENET에서 환경 변수를 참조해야 합니다 /etc/aspell.conf. 다음을 시도했지만 작동하지 않는 것 같습니다.

home-dir $HOME/.cache/

home-dir각 사용자 디렉토리가 되도록 전역적으로 어떻게 설정할 수 있습니까 ~/.cache?

설명

나는 수동으로 실행하지 않습니다 aspell. Thunderbird와 같은 응용 프로그램이 자체적으로 실행됩니다. 따라서 쉘 별칭을 사용하는 것은 실제로 해결책이 아닙니다.

답변1

다른 응용 프로그램은 라이브러리를 통해 aspell을 사용합니다. 이 경우 환경 변수는 적어도 기본 응용 프로그램(Thunderbird 또는 기타)에 영향을 주지 않고는 작동하지 않습니다.

나는 aspell이 질문과 일치하는 사용자 정의 버전을 만들기 위해 패치를 적용했습니다.여기그리고 여기는반점이 사용자 정의 버전을 사용하려면 특히 시스템 버전 패키지(aspell, libaspell, aspell-[en/fr/etc])를 제거해야 합니다.리바스펠제거하고 싶지 않은 다른 패키지로 종속성이 확장된 경우 패키지를 강제로 제거할 수 있습니다. (aspell 및 libaspell에 대해 /use/local이전에 사용할 환경 변수를 설정하면 시스템 패키지 제거를 피할 수 있습니다 /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를 설정하여 로드됩니다. .Thunderbird 또는 aspell을 사용하는 다른 앱에 대한 변수 LD_PRELOAD)... 어쨌든 이 문제에 대한 공개 문제가 있으므로 나중에 주류로 수정되어야 합니다.

관련 정보