Как заставить Chrome открываться как новое приложение из файла .desktop

Mar 14 2020

В 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опцией:

Ответы

1 bac0n Mar 14 2020 at 19:31

Использование 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=и идентификатор расширения.

3 LucasRodrigues May 12 2020 at 10:14

Я нашел решение здесь:

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.