Вопрос или проблема
Я пытаюсь заставить Firefox работать с несколькими профилями (на Fedora 33). Это не новая конфигурация; все работало успешно в прошлом, но внезапно Firefox перестал это устраивать. Если я пытаюсь запустить Firefox с явным профилем, вот так:
firefox --profile default
Он выдает ошибку:
Ваш профиль Firefox невозможно загрузить. Возможно, он отсутствует или недоступен.
Хотя:
-
Профиль с именем
default
существует и виден в менеджере профилей. -
Запись для профиля
default
существует в~/.mozilla/firefox/profiles.ini
:[Profile1] Name=default IsRelative=1 Path=8hiuv29u.default
-
Указанная директория существует:
$ ls -ld ~/.mozilla/firefox/8hiuv29u.default drwx------ 11 lars lars 4096 Jan 12 16:13 /home/lars/.mozilla/firefox/8hiuv29u.default
-
Если я запускаю
firefox
без дополнительных аргументов, открывается менеджер профилей. Если я выбираюdefault
и затемStart Firefox
, браузер открывается, как и ожидалось.
Это происходит с несколькими профилями, а не только с профилем default
. Это все профили, которые были только что созданы; сначала я думал, что, возможно, есть проблемы со старыми профилями, поэтому я удалил все старые профили и воссоздал их.
Большинство решений, которые я нашел в интернете, сводятся к “удалите свои профили и создайте их заново”, но я это делал безуспешно. При отсутствии решения, будут полезны предложения по получению более (или вообще!) детальной отладочной информации из Firefox для диагностики проблемы.
Обновление: просто чтобы убедиться, что нет ничего странного от предыдущей установки, я попробовал это:
$ rm -rf $HOME/.mozilla $HOME/.cache/mozilla
А затем запустил менеджер профилей:
$ firefox --profilemanager
Создал два новых профиля (default
и work
), а затем попробовал:
$ firefox --profile default
И это по-прежнему выдает ту же ошибку.
Проблема в том, что --profile
не принимает имя профиля; вместо этого он принимает путь. Я понимаю, что это включено в справку, но это не было очевидно, и я заметил это поведение только при запуске strace
. Сравните этот вывод strace
, от запуска firefox -profile default
(где мой cwd – ~/.mozilla
):
925559 stat("/home/lars/.mozilla/firefox/profiles.ini", {st_mode=S_IFREG|0664, st_size=307, ...}) = 0
925559 openat(AT_FDCWD, "/home/lars/.mozilla/firefox/profiles.ini", O_RDONLY) = 12
925559 getcwd("/home/lars/.mozilla", 4096) = 20
925559 lstat("/home/lars/.mozilla/default", 0x7ffd7af11200) = -1 ENOENT (No such file or directory)
С этим, результат запуска firefox -profilemanager
и выбора профиля по умолчанию:
927814 stat("/home/lars/.mozilla/firefox/profiles.ini", {st_mode=S_IFREG|0664, st_size=299, ...}) = 0
927814 openat(AT_FDCWD, "/home/lars/.mozilla/firefox/profiles.ini", O_RDONLY) = 13
927814 stat("/home/lars/.mozilla/firefox/x4mpd3cq.default", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
Все работает, если я указываю явный путь, как это:
firefox --profile ~/.mozilla/firefox/x4mpd3cq.default/
Существует отдельная опция, -P
, которая принимает имя профиля, так что это также работает:
firefox -P default
У меня была аналогичная проблема с загрузкой профиля при использовании следующей команды в терминале Debian:
firefox -profile “profile name”
(замените profile name на имя профиля).
Это сработало для второго созданного профиля, но не для последующих.
Я нашел решение, которое позволяет загрузить профиль из терминала Debian:
при создании нового профиля измените местоположение профиля по умолчанию на другое место на вашем устройстве.
Я догадываюсь, что это может указывать на проблему с программным обеспечением или поврежденный жесткий диск. Моему жесткому диску, вероятно, 15 лет!
Я написал это в надежде, что это может помочь кому-то еще!
РЕДАКТИРОВАНИЕ:
Я обнаружил, что при создании нового профиля, вы можете остаться с папкой по умолчанию для нового профиля. Следующая команда работает для открытия профиля:
firefox -p “profile name”
Использование следующей команды:
firefox -p “default”
открывает Firefox с меню выбора стандартного профиля, когда мое имя стандартного профиля не “default”. Я изменил имя стандартного профиля на “default” и смог использовать эту команду для загрузки профиля “default” без всплывающего меню.
Я думаю, что дело не в моем поврежденном жестком диске. Это просто особенность работы Firefox и того, как они меняют функции своих команд.
РЕДАКТИРОВАНИЕ2:
https://wiki.mozilla.org/Firefox/CommandLineOptions#-profile_%22profile_path%22
Выше приведена ссылка на руководство Firefox, которое является более авторитетным по сравнению с моими поисками ответов в интернете. Команда: firefox -profile должна использоваться с путем к профилю. В нашем случае мы должны использовать команду firefox -p, так как мы указываем только имя профиля.
Почему это происходит? Я не знаю. Вы показали, что папка с профилем находится в вашей собственности; удостоверились ли вы, что все содержащиеся файлы тоже? Это маловероятно, но, возможно, sudo chown -R lars:lars ~/.mozilla/firefox/8hiuv29u.default
сделает разницу.
Можно ли это исправить? Попробуйте следующее:
- Создайте новую папку, например,
~/.mozilla/firefox/8hiuv29u.default/Lars
. - Создайте один файл в этой папке:
touch ~/.config/Firefox/Lars/prefs.js
. Не нужно добавлять туда какой-либо контент. - Запустите Firefox с менеджером профилей, создайте новый профиль:
- Назовите его “Lars”, но пока не нажимайте “Закончить”!
- Нажмите “Выбрать папку” и перейдите в
~/.mozilla/firefox/Lars
. - Нажмите “Закончить”.
- Запустите Firefox с этим профилем (это создаст множество дополнительных файлов), затем снова закройте Firefox.
- Скопируйте (не перемещайте!) файлы из старого профиля в новую директорию. В идеале начните с копирования только
prefs.js
(ваши настройки) иplaces.sqlite
(ваши закладки).- Для каждого
.xpi
файла в~/.mozilla/firefox/8hiuv29u.default/extensions
, либо дважды щелкните по файлу (он должен открыться в Firefox), либо перетащите его в окно браузера для повторной установки старых дополнений. (Совет: я бы воспользовался этой возможностью, чтобы определить, что есть что, переименовать исходные.xpi
файлы и сохранить их копию “на будущее”.) - Чтобы восстановить настройки ваших дополнений, закройте Firefox и затем скопируйте
~/.mozilla/firefox/8hiuv29u.default/extension-preferences.json
и/или~/.mozilla/firefox/8hiuv29u.default/extensions.json
/ и/или~/.mozilla/firefox/8hiuv29u.default/extension-settings.json
(я не уверен, что из них что). - Вы можете также попробовать скопировать другие элементы, но это может также вызвать проблемы из-за наличия старого имени профиля в некоторых файлах. Осторожно с этим.
- Для каждого
В будущем, после новой установки Firefox, следуйте шагам 1, 2 и 3, а затем просто замените всю папку профиля на ту, которая из вашего последнего резервного копирования.
Ответ или решение
Конечно, давайте обсудим, почему Firefox может выдавать сообщение о том, что он не может открыть ваш профиль, с учетом всех деталей, предоставленных в описании проблемы.
Проблема с открытием профиля в Firefox:
Вы используете Fedora 33 и пытаетесь работать с несколькими профилями в Firefox. Эта конфигурация работала у вас раньше, но теперь при попытке запуска Firefox с явным указанием профиля через команду firefox --profile default
вы получаете ошибку: "Ваш профиль Firefox не может быть загружен. Возможно, он отсутствует или недоступен."
Ключевые моменты:
-
Наличие профиля:
- Профиль с именем
default
существует и виден в менеджере профилей. - В файле
~/.mozilla/firefox/profiles.ini
есть запись для профиляdefault
.
- Профиль с именем
-
Доступность каталога:
- Каталог профиля существует по указанному пути и его права доступа корректны.
-
Ошибочный запуск:
- При запуске Firefox без дополнительных аргументов, менеджер профилей отображается и позволяет выбрать
default
профиль для успешного запуска.
- При запуске Firefox без дополнительных аргументов, менеджер профилей отображается и позволяет выбрать
Анализ проблемы:
Причина ошибки:
Наиболее вероятной причиной является неправильное использование аргумента командной строки --profile
. Данный параметр принимает путь к профилю, а не его имя. Из вашего описания видно, что Firefox ищет каталог с именем "default" в текущем рабочем каталоге, а не по пути, который прописан в profiles.ini
.
Решение:
-
Исправление команды запуска:
- Используйте полный путь к профилю:
firefox --profile ~/.mozilla/firefox/x4mpd3cq.default/
- Либо воспользуйтесь параметром
-P
для указания имени профиля:firefox -P default
- Используйте полный путь к профилю:
-
Проверка прав доступа:
- Убедитесь, что все файлы внутри каталога профиля принадлежат вашему пользователю:
sudo chown -R lars:lars ~/.mozilla/firefox/8hiuv29u.default
- Убедитесь, что все файлы внутри каталога профиля принадлежат вашему пользователю:
-
Создание нового профиля:
- Попробуйте подход, предложенный другим пользователем: создайте новый профиль в менеджере профилей и укажите кастомное местоположение, перепроверяя, не возникает ли снова та же ошибка.
Заключение:
Ошибки, связанные с профилями Firefox, могут возникать из-за неправильного использования командных параметров или неверных прав доступа. Опираясь на предоставленную информацию, скорректируйте путь или параметры командной строки для успешной загрузки нужного профиля. Важно помнить, что Firefox требует точности при указании путей и использования команд. Диагностика с помощью strace
помогла выявить, что проблема заключалась в неправильном понимании аргументов командной строки для запуска. Эта информация является ключевой для устранения подобных затруднений в будущем.
Если эта инструкция оказалась полезной, рассмотрите возможность хранения резервных копий ваших профилей, чтобы упростить восстановление в случае дальнейших проблем.