Вопрос или проблема
Ubuntu 17.10 (xorg), GNOME 3.26.2, Firefox 58.0 (64 бит).
У меня настроено несколько профилей Firefox. Когда я запускаю каждый профиль, я хочу, чтобы он отображался отдельной иконкой на панели. Как этого добиться? Сейчас все профили группируются под стандартной иконкой Firefox.
Отредактируйте файл .desktop профиля:
- добавьте
--class SomeClass
в конец ключаExec
, чтобы изменить значение WM_CLASS программы (см. документацию GTK) - добавьте новый ключ
StartupWMClass=SomeClass
в конец файла (см. эту статью и спецификацию desktop entry)
Строка SomeClass
должна быть одинаковой в обоих изменениях.
Пример файла .desktop:
[Desktop Entry]
Name=Firefox Test
Exec=firefox -p test -no-remote --class FxTest
Terminal=false
Type=Application
StartupNotify=true
Icon=/path/to/custom/icon.png
StartupWMClass=FxTest
Добавлено в 2022
Для Snapped Firefox вы можете попробовать параллельные установки:
sudo snap set system experimental.parallel-instances=true
- перезагрузите компьютер
sudo snap install firefox_parallel --unaliased
cp /var/lib/snapd/desktop/applications/firefox+parallel_firefox.desktop ~/.local/share/applications/
gedit ~/.local/share/applications/firefox+parallel_firefox.desktop
Для Wayland, используйте --name SomeClass
. Как и --class
, --name
определяется GTK и не документирован в Firefox.
Скопируйте файл иконки firefox.
cp /usr/share/applications/firefox.desktop \
/usr/share/applications/firefox-dev.desktop
В новом файле отредактируйте 4 строки, используя полный путь к исполняемому файлу и иконке. Показанная ниже иконка является синей версией иконки firefox.
[Desktop Entry]
...
Exec=/opt/firefox-dev/firefox
Icon=/opt/firefox-dev/browser/chrome/icons/default/default128.png
...
[Desktop Action new-window]
...
Exec=/opt/firefox-dev/firefox -new-window
...
[Desktop Action new-private-window]
...
Exec=/opt/firefox-dev/firefox -private-window
Затем следуйте инструкциям здесь, чтобы добавить новый файл иконки в реестр gnome.
sudo apt install dconf-editor
dconf-editor
Перейдите в org.gnome.shell favorite-apps
и добавьте вашу новую иконку
[ ..., 'firefox.desktop', 'firefox-dev.desktop', ... ]
Возможно, вам нужно будет выйти из системы и войти обратно, прежде чем использовать иконку.
.
Ответ или решение
Для решения задачи отображения разных профилей Firefox как отдельных значков в доке Ubuntu, следуйте тщательно продуманным шагам, описанным далее. Эти действия помогут вам индивидуализировать каждый профиль браузера, добавив каждому уникальный значок на панель.
Шаг 1: Настройка .desktop файла
-
Создайте новый .desktop файл для каждого профиля Firefox. Вы можете сделать это, скопировав существующий файл запуска Firefox и переименовав его:
cp /usr/share/applications/firefox.desktop /usr/share/applications/firefox-profile1.desktop
-
Отредактируйте новый .desktop файл. Откройте его в текстовом редакторе и внесите следующие изменения:
- Exec: Добавьте параметр
--class
к команде запуска для изменения WM_CLASS. Это необходимо для уникальной идентификации приложения каждым профилем. - StartupWMClass: Добавьте и соответствующим образом настройте ключ
StartupWMClass
. - Icon: Укажите путь к уникальному значку, который вы хотите использовать для этого профиля.
Пример настроенного .desktop файла:
[Desktop Entry] Name=Firefox Profile1 Exec=firefox -p Profile1 -no-remote --class FxProfile1 Terminal=false Type=Application StartupNotify=true Icon=/path/to/custom/icon1.png StartupWMClass=FxProfile1
- Exec: Добавьте параметр
Шаг 2: Настройка для Wayland
Если вы используете Wayland, необходимо учесть специальные параметры. Вместо --class
, используйте --name
для задания уникального идентификатора окна:
Exec=firefox -p Profile1 -no-remote --name FxProfile1
Шаг 3: Интеграция в систему
-
Копируйте модифицированные .desktop файлы в папку
~/.local/share/applications/
. Это позволит системе видеть и использовать их. -
Используйте dconf-editor для добавления новых значков в избранные приложения GNOME Shell.
Установите dconf-editor, если это еще не сделано:
sudo apt install dconf-editor
Затем запустите команду:
dconf-editor
Перейдите к
org.gnome.shell favorite-apps
и добавьте ваши новые .desktop файлы:[ ..., 'firefox.desktop', 'firefox-profile1.desktop', ... ]
Дополнительные советы
- Убедитесь, что вы используете полные пути к исполняемым файлам и значкам в .desktop файлах.
- В конце всех изменений, если изменения не применились сразу, попробуйте выйти из системы и войти снова.
Эти шаги гарантируют, что каждый профиль Firefox будет открываться как отдельное приложение с уникальным значком в доке Ubuntu, что значительно упрощает их использование и переключение между ними.