Przeszukaj pomoc

Unikaj oszustw związanych z pomocą.Nigdy nie będziemy prosić Cię o dzwonienie na numer telefonu, wysyłanie SMS-ów ani o udostępnianie danych osobowych. Zgłoś podejrzaną aktywność, korzystając z opcji „Zgłoś nadużycie”.

Learn More

An extension installed globally for all users (in /usr/share/mozilla/extensions) does not load for an unobvious reason

  • 1 odpowiedź
  • 1 osoba ma ten problem
  • 523 wyświetlenia
  • Ostatnia odpowiedź od zostajekni

more options

I need to automate the deployment of Firefox along with the extensions. I put three extensions (uBlock, Translate Web Pages, and Auto Tab Discard) in the /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/. All extensions load normally, except Auto Tab Discard. When running firefox with the -jsconsole option, I see what the screenshot shows (the message "Invalid addon ID"). But the installation to user profile is successful. I add the extension ID to manifest.json, and get the following output in the console: addons.xpi-utils WARN addMetadata: Add-on {c2c003ee-bd69-42a2-b0e9-6f34222cb046} is invalid: Error: File /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/{c2c003ee-bd69-42a2-b0e9-6f34222cb046} does not contain a valid manifest(resource://gre/modules/addons/XPIInstall.jsm:669:11) What can go wrong?

System: Debian 11 (bullseye) Firefox version: 91.4.1esr (amd64)

If you need any other information, please ask, I will write it down.

I need to automate the deployment of Firefox along with the extensions. I put three extensions (uBlock, Translate Web Pages, and Auto Tab Discard) in the /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/. All extensions load normally, except Auto Tab Discard. When running firefox with the -jsconsole option, I see what the screenshot shows (the message "Invalid addon ID"). But the installation to user profile is successful. I add the extension ID to manifest.json, and get the following output in the console: addons.xpi-utils WARN addMetadata: Add-on {c2c003ee-bd69-42a2-b0e9-6f34222cb046} is invalid: Error: File /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/{c2c003ee-bd69-42a2-b0e9-6f34222cb046} does not contain a valid manifest(resource://gre/modules/addons/XPIInstall.jsm:669:11) What can go wrong? System: Debian 11 (bullseye) Firefox version: 91.4.1esr (amd64) If you need any other information, please ask, I will write it down.
Załączone zrzuty ekranu

Zmodyfikowany przez zostajekni w dniu

Wybrane rozwiązanie

The solution is found. There were two problems at once.

First, in order for the extension to be loaded by the browser, manifest.json (which is in the root of the directory with the extension) must have the following required minimum:

 {
   "manifest_version": 2,
   "name": "Extension Name",
   "version": "0.1.2",
   "applications": {
     "gecko": {
       "id": "{0a1b2c3d-0123-abcd-cdef-a0b1c2d3e4f5}"
     }
   }
 }


And the name of the .xpi file of the extension (which is actually a zip archive) or the directory with the unzipped extension must match the "id" value in manifest.json.

Secondly, it is necessary to check the permissions of the files and directories. In my case, the permissions of the extension directory, for some strange reason, were 700. At the same time, the extension did not have an "id" key in manifest.json, which additionally hindered diagnosis of the problem.

The illogical thing here is that when you install the extension in the user's profile, Firefox installs it without any problem, regardless of the invalid mainfest.json. There's no reason for this difference in behavior, it's just a headache for system administrators.

Przeczytaj tę odpowiedź w całym kontekście 👍 0

Wszystkie odpowiedzi (1)

more options

Wybrane rozwiązanie

The solution is found. There were two problems at once.

First, in order for the extension to be loaded by the browser, manifest.json (which is in the root of the directory with the extension) must have the following required minimum:

 {
   "manifest_version": 2,
   "name": "Extension Name",
   "version": "0.1.2",
   "applications": {
     "gecko": {
       "id": "{0a1b2c3d-0123-abcd-cdef-a0b1c2d3e4f5}"
     }
   }
 }


And the name of the .xpi file of the extension (which is actually a zip archive) or the directory with the unzipped extension must match the "id" value in manifest.json.

Secondly, it is necessary to check the permissions of the files and directories. In my case, the permissions of the extension directory, for some strange reason, were 700. At the same time, the extension did not have an "id" key in manifest.json, which additionally hindered diagnosis of the problem.

The illogical thing here is that when you install the extension in the user's profile, Firefox installs it without any problem, regardless of the invalid mainfest.json. There's no reason for this difference in behavior, it's just a headache for system administrators.

Zmodyfikowany przez zostajekni w dniu