Làm cách nào để xóa các mục trùng lặp trong đối thoại 'Mở bằng' Nautilus?


14

Sẽ thật tuyệt khi được hiển thị nút ma thuật sẽ giúp tôi loại bỏ chướng mắt này:

văn bản thay thế

Đó là Nautilus 2.30 trên Debian (và đã có ở các phiên bản trước theo như tôi có thể nhớ).

Câu trả lời:


9

Danh sách này được tạo bằng cách phân tích các tệp .desktop tại:

/usr/share/applications
~/.local/share/applications

Có thể có nhiều hơn một usecase cho mỗi ứng dụng, ví dụ như trình phát đa phương tiện bansheecó ba tệp .desktop theo mặc định:

$ ls -1 /usr/share/applications/banshee*
/usr/share/applications/banshee-1-audiocd.desktop
/usr/share/applications/banshee-1.desktop
/usr/share/applications/banshee-1-media-player.desktop

Sự khác biệt duy nhất giữa các tệp đó là tham số bắt đầu và danh sách MimeType.

  • banshee-1.desktop: Tập tin đa phương tiện
  • banshee-1-audiocd.desktop: CD âm thanh
  • banshee-1-media-player.desktopMáy nghe nhạc âm thanh (Cũng được sử dụng bởi rhythmbox, vlcvà những người khác)

Vì vậy, chúng tôi có ba 'Banshee Media Player' trong danh sách 'Mở bằng' (và cũng có thể trong 'Menu chính').

