Вопрос или проблема
Резюме
На днях я удалил snap-версию Firefox и заменил её на .deb-версию программы. Запускатель приложений находит запись о Firefox, но при нажатии она не открывается.
Сведения о системе
- ОС: Ubuntu 22.04.5 LTS, 64-разрядная версия
- Версия Firefox: Debian пакет, версия 131.0 (64-разрядная версия)
Шаги для воспроизведения
- Удалите snap-версию Firefox с помощью
sudo snap remove firefox
- Установите Firefox .deb в соответствии с этими инструкциями
- Нажмите клавишу Super/Windows, чтобы открыть запускатель приложений
- Введите “firefox”
- Нажмите на “Firefox Web Browser”, который отображается.
Ожидаемое поведение
Firefox запускается.
Фактическое поведение
Firefox не запускается.
Дополнительные сведения
which firefox
говорит, что программа находится по адресу /usr/bin/firefox
. Содержимое /usr/share/applications/firefox.desktop
длинное, но содержит следующие значения Exec (для различных записей):
Exec=firefox %u
...
Exec=firefox --new-window %u
...
Exec=firefox --private-window %u
...
Exec=firefox --ProfileManager
Если я использую приложение alacarte для редактирования записи меню для Firefox Web Browser, поле “Команда” содержит env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/firefox_firefox.desktop /snap/bin/firefox %u
. Тем не менее, когда я пытаюсь изменить содержимое этого поля на firefox %u
, хотя кнопка “ОК” не отключена, нажатие на неё ничего не дает — диалог остается открытым, изменения не сохранены. Похоже, есть несоответствие между файлом /usr/share/applications/firefox.desktop
и тем, на что ссылается alacarte, и я не могу понять, как изменить то, что в alacarte.
Пожалуйста, помогите мне понять, как внести изменения, которые отразятся в моем запускателе приложений, чтобы я мог запустить .deb-версию Firefox, установленную по адресу /usr/bin/firefox
.
Решение
Существовали два связанных файла firefox.desktop
(точнее, один firefox.desktop
и один firefox_firefox.desktop
) в ~/.local/share/applications/
, которые имели приоритет перед файлами в /usr/share/applications
.
Я удалил эти два файла в ~/.local/share/applications/
, и теперь запускатель работает как ожидалось.
Ответ или решение
Для обновления вашего .desktop
файла Firefox, чтобы он корректно запускал приложение после замены версии на .deb, выполните следующие шаги:
1. Удалите старые .desktop
файлы
Как вы заметили, проблема может быть связана с тем, что существует несколько файлов firefox.desktop
, находящихся в каталоге ~/.local/share/applications/
, которые могут перекрывать системные файлы. Вам нужно удалить эти файлы:
-
Откройте терминал.
-
Введите следующую команду для перехода в нужный каталог:
cd ~/.local/share/applications/
-
Проверьте наличие файлов, связанных с Firefox, используя:
ls | grep firefox
-
Удалите файлы
firefox.desktop
иfirefox_firefox.desktop
, если они существуют:rm firefox.desktop rm firefox_firefox.desktop
2. Проверьте системный .desktop
файл
После удаления пользовательских файлов вы можете убедиться, что файл /usr/share/applications/firefox.desktop
настроен правильно:
-
Откройте файл для редактирования:
sudo nano /usr/share/applications/firefox.desktop
-
Убедитесь, что строка
Exec
в файле выглядит следующим образом:Exec=firefox %u
3. Обновите кэш приложений
После внесения изменений может потребоваться обновить кэш приложений. Используйте следующую команду:
update-desktop-database ~/.local/share/applications/
4. Запустите Firefox
Теперь вы можете проверить, работает ли Firefox из меню приложений:
- Нажмите клавишу Super (Windows) для открытия меню приложений.
- Введите "Firefox" и выберите соответствующий ярлык.
Заключение
Следуя этим шагам, вы должны устранить проблему с запуском Firefox, обеспечив, что приложение корректно ссылается на установленный .deb
пакет. Если у вас возникнут дополнительные проблемы, пожалуйста, сообщите об этом, и мы сможем помочь вам дальше.