Odpowiedzi:
Ikony wyświetlane przez Thunar oparte są na informacjach przechowywanych w bazie danych mimetypes. A zatem, aby zmienić ikonę mimetype, musimy zmodyfikować tę bazę danych. Istnieje guny Gnome zwane assogiate, które mogą być użyte do tego, ale tak naprawdę jeszcze tego nie wypróbowałem. Lub możemy po prostu ręcznie zmodyfikować informacje typu mimetype, edytując / tworząc określone pliki XML.
Jako przykład spróbuję zmienić ikonę plików .html. Najpierw pobiorę jego typ mimetyczny z wiersza poleceń ...
$ file --mime-type testfile.html
testfile.html: text/html
Następnie muszę uzyskać informacje o definicji typu mimetype z bazy danych mimetype systemu. Baza danych znajduje się w / usr / share / mime /, ale dokładniej, źródłowe definicje xml typu mimetype znajdują się w podfolderze / usr / share / mime / packages. Spróbuję więc znaleźć, który plik xml zawiera deklarację typu mime dla text / html
$ cd /usr/share/mime/packages/
$ fgrep -Hn '<mime-type type="text/html">' *
freedesktop.org.xml:25295: <mime-type type="text/html">
Znalazłem więc plik xml, który zawiera definicję typu MIME dla text / html. Ale ten plik xml może zawierać definicje dziesiątek typów mimetycznych. Musimy więc otworzyć go w edytorze i poszukać niewielkiej części pliku, która zaczyna się od mime-type type = "text / html" i kończy się na / mime-type> , jak pokazano poniżej.
<mime-type type="text/html">
<comment>HTML document</comment>
.
.
.
</mime-type>
Teraz, jeśli zmodyfikujemy systemową bazę danych typu mimetype, może ona zostać zastąpiona aktualizacją pakietu. Zamiast tego utworzymy nowy plik xml w lokalnej bazie danych mimetype użytkowników, znajdujący się w ~ / .local / share / mime. A ponieważ ten nowy plik xml będzie zawierał źródłową definicję mimetype, zostanie on umieszczony w podfolderze ~ / .local / share / mime / packages. Utworzymy tam nowy plik xml, ale używając wymyślonej nazwy ...
$ cd ~/.local/share/mime/packages
$ gedit html_example.xml &
i wklej powyższy tekst, ale dodając dwie dodatkowe linie na górze i jedną dodatkową linię na dole ...
<?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>
W tym przykładzie w moim systemie Linux nie widzę żadnych linii związanych z ikonami w definicji typu mimetype dla text / html. Ale jeśli zobaczysz jakieś linie podobne do tych ...
<generic-icon name="xx_yada_yada_xx"/>
<icon name="xx_blah_blah_xx"/>
następnie edytuj je. I na koniec dodamy własną ikonę-nazwę. W tym przypadku wybrałem ikonę iceweasel, ale możesz wybrać własną. Każda ikona dostępna w twoim systemie. Tak, że teraz nowy plik xml wygląda podobnie do tego
<?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>
A teraz zapisz plik. Teraz, po zmodyfikowaniu lokalnych definicji źródeł mimetype, musimy odbudować lokalną bazę danych mimetypes ...
$ cd ~/.local/share/mime
$ update-mime-database $PWD
Jeśli ~ / .local / share / mime był wcześniej pusty, to teraz będzie zawierać różne pliki bazy danych. Tak, że po ponownym uruchomieniu systemu zmodyfikowane informacje w lokalnej bazie danych typu mimetype powinny zastąpić informacje w głównej bazie danych systemów. I miejmy nadzieję, że Twoje ikony HTML w Thunar również się zmienią.
Tak to robię. Mam nadzieję, że ci się uda. Więcej informacji na temat udostępnionej bazy danych MIME-freedesktop.org można znaleźć tutaj .