Cách khác để lấp đầy không gian này là bằng cách tạo các tệp .desktop cá nhân trong ~/.local/share/applications. Hoặc bằng tay hoặc bằng cách sử dụng một công cụ. alacarte(hoặc nhấp chuột phải vào Menu Menu chính '->' Menu Chỉnh sửa ') là một trong số đó.

Mỗi khi bạn tạo hoặc di chuyển một ứng dụng bên trong alacarte, một tệp .desktop mới sẽ được đặt bên trong ~/.local/share/applications. Vô hiệu hóa một ứng dụng sẽ "xóa" nó khỏi 'Menu chính', nhưng không có trong danh sách 'Mở bằng'.
Nhưng vào nút 'Xóa' không, bằng cách tạo ra một bản sao giống hệt nhau từ /usr/share/applicationsvào ~/.local/share/applicationsvà thêm Hidden=truevào file .desktop, do đó "ghi đè" các giá trị được thừa hưởng toàn hệ thống.

Xóa hai trong số các mục đó khỏi alacartekết quả trong:

$ ls -1 ~/.local/share/applications/banshee*
/home/user/.local/share/applications/banshee-1-audiocd.desktop
/home/user/.local/share/applications/banshee-1-media-player.desktop

Xóa bất kỳ mục nào khỏi ~/.local/share/applicationssẽ đảo ngược sang trạng thái có sẵn (ba bansheemục).

Nếu bạn thực sự không có bất kỳ bản sao nào trong hai thư mục đó, hãy thử xóa mọi bản sao khỏi alacartehoặc chơi với Hidden=truetùy chọn trong các tệp .desktop tương ứng.


7

Nếu bạn nhìn vào ~/.local/share/applications/usr/share/applicationsbạn có thể loại bỏ trùng lặp từ hai nơi đó. Điều đó đã làm nó cho tôi.


Lưu ý rằng tôi chỉ có jhbuild.desktopmimeapps.listtrong ~ / .local / share / ứng dụng . Và, không có bản sao trong / usr / share / ứng dụng và tôi vẫn gặp sự cố.
tshepang

2

Tôi biết chủ đề này là cũ, nhưng điều này là do rượu cho nhiều người.

rm ~/.local/share/applications/wine-extension*

dọn dẹp mớ hỗn độn này cho tôi


1

Thừa nhận chủ đề này là cũ, tôi đã bối rối bởi vấn đề này bản thân mình. Cá nhân tôi cảm thấy việc xóa các tập tin hoặc chơi "dọn dẹp" là không cần thiết, vì đó chỉ là điều chỉnh mọi thứ cho người dùng hiện tại. Nếu có nhiều hơn 1 tệp .desktop, mỗi tệp có thể có một mô tả duy nhất không? Theo như Linux đã đến, các nhà phát triển ứng dụng nhất định có thực sự bỏ qua những điều đơn giản như thế này không?

Tôi đã tìm thấy nếu bạn mở các tệp .desktop trong trình soạn thảo văn bản, trường Tên là thứ hiển thị trong menu "Mở bằng". Vì vậy, đối với tôi, tôi đã tìm kiếm các tệp .desktop mà tôi biết đang tạo ra sự cố (ví dụ: 3 tệp Banshee). Nhìn vào mỗi cái, sự khác biệt hầu như luôn luôn phải làm với việc bắt chước các phím tắt đang xử lý. Điều này là do một số chương trình thích truyền các tham số khác nhau tùy thuộc vào mimetype. Chỉ trong 1 trường hợp, tôi đã tìm thấy các mục trùng lặp, kết quả của việc nâng cấp ứng dụng không làm sạch tệp .desktop cũ của nó

Với phát hiện đó, tôi đã thay đổi các trường Tên của các mục trùng lặp đã biết để phản ánh điều này. Chẳng hạn, chỉnh sửa tệp .desktop Banshee đặc biệt để xử lý Audio CD , tôi đã đặt tên như sau:

Banshee (CD âm thanh)

Nhịp điệu cũng là một ví dụ điển hình, vì nó có một tệp .desktop riêng biệt để xử lý các trình phát CD + MP3 nhưng mỗi tệp hiển thị giống nhau. Tôi đoán là 1 tệp tải ứng dụng và tập trung vào đơn vị hơn là thư viện của bạn. Điều này đáng để đổi tên, vì vậy, vì bạn sẽ không muốn điều này xảy ra khi xử lý các tệp MP3 / OGG của mình.

Dù sao, tôi nghĩ rằng điều này làm cho menu Open With trông sạch sẽ mà không cần xóa các tệp có vẻ hữu ích. Những thay đổi này có còn tồn tại giữa các bản cập nhật ứng dụng hay không vẫn chưa được nhìn thấy ... nhưng chúng là những chỉnh sửa đơn giản và nhanh chóng thậm chí có thể được viết theo kịch bản. Vỏ giúp rất nhiều trong trường hợp đó. Chẳng hạn, để xem tất cả tên tệp (có đường dẫn) với các mục trùng lặp như vậy:

grep -rl "^Name=Banshee$" /usr/share/applications

Trong đó "Banshee" dĩ nhiên là thứ xuất hiện nhiều hơn một lần trong menu Open With. Trong ví dụ được cung cấp trên cùng, ứng dụng được gọi là Geany.

Với điều này, bạn có thể gửi các tệp kết quả trực tiếp đến trình soạn thảo của mình. Nếu bạn không phải là chuyên gia về biểu thức reg, ^ và $ chỉ định tương ứng đầu dòng và cuối dòng. Điều này giúp hệ thống không tìm thấy các dòng như XGnome-FullName=Banshee Media Player Nó cũng ngăn hệ thống tìm các mục mà bạn có thể đã sửa.


0

Một kiểu chụp trong bóng tối, nhưng bạn đã thử nhấp vào một trong các mục và nhấp vào nút Xóa như trong ảnh chụp màn hình của bạn chưa? Nếu điều này loại bỏ tất cả các mục, bạn chỉ có thể thêm lại nó.


0

Bạn cũng có thể xem trong trình chỉnh sửa trình đơn "Ứng dụng" của Gnome và xóa các bản sao khỏi đây.


Bạn đã bao giờ nhìn thấy các bản sao ở đó?
tshepang

Đúng. Một số ứng dụng tạo các bản sao xuất hiện trong hộp thoại "mở bằng" như geany cho bạn và tôi có thể xóa chúng khỏi đây bằng cách chỉnh sửa menu Ứng dụng của gnome (trong đó chúng có mặt nhưng bị ẩn, vì vậy bạn không nhìn thấy chúng bằng cách chỉ duyệt menu, chỉ trong trình soạn thảo).
gentledevil
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.