Вопрос или проблема
У меня есть разные профили Firefox, которые я запускаю в режиме киоска, чтобы создать маленькие приложения для Youtube и Netflix. Я видел этот вопрос несколько раз, но, попробовав другие ответы, у меня все равно не получилось.
Я использую файл youtube.desktop
, который запускает Firefox с пользовательским WM_CLASS
:
[Desktop Entry]
Name=Youtube
Comment=Launch Youtube in kiosk mode
Type=Application
Exec=firefox --no-remote --new-instance -P "kiosk-youtube" --kiosk --class Firefox-kiosk-youtube https://youtube.com
Terminal=false
Icon=/home/user/.local/share/icons/kiosk-firefox-icons/youtube.png
StartupWMClass=Firefox-kiosk-youtube
Разные профили Firefox по-прежнему группируются вместе и используют стандартную иконку Firefox.
Я использую GNOME, Ubuntu.
Спасибо
Обновление (2023-07-07): Удаление опции CLI -no-remote
избегает ошибки Firefox уже запущен, но не отвечает.
Для меня (использую Wayland и Gnome 43 на Fedora 37) решением было использовать --name Firefox-kiosk-youtube
вместо --class Firefox-kiosk-youtube
. Оба эти аргумента командной строки определены GTK, и Firefox их не документирует.
Чтобы GNOME Shell показывал красивую иконку и содержание Name
вместо WM_CLASS
(или wmclass
) напрямую, также нужно установить StartupWMClass
на то же значение (например, Firefox-kiosk-youtube
).
Вот мой полный файл firefox-personal.desktop
:
[Desktop Entry]
Version=1.0
Name=Firefox (Personal)
GenericName=Web Browser
Comment=Browse the Web
Exec=firefox -P personal --name FirefoxPersonal %u
Icon=firefox
Terminal=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true
# NOTE: Если это значение не равно аргументу опции --name,
# то GNOME Shell не покажет красивую иконку Firefox и текст
# "Firefox (Personal)", который видит пользователь.
StartupWMClass=FirefoxPersonal
Categories=Network;WebBrowser;
Keywords=web;browser;internet;
Actions=new-window;new-private-window;profile-manager-window;
X-Desktop-File-Install-Version=0.26
[Desktop Action new-window]
Name=Open a New Window
Exec=firefox -P personal --name FirefoxPersonal --new-window %u
[Desktop Action new-private-window]
Name=Open a New Private Window
Exec=firefox -P personal --name FirefoxPersonal --private-window %u
Для проверки значения WM_CLASS
можно использовать встроенный инструмент GNOME Shell Looking Glass.
Нажмите Alt + F2, введите lg
и нажмите Enter. В верхнем правом панели выберите “Windows”.
WM_CLASS
будет показан под ключом wmclass
.
.
Ответ или решение
Создание нескольких профилей в Firefox с различными параметрами WM_CLASS и индивидуальными значками — задача, требующая тщательного подхода, особенно если вы хотите запускать их в режиме киоска для таких приложений, как YouTube и Netflix.
Контекст задачи
Вы работаете в среде GNOME на Ubuntu и используете различные профили Firefox для запуска веб-приложений в режиме киоска. Проблема заключается в том, что несмотря на попытки изменить WM_CLASS для каждого профиля, GNOME всё равно группирует их и отображает стандартный значок Firefox.
Решение проблемы
1. Изменение параметров запуска
Для решения данной проблемы важно правильно указать параметры в .desktop файле и использовать правильные параметры командной строки:
-
Параметр Exec: Вместо
--class
, используйте--name
, как предложено в вашем обновлении, поскольку данный параметр может быть более подходящим для GNOME и Wayland.Exec=firefox --new-instance -P "kiosk-youtube" --kiosk --name Firefox-kiosk-youtube https://youtube.com
-
StartupWMClass: Убедитесь, что параметр
StartupWMClass
соответствует значению, указанному в--name
. Это позволит GNOME Shell правильно ассоциировать окно с записью в меню приложений.StartupWMClass=Firefox-kiosk-youtube
2. Настройки .desktop файла
Важно, чтобы в вашем случае .desktop файл был правильно структурирован. Пример конфигурации:
[Desktop Entry]
Name=YouTube
Comment=Launch YouTube in kiosk mode
Type=Application
Exec=firefox --new-instance -P "kiosk-youtube" --kiosk --name FirefoxKioskYouTube https://youtube.com
Icon=/home/user/.local/share/icons/kiosk-firefox-icons/youtube.png
Terminal=false
StartupWMClass=FirefoxKioskYouTube
3. Проверка WM_CLASS с помощью встроенных инструментов GNOME
Вы можете проверить, правильно ли установлены WM_CLASS, используя инструмент Looking Glass:
- Нажмите Alt + F2, введите
lg
и нажмите Enter. - Выберите вкладку "Windows" и найдите вашу запись. Значение WM_CLASS появится под ключом
wmclass
.
Заключение
Эти изменения должны помочь вам достичь желаемого результата — раздельного отображения окон в режиме киоска с индивидуальными значками и названиями. Применение параметра --name
вместо --class
, а также точная настройка StartupWMClass
обеспечит корректное отображение ваших профилей в интерфейсе GNOME. Если все изменения были корректно внесены, ваши профили не будут группироваться вместе, и каждый из них будет использовать индивидуальный значок, что улучшит ваш пользовательский опыт.