Làm cách nào để thay đổi biểu tượng cho một loại tệp cụ thể?


42

Tôi đang cố gắng thay đổi biểu tượng cho application/x-hwpcác tập tin. Tôi đã thêm các biểu tượng vào các vị trí thích hợp và kiểm tra nó bằng assoGiate (sau khi đọc chủ đề này ). Nó cho thấy biểu tượng mong muốn của tôi được liên kết với loại tệp. Tuy nhiên, Nautilus vẫn hiển thị biểu tượng cũ. Làm cách nào để Nautilus hiển thị biểu tượng chính xác?



@Rinzwind: Cảm ơn. Thật không may, liên kết đó giải quyết một vấn đề khác. Nó dựa trên việc thay đổi các biểu tượng của các tệp riêng lẻ. Tôi muốn thay đổi biểu tượng mặc định cho tất cả các tệp thuộc loại đã cho.
Scott Severance

Bạn đang sử dụng một chủ đề biểu tượng tùy chỉnh? Điều đó có thể can thiệp vào biểu tượng được cho là xuất hiện.
RBurgundy

Tôi đang sử dụng chủ đề Ambiance chứng khoán. Dù sao, điều đó không quan trọng, bởi vì theo hiểu biết của tôi, không có chủ đề biểu tượng nào bao gồm loại tệp này. Tôi chỉ nhận được biểu tượng xuất hiện theo mặc định khi Nautilus không biết biểu tượng nào khác sẽ hiển thị. Ngoài ra, chủ đề biểu tượng được phân cấp, vì vậy nếu không thể tìm thấy biểu tượng thích hợp trong chủ đề hiện tại, cấu trúc phân cấp sẽ được tìm kiếm, cuối cùng lên đến đỉnh điểm với chủ đề màu. Các biểu tượng của tôi được cài đặt trong cả hai chủ đề ubfox0mono-dark và h màu.
Scott Severance

Câu trả lời:


22

Dưới đây là một bộ hướng dẫn sẽ giúp bạn có một biểu tượng tùy chỉnh cho các tệp hwp.

Mở một thiết bị đầu cuối:

  • Kiểm tra loại MIME tồn tại: grep 'hwp' /etc/mime.types

    nếu bạn nhận được một đầu ra giống như application/x-hwp hwpbỏ qua bước tiếp theo.

  • Tạo loại MIME sudo -H gedit /etc/mime.typesvà thêm dòngapplication/x-hwp hwp

  • Thêm biểu tượng (phải được gọi application-x-hwp.svg) :

    sudo cp PathToIcon/application-x-hwp.svg /usr/share/icons/gnome/scalable/mimetypes
    

    (đừng quên thay thế PathToIcon)

Có thông tin từ đây


Cám ơn vì sự gợi ý. Tôi chưa có cơ hội để thử nó một cách triệt để (cho đến nay, không thành công), nhưng tôi đã thưởng tiền thưởng vì các đề xuất khác không hiệu quả và tôi sẽ không còn cơ hội để làm việc này nữa tiền thưởng hết hạn.
Scott Severance

Bạn có thể nên kiểm tra xem chủ đề biểu tượng của bạn có kế thừa từ gnome hay không (hầu hết các chủ đề biểu tượng đều làm). Bạn sẽ tìm thấy thông tin đó trong index.theme nằm trong thư mục của bộ biểu tượng của bạn
danjjl

Bạn cũng cần kiểm tra ~/.local. Ví dụ ~/.local/share, bắt chước thư mục /usr/local/share. Ứng dụng được cài đặt cục bộ của bạn (tức là ứng dụng chỉ dành cho bạn, không phải các thông tin đăng nhập khác), có thể có các thuộc tính của chúng ở đó. Chỉnh sửa các tệp tương tự, ví dụ,~/.local/share/icons/XXXX/XXXX
Robin Hsu

@danjjl: Ý bạn là gì (đừng quên thay thế PathToIcon)?
JoKalliauer

1
@JoKalliauer trong lệnh sao chép biểu tượng vào /usr/share/... . Tôi tham khảo PathToIcon. Điều này cần phải được thay thế bằng đường dẫn đến biểu tượng trên PC của bạn. (nếu bạn nghĩ rằng điều này có thể được xây dựng rõ ràng hơn, đừng ngần ngại đề xuất chỉnh sửa)
danjjl

14

Thủ thuật chính là tìm ra chính xác vị trí của các biểu tượng thực tế.
Để xác định rằng hãy phân tích các biểu tượng HTML. Quy ước đặt tên cho các biểu tượng giống như kiểu MIME, chỉ /được thay thế bằng -và không được phép viết hoa. Tức là loại MIME, giả sử, text/x-changelogsẽ có biểu tượng có tên text-x-changelog.svg(hoặc png). Loại MIME cho HTML là text/html. Vì vậy, biểu tượng của nó sẽ là text-html.*Nếu chúng ta chạy lệnh

find /usr/share/icons/ -type f | grep 'text-html\.'

chúng ta sẽ nhận được một vài nơi đặt các biểu tượng này:

/usr/share/icons/Humanity/mimes/
/usr/share/icons/gnome/NNxNN/mimetypes/
/usr/share/icons/HighContrast/scalable/mimetypes/

Nếu chúng tôi truy cập từng người trong số họ bằng Nautilus, chúng tôi sẽ thấy, Humanity/thư mục đó chứa các biểu tượng hiện tại của chúng tôi gnome/- một số biểu tượng cũ hơn. HighContrast/không quan tâm đến chúng tôi. Vì vậy, để thay đổi một số biểu tượng, chúng ta nên thay thế các biểu tượng nằm trong Humanity/thư mục.
Cũng lưu ý rằng text-html.svgcác biểu tượng có thể mở rộng và nên được đặt vào scalablethư mục con (cần phải logic) được đặt vào các thư mục cho các kích thước khác nhau, giống như các tệp PNG raster.

