Jak zmusić Chrome do otwarcia jako nowej aplikacji z pliku .desktop

Mar 14 2020

Google Chrome ma opcję uruchomienia strony internetowej jako okienkowej `` aplikacji Chrome '', która w połączeniu z Gnome Desktop utworzy specjalny plik .desktop, którego można użyć do uruchomienia Chrome w trybie autonomicznym z własną ikoną wyświetlane w myślniku / doku i przełączniku okien.

Problem z tym trybem polega na tym, że Chrome próbuje podszyć się pod motyw GTK, co powoduje dość brzydki tytuł okna. Zajmuje również niepotrzebną przestrzeń, wyświetlając pasek adresu i inne elementy sterujące u góry okna. Jest to szczególnie ważne w przypadku korzystania z niezabezpieczonego połączenia, co jest typowe dla uzyskiwania dostępu do aplikacji hostowanych lokalnie.

Alternatywą jest uruchomienie Chrome z --app=http://example.comopcją, która skutkuje znacznie przyjemniejszym doświadczeniem. Porównanie wyglądu obu trybów znajduje się na końcu tego pytania.

Mogę utworzyć plik .desktop, aby uruchomić Chrome z --appopcją i ikoną, które określę, ale powoduje to, że nowe okno jest grupowane z innymi instancjami Chrome, które mają ten sam ogólny wpis ikony Chrome w desce rozdzielczej / stacji dokującej i przełączniku okien .

Czy w przeglądarce Chrome lub Gnome istnieje opcja wymuszenia na oknie wynikającym z pliku .desktop zachowania się jak całkowicie oddzielna aplikacja?

Aplikacja Google Chrome:

Google Chrome z --appopcją:

Odpowiedzi

1 bac0n Mar 14 2020 at 19:31

Używanie applicationize do tworzenia aplikacji Chrome.

Upuść swoje rozszerzenie w chrome: // extensions

Przykład pliku .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

Nie zapomnij o dostosowaniu --user-data-dir=i identyfikatorze rozszerzenia.

3 LucasRodrigues May 12 2020 at 10:14

Rozwiązanie znalazłem tutaj:

https://blog.aldomann.com/jupyterlab-desktop-on-linux/

Utwórz plik jupyter-lab.desktop:

touch ~/.local/share/applications/jupyter-lab.desktop

Następnie napisz poniższy kod (Zastąp <user>swoją nazwą użytkownika) i zapisz go:

[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

Zrestartuj sekcję Gnome (naciśnij Alt + F2 i wewnątrz okna napisz `` r '')

Utwórz nowy plik .desktop w przeglądarce Google Chrome:

cp /usr/share/applications/google-chrome.desktop ~/.local/share/applications/google-chrome.desktop

Następnie, jeśli nie istnieje, linia z StartupWMClass=google-chromedodaj tę linię, w przeciwnym razie zamień ją na poniższy kod:

StartupWMClass=google-chrome

Zdobądź ikonę dla Jupytera. Na przykład:

https://blog.aldomann.com/assets/img/jupyter-lab.svg

i zapisz go w ~/.local/share/icons.