Điểm:0

Ubuntu 21.04 tùy chỉnh firefox.desktop tạo biểu tượng mới thay vì chạy chỉ báo bằng biểu tượng tùy chỉnh

lá cờ vn

Chúng tôi dùng chung một máy tính để bàn nên tôi có một trình khởi chạy ứng dụng Firefox để mỗi người chúng tôi tải các hồ sơ cá nhân của mình; đây là của tôi:

[Mục nhập máy tính để bàn]
Phiên bản=1.0
Tên=s3rvant-Firefox
Comment=Duyệt World Wide Web
GenericName=Trình duyệt web
Từ khóa=Internet;WWW;Trình duyệt;Web;Explorer
Exec=firefox %u -P s3rvant --class s3rvantfox
Thiết bị đầu cuối = sai
X-MultipleArgs=false
Loại=Ứng dụng
Biểu tượng=/home/s3rvant/Launchers/Firefox/Firefox-s3rvant.png
Thể loại=Gnome;GTK;Mạng;Trình duyệt web;
MimeType=
StartupNotify=true
Actions=NewWindow;NewPrivateWindow;ProfileManager;

[Hành động trên màn hình mới Cửa sổ mới]
Tên=Mở một cửa sổ mới
Exec=firefox -P s3rvant --class s3rvantfox -new-window

[Hành động trên máy tính để bàn NewPrivateWindow]
Tên=Mở một cửa sổ riêng mới
Exec=firefox -P s3rvant --class s3rvantfox -private-window

[Trình quản lý hồ sơ hành động trên máy tính để bàn]
Tên=Mở Trình quản lý Hồ sơ
Exec=firefox -ProfileManager --class s3rvantfox

Trong Ubuntu 20.04, điều này đã hoạt động tốt khi giữ các chỉ báo cửa sổ cấu hình khác nhau được nhóm trên các biểu tượng trình khởi chạy tương ứng của chúng như mong đợi. Tuy nhiên, kể từ khi nâng cấp lên 21.04, khi tôi nhấp vào một trong các trình khởi chạy này, biểu tượng Firefox mặc định được thêm vào thanh công cụ cho cửa sổ mới mở với chỉ báo đang chạy bằng biểu tượng đó. Nhấp vào cấu hình thứ 2 sẽ mở ra một cửa sổ khác với chỉ báo cũng bằng biểu tượng mặc định đó mặc dù cửa sổ thứ 2 đang sử dụng cấu hình thứ 2.

Tôi đã thử thêm phần sau vào khối trên cùng nhưng không thay đổi:

StartupWMClass=s3rvantfox

Tôi cũng đã thử di chuyển các trình khởi chạy từ ~/.local/share/applications sang /usr/share/applications nhưng một lần nữa không có thay đổi.

Bất cứ ý tưởng làm thế nào để sửa chữa?

lá cờ us
Tôi không có câu trả lời, nhưng tôi có một số thông tin hữu ích. 20.04 được mặc định là phiên Xorg. 21.04 mặc định là phiên Wayland. StartupWMClass bị bỏ qua trong các phiên Wayland vì nó dựa trên thuộc tính cửa sổ WM_CLASS dành riêng cho X11 không tồn tại trong Wayland.
s3rvant avatar
lá cờ vn
Cảm ơn Marius; đó dường như là vấn đề ít nhất. Sử dụng Kính nhìn để kiểm tra cửa sổ thực sự liệt kê nó là Wayland và wm_class vẫn là "firefox", theo tôi hiểu thì Wayland sử dụng "id ứng dụng" cho mục đích này mặc dù tôi chưa tìm được cách đặt id ứng dụng trong máy tính để bàn bệ phóng.
Prof.Chaos avatar
lá cờ us
Câu hỏi này có vẻ rất, rất liên quan chặt chẽ với câu hỏi được mô tả ở đây: https://askubuntu.com/questions/1360144/new-instances-of-kile-get-a-new-defaul-icon-rather-than-new- đỏ-đạn-trong-ubu
Prof.Chaos avatar
lá cờ us
Đáng buồn thay, vấn đề này vẫn chưa được giải quyết, cũng không có trong bài đăng liên quan được liên kết ở trên. Tuy nhiên, tôi muốn nói thêm rằng Wayland không thể là lý do (cốt lõi) vì tôi đã hủy kích hoạt nó và vẫn có hành vi tương tự.
Điểm:0
lá cờ us

Tôi tin rằng mình có giải pháp, mặc dù giải pháp này có thể yêu cầu phải làm đi làm lại một chút cho đến khi nó thực sự hoạt động. Dù sao thì tôi cũng gặp một vấn đề tương tự (tôi có một liên kết như vậy trong mục yêu thích, liên kết này đã mở ra một biểu tượng mới) và cuối cùng thì nó đã hoạt động với tôi!

Chìa khóa là giải pháp được cung cấp trong Mục Stackoverflow trên các biểu tượng trùng lặp trong điều hướng.

Tôi không chắc liệu mình có cần/có nên sao chép giải pháp từ đó vào đây không (tôi có nên nhận xét về điều đó không?), vì vậy tôi sẽ chỉ tham khảo giải pháp đó (giải pháp của mũm mĩm) và đưa ra một sự lặp lại trừu tượng của giải pháp đó cùng với các nhận xét bổ sung.

  • Thật vậy, trình khởi chạy phải được sao chép vào ~/.local/share/applications
  • Ở đó bạn thực sự sẽ phải thêm dòng StartupWMClass=VALUE -- tuy nhiên CÓ THỂ là giá trị mà bạn đặt ở đó không phải là giá trị hoàn toàn chính xác. Bạn sẽ thích giá trị trong khi chạy chương trình đó (tức là mở liên kết của bạn), chạy xprop WM_CLASS trong một thiết bị đầu cuối, rồi bấm vào chương trình. Sau đó nó sẽ hiển thị giá trị chính xác.
  • Nếu cách đó không hiệu quả, hãy thử thêm nó vào mục yêu thích (sau khi bạn sao chép tệp đã chỉnh sửa vào thư mục nêu trên).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.