Làm cách nào để thay đổi biểu tượng loại tệp trong XFCE (Thunar)?


13

Cách thay đổi biểu tượng được sử dụng để mô tả các tệp thuộc loại cụ thể trong Thunar / XFCE.

Câu trả lời:


12

Các biểu tượng được hiển thị bởi Thunar dựa trên thông tin được lưu trữ trong cơ sở dữ liệu mimetypes. Và do đó, để thay đổi biểu tượng của mimetype, chúng ta cần sửa đổi cơ sở dữ liệu đó. Có một gui Gnome được gọi là assogiate có thể được sử dụng cho việc này, nhưng tôi chưa thực sự thử nó. Hoặc chúng ta chỉ có thể sửa đổi thông tin bắt chước bằng tay, bằng cách chỉnh sửa / tạo các tệp xml nhất định.

Ví dụ, tôi sẽ cố gắng thay đổi biểu tượng cho các tệp .html. Đầu tiên, tôi sẽ lấy mô phỏng của nó từ dòng lệnh ...

$ file --mime-type testfile.html 
testfile.html: text/html

Tiếp theo, tôi cần lấy thông tin định nghĩa mimetype của nó từ cơ sở dữ liệu bắt chước của hệ thống. Cơ sở dữ liệu được đặt tại / usr / share / mime /, nhưng cụ thể hơn, các định nghĩa xml mimetype nguồn được tìm thấy trong thư mục con / usr / share / mime / gói. Vì vậy, tôi sẽ cố gắng tìm tệp xml nào trong đó có khai báo kiểu mime cho văn bản / html

$ cd /usr/share/mime/packages/
$ fgrep -Hn '<mime-type type="text/html">' *
freedesktop.org.xml:25295:  <mime-type type="text/html">

Vì vậy, tôi đã tìm thấy một tệp xml chứa định nghĩa kiểu mime cho văn bản / html. Nhưng tệp xml đó có thể chứa các định nghĩa cho hàng tá mô phỏng. Vì vậy, chúng ta phải mở nó trong một trình soạn thảo và tìm một phần nhỏ của tệp bắt đầu bằng mime-type type = "text / html" và kết thúc bằng / mime-type> , như được thấy dưới đây.

  <mime-type type="text/html">
    <comment>HTML document</comment>
      .
      .
      .
  </mime-type>

Bây giờ, nếu chúng ta sửa đổi cơ sở dữ liệu bắt chước hệ thống, nó có thể bị ghi đè bởi bản cập nhật gói. Vì vậy, thay vào đó, chúng tôi sẽ tạo một tệp xml mới trong cơ sở dữ liệu mimetype của người dùng cục bộ, được tìm thấy tại ~ / .local / share / mime. Và vì tệp xml mới này sẽ chứa định nghĩa mimetype nguồn, nên nó sẽ được đặt trong thư mục con ~ / .local / share / mime / gói. Vì vậy, chúng tôi sẽ tạo một tệp xml mới ở đó, nhưng sử dụng tên đã tạo ...

$ cd ~/.local/share/mime/packages
$ gedit html_example.xml &

và dán vào văn bản tìm thấy ở trên, nhưng thêm hai dòng bổ sung vào đầu và thêm một dòng ở dưới cùng ...

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="text/html">
    <comment>HTML document</comment>
      .
      .
      .
  </mime-type>
</mime-info> 

Trong ví dụ này, trên Linux của tôi, tôi không thấy bất kỳ dòng liên quan đến biểu tượng nào trong định nghĩa mimetype cho văn bản / html. Nhưng nếu bạn thấy bất kỳ dòng nào tương tự như ...

<generic-icon name="xx_yada_yada_xx"/>
<icon name="xx_blah_blah_xx"/>

sau đó xin vui lòng chỉnh sửa chúng ra. Và cuối cùng, chúng tôi sẽ thêm vào một mục tên biểu tượng của riêng chúng tôi. Trong trường hợp này, tôi đã chọn biểu tượng cho iceweasel, nhưng bạn có thể chọn biểu tượng của riêng bạn. Bất kỳ biểu tượng có sẵn trên hệ thống của bạn. Bây giờ, tệp xml mới trông tương tự như thế này

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="text/html">
    <comment>HTML document</comment>
      .
      .
      .
  <icon name="iceweasel"/>
  </mime-type>
</mime-info> 

Và bây giờ lưu tập tin. Bây giờ, khi đã sửa đổi các định nghĩa nguồn mimetype cục bộ, chúng ta phải xây dựng lại cơ sở dữ liệu mimetypes cục bộ ...

$ cd ~/.local/share/mime
$ update-mime-database $PWD

Nếu trước đây ~ / .local / share / mime thì bây giờ nó sẽ chứa các tệp cơ sở dữ liệu khác nhau. Để sau khi hệ thống của bạn được khởi động lại, thông tin được sửa đổi trong cơ sở dữ liệu mô phỏng cục bộ sẽ ghi đè thông tin trong cơ sở dữ liệu hệ thống chính. Và hy vọng, các biểu tượng html của bạn trong Thunar cũng sẽ thay đổi.

Vâng, đó là cách tôi làm điều đó. Tôi hi vọng nó làm việc cho bạn. Thông tin thêm về Cơ sở dữ liệu MIME-thông tin được chia sẻ của freedesktop.org có thể được tìm thấy ở đây .

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.