স্ক্রিপ্টগুলিতে কমান্ড লাইন থেকে ফায়ারফক্স অ্যাডন ইনস্টল করবেন কীভাবে?


25

আমি কিছু ফায়ারফক্স অ্যাডন যুক্ত করে আমার অপরিকল্পিত স্ক্রিপ্টটি উন্নত করতে চাই, তবে আমি উপায়টি খুঁজে পাচ্ছি না,

কীভাবে কেউ সাহায্য করতে পারেন?

উদাহরণ: (অ্যাডব্লকপ্লাস প্লাগইন ইনস্টল করতে এবং একটি নতুন ডিফল্ট ওয়েবপৃষ্ঠা সেট করতে চান)

wget https://addons.mozilla.org/firefox/downloads/latest/1865/addon-1865-latest.xpi
firefox -silent -install-global-extension addon-1865-latest.xpi -setDefaultBrowser www.google.es

আগাম ধন্যবাদ.


একটি অ্যাডোন ইনস্টলেশন স্বয়ংক্রিয় করার জন্য যোগ করা নির্দেশাবলী, আপনার যদি কোনও স্ক্রিপ্টের প্রয়োজন হয় তবে আমাকে জানাবেন, এটি সম্ভব।
ব্রুনো পেরেইরা

এটি এখন একটি দুর্দান্ত প্রশ্ন, যেহেতু আমি এখন 10.04-তে ঠিক এপি-গেট অ্যাডব্লক-প্লাস ডাইনি উপস্থিতি হিসাবে সিএলআইয়ের পথে অ্যাডব্লক প্যাকেজটি ইনস্টল করার উপায় অনুসন্ধান করার জন্য লড়াই করে যাচ্ছি ১১.১০ :( এবং হ্যাঁ
ক্যাঙ্গারো

উত্তর:


25

আপনার পদ্ধতি ব্যবহার করে

gksudo firefox -install-global-extension addon-1865-latest.xpiআপনার জন্য কৌশলটি মনে হচ্ছে। এটি আপনার সিস্টেমে সমস্ত ব্যবহারকারীর কাছে এক্সটেনশনটি ইনস্টল করবে।

কেবলমাত্র আপনার ব্যবহারকারীর জন্য এক্সটেনশানটি ইনস্টল করতে আর্গুমেন্ট হিসাবে এক্সটেনশন পাথটি ব্যবহার করুন

firefox addon-1865-latest.xpi

আপনি এখনও Installবাটন ক্লিক করতে হবে যদিও!

ইনস্টলেশন স্বয়ংক্রিয়তা

Firefoxঅ্যাডন ফাইলের নাম প্রয়োজন হয় না তবে প্যাকেজের নাম হিসাবে অ্যাডন থেকে সনাক্তকারী। এর অর্থ হ'ল আপনি যদি ব্যবহারকারীর হস্তক্ষেপ ছাড়াই অ্যাডন ইনস্টল করার পরিকল্পনা করছেন তবে আপনাকে এডোনটির নাম নয়, অ্যাডোন আইডেন্টিফায়ার স্ট্রিংয়ের নামযুক্ত কোনও ফোল্ডারে এটি বের করতে হবে।

আইডেন্টিফায়ার স্ট্রিং ম্যানিফেস্ট ফাইল ইনস্টল addon প্রথম লাইন পাওয়া যাবে install.rdfএবং এটা ভালো দেখায়: <em:id>{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}</em:id>। মধ্যে সবকিছু {}(কোঁকড়া ধনুর্বন্ধনী সহ) আইডেন্টিফায়ার।

কাজ করার জন্য একটি অ্যাডন পেতে আপনার প্যাকেজটি বের করতে হবে, ফোল্ডারটির নাম পরিবর্তন করুন যার মধ্যে ফাইলগুলি অ্যাডোন সনাক্তকারী স্ট্রিংয়ে রয়েছে এবং এটি বিশ্বব্যাপী অ্যাডোন ফোল্ডারে বা ব্যবহারকারী অ্যাডন ফোল্ডারের মধ্যে রাখুন।

গ্লোবাল অ্যাডন ইনস্টল

আপনি যদি নিজের সিস্টেমে সমস্ত ব্যবহারকারীর কাছে স্বয়ংক্রিয়ভাবে কোনও এক্সটেনশন ইনস্টল করতে চান তবে আপনাকে এটি বের করতে হবে, ফোল্ডারের নতুন নাম দিন যা অ্যাডনের আইডি স্ট্রিংটিতে অ্যাডোন রয়েছে এবং এটি firefoxবিশ্বব্যাপী এক্সটেনশান ফোল্ডারে অনুলিপি /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/করতে পারেন, সেখানে আপনি যে কোনও কিছু ব্যবহার করবেন বলে ডাকা হবে স্বয়ংক্রিয় যখন একজন ব্যবহারকারী প্রর্দশিত firefox

ব্যবহারকারী নির্দিষ্ট ইনস্টল

আপনি যদি নিজের সিস্টেমে কেবলমাত্র একটি ব্যবহারকারীর কাছে স্বয়ংক্রিয়ভাবে কোনও এক্সটেনশন ইনস্টল করতে চান তবে আপনাকে এটি বের করতে হবে, অ্যাডোনারের আইডি স্ট্রিংটিতে অ্যাডোন যুক্ত ফোল্ডারের নাম পরিবর্তন করে firefoxব্যবহারকারীর এক্সটেনশান ফোল্ডারে অনুলিপি করুন /home/user_name/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/(এটি উপস্থিত না থাকলে এটি তৈরি করুন) , আপনি সেখানে যে কোনও কিছু ব্যবহার করেন কোনও ব্যবহারকারী খোলার পরে স্বয়ংক্রিয়ভাবে ডেকে আনা হবে firefox

স্বয়ংক্রিয়ভাবে ইনস্টলের জন্য অ্যাডন কীভাবে প্রস্তুত করবেন - উদাহরণ

extensionsআপনার বাড়িতে একটি ফোল্ডার তৈরি করুন এবং এটিতে অ্যাডন ডাউনলোড করুন

mkdir ~/extensions
cd ~/extensions
wget https://addons.mozilla.org/firefox/downloads/latest/1865/addon-1865-latest.xpi

এটি এক্সট্রাক্ট করুন এবং আসলটি মুছুন

unzip ~/extensions/addon-1865-latest.xpi
rm ~/extensions/addon-1865-latest.xpi

install.rdfঅ্যাডনের আইডি পেতে ফাইলের প্রথম লাইনটি পড়ুন (এই ক্ষেত্রে এটি {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d} হবে)। এবং সেই নামের সাথে একটি ফোল্ডার তৈরি করুন

mkdir ~/extensions/{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}

আপনার extensionsফোল্ডারে থাকা সমস্ত ফাইলকে সদ্য নির্মিততে স্থানান্তরিত করুন ~/extensions/{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}এবং আপনি {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}স্থানীয় ইনস্টলের জন্য বা বিশ্বব্যাপী ইনস্টলের জন্য বর্ণিত ফোল্ডারটি স্থানান্তরিত করে ইনস্টল করতে প্রস্তুত ।

ডিফল্ট হোম পৃষ্ঠাটি কীভাবে সেট করবেন

ফায়ারফক্সের ভিতরে থাকা পছন্দগুলি ব্যবহার না করে আপনার হোমপৃষ্ঠাটি পরিবর্তন করতে আপনাকে সম্পাদনা করতে হবে ~/.mozilla/firefox/*.default/prefs.js(যেখানে আপনার ব্যবহারকারীর জন্য *.defaultএকটি ফোল্ডার ~/.mozilla/firefoxতৈরি করা হয়েছে) এবং এটির শেষে এই লাইনটি যুক্ত করতে হবে

user_pref("browser.startup.homepage", "http://uptechtalk.com");

বা এই কমান্ড ব্যবহার করে

echo "user_pref("browser.startup.homepage", "http://uptechtalk.com");" >> ~/.mozilla/firefox/*.default/prefs.js

বন্ধ করার পরে আপনার এটি করা দরকার firefoxবা প্রস্থানটি প্রস্থান করার সময় প্রোগ্রামটি সেটিংস ওভাররাইট করে।

যদি আপনার ব্যবহারকারী এখনও ব্যবহার firefoxনা করে থাকেন এবং আপনি সমস্ত নতুন ব্যবহারকারীদের জন্য হোমপেজ সেট করতে চান (বিশ্বব্যাপী হোমপেজ সেট করুন) এই আদেশটি ব্যবহার করুন

echo "user_pref("browser.startup.homepage", "http://uptechtalk.com");" >> /etc/xul-ext/ubufox.js

আপনার প্রশ্ন সম্পর্কে মন্তব্য

-silentঅস্তিত্ব নেই, আপনাকে যে কোনও xpiউপায়ে সেই এক্সটেনশনটি ইনস্টল করতে অনুরোধ করা হবে এবং এটি ইনস্টল করতে আপনাকে বোতামটি ক্লিক করতে হবে;

-setDefaultBrowserআপনার হোমপেজ সেট করবে না, এটি firefoxআপনার ডিফল্ট ব্রাউজার তৈরি করবে


gksudo ফায়ারফক্স -ইনস্টল-গ্লোবাল-এক্সটেনশন অ্যাডন-1865-সর্বশেষ. এক্সপি সমস্ত নতুন ব্যবহারকারীদের জন্যই কেবল এক্সপটি অতিথি হ্যাঁ? কৌস আমি এটি করেছি এবং অতিথির এখনও কোনও প্লাগইন নেই।
ক্যাঙ্গারুও

install-global-extensionঅবচয় করা হয়।
শিক্ষার্থী

1
আমি প্রায়শই এক্সটেনশান সিস্টেমের অভ্যন্তরীণ কাজগুলি সম্পর্কে ভাবছিলাম, এখানে অনেক ভাল তথ্য আছে, ধন্যবাদ!
Madd0g

1
আপনার যদি গুচ্ছ সংযোজন থাকে, তবে আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি ফিড অ্যাডন ব্যবহার করুন, এটি আপনার সমস্ত
অ্যাডনকে

2
আমি মনে করি ইনস্টল.আরডিএফ বা কমপক্ষে এর আইডি অবশ্যই ওয়েবএক্সটেনশনে উপস্থিত হয় না। দ্রষ্টব্য, ২০১৩ সালের শেষের দিকে ফায়ারফক্স ওয়েব এক্সটেনশনগুলি বাদে অন্য এক্সটেনশনের জন্য সমর্থন বাদ দেবে।
ফোরভিইন

4

এটি সমস্যাযুক্ত কারণ ফায়ারফক্সের বিভিন্ন সংস্করণে, বিভিন্ন জিনিস কাজ করে এবং কিছুতেই কাজ করে না। নতুন সংস্করণগুলির জন্য আপনাকে কেবল এক্সপিটির নাম পরিবর্তন করতে হবে <addon id>.xpiএবং এটি এক্সটেনশান ফোল্ডারে রেখে দিতে হবে। এরপরে আপনি ফায়ারফক্স শুরু করার পরে, সেখানে যুক্ত হওয়া সমস্ত অ্যাডনগুলির ইনস্টলেশন আপনাকে গ্রহণ করতে বলা হবে।

এখানে কিছু বেসাম ফাংশন যা আপনার জীবনকে সহজ করে তোলে ..

EXTENSIONS_SYSTEM='/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/'
EXTENSIONS_USER=`echo ~/.mozilla/firefox/*.default/extensions/`

# -------------------------- xpi tools ---------------------------------

get_addon_id_from_xpi () { #path to .xpi file
    addon_id_line=`unzip -p $1 install.rdf | egrep '<em:id>' -m 1`
    addon_id=`echo $addon_id_line | sed "s/.*>\(.*\)<.*/\1/"`
    echo "$addon_id"
}