Sau khi thay thế các biểu tượng (trong tất cả các thư mục con theo kích thước của chúng) bằng bộ đệm biểu tượng mong muốn sẽ được cập nhật:

sudo gtk-update-icon-cache /usr/share/icons/Humanity

Đó là nó.

Có một cách khác để xác định mức độ ưu tiên của các sơ đồ biểu tượng - để kiểm tra các index.themetệp của chúng . Nếu chúng ta nhìn vào bên trong /usr/share/icons/Humanity/index.theme, chúng ta sẽ thấy:

Inherits=gnome,hicolor

Điều này có nghĩa là các biểu tượng từ gnomehicolorthư mục sẽ có ít quyền ưu tiên hơn các biểu tượng từ đó Humanity. Điều này được giải thích ở đây .
Thật kỳ lạ, Nautilus không tuân theo các quy tắc thừa kế này. Khi tôi thêm mới MIME-type, tôi đã cố gắng đặt các biểu tượng của nó vào /usr/share/icons/gnome/, /usr/share/icons/hicolor, ~/.local/share/icons/hicolor, cơ sở dữ liệu cập nhật biểu tượng trên mỗi bước - tất cả trong vô vọng. Các biểu tượng này đã được hiển thị đúng trong assogiatetab đầu tiên, nhưng không bao giờ trong Nautilus. Nhưng khi tôi đặt chúng vào Humanitythư mục và cơ sở dữ liệu biểu tượng được cập nhật, chúng xuất hiện ngay lập tức.

NB Tất cả điều này áp dụng cho chủ đề biểu tượng mặc định. Nếu bạn sử dụng một số chủ đề biểu tượng tùy chỉnh, bạn nên kiểm tra vị trí của các biểu tượng thực tế và thay thế / thêm biểu tượng ở đó. Ngoài ra trong các bản phân phối mới hơn, các quy tắc thừa kế có thể thay đổi. Sau đó, bạn nên xác định vị trí thư mục mới lưu trữ các biểu tượng thực tế (nếu không Humanitycòn nữa) như đã giải thích trước đây.


Bạn cũng cần kiểm tra ~/.local. Ví dụ ~/.local/share, bắt chước thư mục /usr/local/share. Ứng dụng được cài đặt cục bộ của bạn (tức là ứng dụng chỉ dành cho bạn, không phải các thông tin đăng nhập khác), có thể có các thuộc tính của chúng ở đó. Chỉnh sửa các tệp tương tự, ví dụ,~/.local/share/icons/XXXX/XXXX
Robin Hsu

0

Tôi hy vọng bạn đã thử đăng xuất và đăng nhập để làm mới bộ đệm biểu tượng.

Xem thêm nếu biểu tượng của bạn có sẵn ở kích thước phù hợp (biểu tượng bạn đang sử dụng để hiển thị loại tệp trong nautilus).

Bạn cũng có thể bỏ lỡ chạy gtk-update-icon-cache.

Hãy thử hướng dẫn này: http://swik.net/Ubfox/Only+Ubfox/How+To+Change+File-Type+(mimetype)+Icons+in+Ub Ubuntu / chcrf

Hãy thử tự tạo icon.theme, đây là một ví dụ tôi có từ awn:

[Icon Theme]
Name=awn-theme

Directories=scalable

[scalable]
Size=48
MaxSize=256
Context=Apps
Type=Scalable

Hướng dẫn có tại đây: http://live.gnome.org/GnomeArt/Tutorials/IconTheme


Tôi đã cài đặt biểu tượng 48x48 và đặt Nautilus thành 100%, sử dụng 48x48. Không có con xúc xắc. Đăng nhập lại làm cho không có sự khác biệt. Chạy gtk-update-icon-cachekhông có tác dụng.
Scott Severance

Tôi cập nhật câu trả lời của tôi, nó đã giúp?
Chris Hasiński

Tôi chưa tự tạo một chủ đề biểu tượng, vì tôi không muốn một chủ đề mới. Tôi chỉ muốn biểu tượng đi vào chủ đề màu, vì đó là cơ sở của tất cả các chủ đề biểu tượng. Tạo một chủ đề mới sẽ đánh bại mục đích của tôi.
Scott Severance

-2

1)

 sudo apt-get install assogiate

làm theo hướng dẫn tốt này với hình ảnh đẹp

http://lordamit.blogspot.com/2010/07/change-file-type-icons-mime-type-icons.html


2)

Nếu loại tệp không được phát hiện chính xác hoặc hiển thị loại tệp không chính xác, hãy tìm loại ký tự nhận dạng loại tệp của bạn

EX: rar truy cập http://filext.com/file-extension/rar

định danh "Hex: 52 61 72 21 1A 07 00, ASCII: Rar!"

mở tệp trong một phước lành hoặc bất kỳ trình soạn thảo hex nào và tìm mã định danh và offset (nơi từ khóa của bạn bắt đầu)

trong trường hợp của chúng tôi, bit linh hoạt nên bù là "0".

Sau đó, chỉnh sửa "Trình chỉnh sửa loại tệp" hoặc tạo một mục mới, sau đó chọn chỉnh sửa và bên dưới nội dung tệp

chọn "chuỗi" từ trình đơn thả xuống, nhập "Rar!" và đặt bù "0".

Làm xong


3
Như tôi đã lưu ý trong câu hỏi ban đầu của mình, đồng hóa không hoạt động.
Scott Severance
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.