Как заставить Chrome открываться как новое приложение из файла .desktop
В Google Chrome есть возможность запускать веб-страницу как оконное «приложение Chrome», которое при использовании с Gnome Desktop создает специальный файл .desktop, который можно использовать для запуска Chrome в автономном режиме со своим собственным значком. отображается в переключателе тире / док-станции и окон.
Проблема с этим режимом заключается в том, что Chrome пытается имитировать тему GTK, что приводит к довольно уродливому заголовку окна. Он также занимает ненужное место, отображая адресную строку и другие элементы управления в верхней части окна. Это особенно верно при использовании небезопасного соединения, которое типично для доступа к локально размещенным приложениям.
Альтернативой является запуск Chrome с --app=http://example.comопцией, которая обеспечивает гораздо лучший опыт. Сравнение внешнего вида двух режимов находится в конце этого вопроса.
Я могу создать файл .desktop для запуска Chrome с указанным --appмной параметром и значком, но это приводит к тому, что новое окно группируется с другими экземплярами Chrome, которые все имеют одну и ту же общую запись значка Chrome в тире / доке и переключателе окон .
Есть ли возможность в Chrome или Gnome заставить окно, полученное из файла .desktop, вести себя как полностью отдельное приложение?
Приложение Google Chrome:
Google Chrome с --appопцией:
Ответы
Использование applicationize для создания приложений Chrome.
Поместите свое расширение в chrome: // extensions
Пример файла .desktop:
[Desktop Entry]
Version=1.0
Type=Application
Name=Netflix Chrome (Application).
GenericName=Netflix Browser
Categories=Network;WebBrowser;
Exec=/opt/google/chrome-unstable/chrome --user-data-dir=/home/USER/.config/google-chrome-netflix --profile-directory=Netflix --class=google-chrome-netflix --app-id=mhmidglabaofnaganlmeicdfedljohpf --flag-switches-begin --flag-switches-end %U
Icon=chrome-mhmidglabaofnaganlmeicdfedljohpf-Netflix
MimeType=text/html;text/xml;application/xhtml_xml;image/webp;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
StartupNotify=true
Terminal=false
StartupWMClass=crx_mhmidglabaofnaganlmeicdfedljohpf
Не забудьте настроить --user-data-dir=и идентификатор расширения.
Я нашел решение здесь:
https://blog.aldomann.com/jupyterlab-desktop-on-linux/
Создайте jupyter-lab.desktop:
touch ~/.local/share/applications/jupyter-lab.desktop
Затем напишите приведенный ниже код (замените <user>своим именем пользователя) и сохраните его:
[Desktop Entry]
Version=1.0
Type=Application
Name=JupyterLab
GenericName=JupyterLab
Comment=JupyterLab is the next-generation web-based user interface for Project Jupyter
Keywords=python;tensorflow;keras
Exec= bash -c "/usr/bin/env PATH=/home/<user>/.anaconda3/bin/:$PATH /home/<user>/.anaconda3/bin/jupyter lab"
StartupWMClass=Google-chrome
Categories=Development;Science;IDE;Qt;
Icon=jupyter-lab
Terminal=true
StartupNotify=true
MimeType=text/x-python3;text/x-python;application/x-ipynb+json;e
Перезапустите раздел Gnome (нажмите Alt + F2 и внутри диалога напишите 'r')
Создайте новый файл .desktop в Google Chrome:
cp /usr/share/applications/google-chrome.desktop ~/.local/share/applications/google-chrome.desktop
Затем, если не существует строки с StartupWMClass=google-chromeдобавлением этой строки, в противном случае замените ее приведенным ниже кодом:
StartupWMClass=google-chrome
Получите иконку для Jupyter. Например:
https://blog.aldomann.com/assets/img/jupyter-lab.svg
и сохраните его в ~/.local/share/icons.