get_addon_name_from_xpi () { #path to .xpi file
    addon_name_line=`unzip -p $1 install.rdf | egrep '<em:name>' -m 1`
    addon_name=`echo $addon_name_line | sed "s/.*>\(.*\)<.*/\1/"`
    echo "$addon_name"
}

# Installs .xpi given by relative path
# to the extensions path given
install_addon () {
    xpi="${PWD}/${1}"
    extensions_path=$2
    new_filename=`get_addon_id_from_xpi $xpi`.xpi
    new_filepath="${extensions_path}${new_filename}"
    addon_name=`get_addon_name_from_xpi $xpi`
    if [ -f "$new_filepath" ]; then
        echo "File already exists: $new_filepath"
        echo "Skipping installation for addon $addon_name."
    else
        cp "$xpi" "$new_filepath"
    fi
}

আসুন অ্যাডব্লক ইনস্টল করুন ..

wget https://addons.mozilla.org/firefox/downloads/latest/1865/addon-1865-latest.xpi
install_addon addon-1865-latest.xpi "$EXTENSIONS_USER"

ধন্যবাদ, নিঃশব্দ ইনস্টলের জন্য এটি এখন সঠিক পথ
myol

2

গ্লোবাল প্লাগইনগুলি ডিফল্টরূপে সক্ষম হয় না এবং prefs.jsএগুলি সক্ষম করার জন্য আপনাকে তাদের প্রোফাইলে থাকা ফাইলের তালিকায় এগুলি যুক্ত করতে হবে। ভর মোতায়েনের জন্য একটি বড় ব্যথা।

