Thunderbird 플러그인을 전역적으로 추가하는 방법은 무엇입니까?

Thunderbird 플러그인을 전역적으로 추가하는 방법은 무엇입니까?

Thunderbird 확장 프로그램을 .xpi파일로 다운로드했습니다.

알아요. 다음을 통해 Thunderbird에 설치할 수 있습니다.

Tools
  -> Addons
     -> Install Add-on from file

그러나 저는 여러 개의 Thunderbird 프로필을 사용하고 있으며 각 프로필에 대해 이 작업을 수행해야 합니다.

이 플러그인을 전역적으로(아마도 어딘가에 /usr/share/xul-ext) 설치하려면 어떻게 해야 합니까? .xpi이 확장 파일의 압축을 거기에서 풀어야 합니까 ?

답변1

확장 디렉토리는 다른 유닉스에서 다른 위치에 있는 것 같습니다. 우분투에서는 /usr/lib/thunderbird-addons/extensions이 답변 이 귀하의 디렉토리를 만듭니다./usr/lib/thunderbird/extensions/

  1. xpi 파일의 압축을 푼다(zip 파일임)

    unzip addon.xpi
    
  2. 파일에서 추가 기능 ID를 검색합니다 install.rdf.

    ID=$(grep em:id install.rdf  | head -1 | cut -d '>' -f 2 | cut -d '<' -f 1)
    
  3. 다음 위치에 id-name 디렉터리를 만듭니다 extensions.

    mkdir /usr/lib/thunderbird/extensions/$ID
    
  4. 압축을 푼 파일을 이동하세요.

    mv $(ls | grep -v addon.xpi)) /usr/lib/thunderbird/extensions/$ID
    

자동으로 업데이트되지는 않습니다. (제가 제기한) 질문은 다음과 같습니다.글로벌 Firefox 플러그인 자동 업데이트대기 중...

편집: 네트워크 확장의 출현으로 ID를 얻는 것이 좀 더 어려워졌습니다. 다음 스크립트를 시도해 보세요

#! /bin/bash
if [ $(id -u) -ne 0 ]; then echo 'needs to run as root'; exit; fi
D=$(mktemp -d)
unzip $1 -d $D
[ -f $D/manifest.json ] && ADDON_ID=$(openssl asn1parse -inform DER -in $D/META-INF/mozilla.rsa | grep -A 1 commonName | grep -E '{|@' | cut -d ':' -f 4)
[ -f $D/install.rdf ] && ADDON_ID=$(grep "em:id" $D/install.rdf  | head -1 | cut -d ">" -f 2 | cut -d "<" -f 1)
if [ x$ADDON_ID == x ]; then
    echo "ADDON_ID retrieval failed"
    exit
else
    echo ID: $ADDON_ID
fi
chmod 755 $D
chmod -R a+r $D
rm -rf /usr/lib/thunderbird-addons/extensions/$ADDON_ID
mv $D /usr/lib/thunderbird-addons/extensions/$ADDON_ID

관련 정보