Cách buộc Chrome mở ứng dụng mới từ tệp .desktop

Mar 14 2020

Google Chrome có một tùy chọn để khởi chạy một trang web dưới dạng 'ứng dụng Chrome' có cửa sổ, khi được sử dụng với Gnome Desktop, sẽ tạo ra một tệp .desktop đặc biệt có thể được sử dụng để chạy Chrome ở chế độ độc lập với biểu tượng của riêng nó hiển thị trong dấu gạch ngang / dock và trình chuyển đổi cửa sổ.

Vấn đề với chế độ này là Chrome cố gắng mạo danh chủ đề GTK dẫn đến tiêu đề cửa sổ khá xấu xí. Nó cũng chiếm không gian không cần thiết hiển thị thanh địa chỉ và các điều khiển khác ở đầu cửa sổ. Điều này đặc biệt đúng khi sử dụng kết nối không an toàn, một kết nối điển hình để truy cập các ứng dụng được lưu trữ cục bộ.

Một giải pháp thay thế là khởi chạy Chrome với một --app=http://example.comtùy chọn, mang lại trải nghiệm đẹp hơn nhiều. Sự so sánh về sự xuất hiện của hai chế độ nằm ở cuối câu hỏi này.

Tôi có thể tạo tệp .desktop để khởi chạy Chrome bằng --apptùy chọn và biểu tượng mà tôi chỉ định, nhưng điều này dẫn đến việc cửa sổ mới được nhóm với các phiên bản Chrome khác, tất cả đều có chung mục nhập biểu tượng Chrome chung trong dấu gạch ngang / đế và trình chuyển đổi cửa sổ .

Có tùy chọn nào, trong Chrome hoặc Gnome, để buộc cửa sổ tạo ra từ tệp .desktop hoạt động như một ứng dụng hoàn toàn riêng biệt không?

Ứng dụng Google Chrome:

Google Chrome với --apptùy chọn:

Trả lời

1 bac0n Mar 14 2020 at 19:31

Sử dụng ứng dụng để tạo ứng dụng chrome.

Thả tiện ích của bạn vào chrome: // extensions

Ví dụ về tệp .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

Đừng quên điều chỉnh --user-data-dir=và id phần mở rộng.

3 LucasRodrigues May 12 2020 at 10:14

Tôi đã tìm thấy giải pháp ở đây:

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

Tạo jupyter-lab.desktop:

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

Sau đó viết mã bên dưới (Thay thế <user>bằng tên người dùng của bạn) và lưu nó:

[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

Khởi động lại phần Gnome (Nhấn Alt + F2 và bên trong hộp thoại viết 'r')

Tạo tệp .desktop mới cho Google Chrome:

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

Sau đó, nếu không tồn tại, hãy StartupWMClass=google-chromethêm dòng này, nếu không hãy thay thế nó bằng đoạn mã dưới đây:

StartupWMClass=google-chrome

Nhận một biểu tượng cho Jupyter. Ví dụ:

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

và lưu nó tại ~/.local/share/icons.