এখানে যখন আমরা একটি গুচ্ছ ডাম্প জন্য একটি নমুনা স্ক্রিপ্টের prefs.jsনেটওয়ার্কে ক্লায়েন্ট মেশিনের থেকে ফাইল এবং থেকে পরিবর্তিত IETabকরা IETab2, তাদের পছন্দসমূহ, ইত্যাদি মাইগ্রেট

আরেকটি উপায় হ'ল একটি বাক্সে আপনার পছন্দ মতো একটি ব্যবহারকারী প্রোফাইল তৈরি করা, এটি নেটওয়ার্কে আপলোড করা, তারপরে এটি মেশিনে জুড়ে ক্লোন করুন Firefox\defaults\profileএবং সমস্ত নতুন ব্যবহারকারীরা সেই প্রোফাইলটি উত্তরাধিকার সূত্রে পাবেন।

`

----------------------------------------------------------------------
#!/bin/bash

pjsbase="/data/M_drive/Temp/prefsjs"

for userf in `find ${pjsbase} -maxdepth 1 -type f -name *.prefs.js -printf "%f\n"`
do
  echo ${userf}
  # add in IETab2 GUID and remove IETab GUID
  grep extensions.enabledItems ${pjsbase}/${userf} | 
  /bin/sed 's/\")/\,\{1BC9BA34-1EED-42ca-A505-6D2F1A935BBB\}\:2\.12\.21\.1\")/' | 
  /bin/sed 's/{77b819fa-95ad-4f2c-ac7c-486b356188a9}:1.5.20090525,//' > \
     ${pjsbase}/tmp1
  /bin/sed 's/0\.3\.8\.[0-9]*/0\.3\.8\.4/g' ${pjsbase}/tmp1 > ${pjsbase}/tmp
  /bin/sed /extensions.enabledItems/d ${pjsbase}/${userf}   > ${pjsbase}/tmp2
  cat ${pjsbase}/tmp2 > ${pjsbase}/${userf}.new2
  cat ${pjsbase}/tmp >> ${pjsbase}/${userf}.new2
  # add in IETab2 preferences
  echo user_pref\(\"extensions.ietab2.hasRun\"\,\ true\)\; >> \
     ${pjsbase}/${userf}.new2
  echo user_pref\(\"extensions.ietab2.ietab2PrefsMigrated\"\,\ true\)\; >> \
     ${pjsbase}/${userf}.new2
  echo user_pref\(\"extensions.ietab2.prefsMigrated\"\,\ true\)\; >> \
     ${pjsbase}/${userf}.new2
  echo user_pref\(\"extensions.ietab2.version\"\,\ \"2.12.21.1\"\)\; >> \
     ${pjsbase}/${userf}.new2
  echo user_pref\(\"extensions.update.notifyUser\"\,\ false\)\; >> \
     ${pjsbase}/${userf}.new2
  # if they have a preference list then migrate it
  if [ ! `grep user_pref\(\"ietab.filterlist\" ${pjsbase}/${userf} |
          wc -l` -eq 0 ]; then
    echo "user_pref(\"extensions.ietab2.filterlist"$(
       grep user_pref\(\"ietab.filterlist\" ${pjsbase}/${userf} | 
       sed 's/user\_pref(\"ietab\.filterlist//')"" >> ${pjsbase}/${userf}.new2
  fi
  # make sure prefs are alphabetised
  egrep -v ^u > ${pjsbase}/${userf}.new ${pjsbase}/${userf}.new2
  egrep ^u  ${pjsbase}/${userf}.new2 | sort >> ${pjsbase}/${userf}.new
done

`


1

আপনার কারও জন্য এই শেল স্ক্রিপ্টটি সহায়ক হতে পারে। এটি em:idট্যাগটির প্রথম ঘটনাকে পার্স করেছে install.rdf( ব্রুনো পেরেইরা বর্ণনা করেছেন ):

#!/bin/sh
var=`grep -m 1 -e em:id install.rdf`   
var=${var#*\>}
var=${var%<*}

... আপনাকে আইডি দিচ্ছে (সহ {})।


1

ফায়ারফক্স অ্যাড-অনস একটি লাইনার। সেই ক্রমে অ্যাডব্লক প্লাস , ফ্ল্যাশব্লক এবং ডাউনলোড হেল্পার ডাউনলোড হয়েছে, তারপরে firefoxসমস্ত পাওয়া .xpiফাইলগুলি খোলার পরে সেই .xpiফাইলগুলি অপসারণ :

wget \ 
 https://addons.mozilla.org/firefox/downloads/latest/1865/addon-1865-latest.xpi \ 
 https://addons.mozilla.org/firefox/downloads/latest/433/addon-433-latest.xpi \
 https://addons.mozilla.org/firefox/downloads/latest/3006/addon-3006-latest.xpi && 
firefox *.xpi && rm *.xpi

0

আমি ব্রুনোর উত্তরের উপর ভিত্তি করে একটি সাধারণ স্ক্রিপ্ট তৈরি করেছি ।

এটি কোনও ব্যবহারের প্রয়োজন ছাড়াই বর্তমান ব্যবহারকারীর জন্য একটি এক্সটেনশন ইনস্টল করে । আপনি শুধুমাত্র তাদের সংখ্যা মজিলা ব্যবহার প্রয়োজন URL টি উপর গুলি addons.mozilla.org । স্ক্রিপ্টটিকে .sh ফাইল হিসাবে সংরক্ষণ করুন এবং আপনি যখন কল করবেন তখন নম্বরটি আর্গুমেন্ট হিসাবে ব্যবহার করুন।

ফায়ারফক্স 40 এর সাথে লিনাক্স মিন্ট 17-এ পরীক্ষা করা এবং কাজ করা , আপনার ফায়ারফক্সের সংস্করণটি একই ডিরেক্টরি কাঠামোটি ব্যবহার করেছে যেহেতু তারা প্রায় কয়েকবার পরিবর্তন করেছিল।

#!/bin/bash
extensionnumber=$1

# find profile dir (first profile in the ini file)
profiledir=`sed -n -e 's/^.*Path=//p' ${HOME}/.mozilla/firefox/profiles.ini | 
            head -n 1`
extensiondir="${HOME}/.mozilla/firefox/${profiledir}/extensions/"

if [ -z "$profiledir" ]; then
    printf "Can't find profile directory."
    exit 1
fi

mkdir /tmp/extension
cd /tmp/extension || exit $?

upstream=""https://addons.mozilla.org/firefox/downloads/latest"

# get extension and unzip
wget -O extension.xpi \
  "${upstream}/${extensionnumber}/addon-${extensionnumber}-latest.xpi" || 
  exit $?
unzip extension.xpi && rm extension.xpi

# get extension id from installation file
extensionid=`grep -m 1 -e em:id install.rdf`   
extensionid=${extensionid#*\>}
extensionid=${extensionid%<*}

# move all files to the directory with the right id
mkdir $extensionid || exit $?
shopt -s extglob dotglob
mv !($extensionid) $extensionid/
shopt -u dotglob

# create new firefox extension dir (if it's a clean install) 
# and move the extension
mkdir -p "${extensiondir}"
mv "${extensionid}" "${extensiondir}"

rmdir /tmp/extension
printf "Installed extension."
exit 0



0

ফায়ারফক্সের সর্বশেষ সংস্করণগুলির জন্য, পদ্ধতিটি অনেক সহজ করা হয়েছে!

  1. আনজিপ extension.xpi
  2. applications.gecko.idথেকে পড়ুনmanifest.json
  3. নাম পরিবর্তন extension.xpiকরুন<ID>.xpi
  4. এখানে তালিকাভুক্ত কোনও স্ট্যান্ডার্ড ইনস্টলেশন ফোল্ডারে অনুলিপি করুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.