Gibt es eine Möglichkeit, alle Standardschriftarten in Anwendungen einfach zu identifizieren?

Gibt es eine Möglichkeit, alle Standardschriftarten in Anwendungen einfach zu identifizieren?

Debian Kwheezy (ein Debian Wheezy-Spin mit KDE) wurde mit jeder erdenklichen Schriftart und Hunderten von Schriftarten ausgeliefert, die verschiedene Fremdsprachen in ihren erweiterten Zeichensätzen unterstützen. Die meisten Schriftarten sind im Wesentlichen Duplikate einiger grundlegender Schriftarten innerhalb der englischen Schriftzeichen. Es gibt auch Duplikate, bei denen im Wesentlichen dieselben Schriftarten von verschiedenen Herausgebern enthalten sind. Ich muss diese aussortieren, da Debian auf einer kleinen externen Festplatte läuft und der verfügbare Speicherplatz knapp ist.

Die Systemschriftart ist über das Systemeinstellungsfenster erkennbar. Viele Anwendungen definieren jedoch ihre eigene Standardschriftart. Ich möchte keine Schriftart löschen und dann feststellen, dass eine Anwendung nicht funktioniert, weil ich ihre Standardschriftart gelöscht habe. Es wäre eine Menge Arbeit, jede Anwendung durchzugehen, herauszufinden, wo sie die Schriftart angibt, und eine „Nicht löschen“-Liste zu erstellen. Gibt es eine einfache Möglichkeit, beispielsweise einen Befehl zum Generieren einer Liste von Schriftartabhängigkeiten, um alle Schriftarten zu identifizieren, die vorhandene Anwendungen zu finden erwarten?

Antwort1

Sie könnten beispielsweise Folgendes tun:

find /usr/share/fonts -type f -atime +30

Hier werden alle Schriftarten angezeigt, auf die in den letzten 30 Tagen nicht zugegriffen wurde. Sie können dann

dpkg -S /usr/share/fonts/truetype/ttf-bitstream-vera/VeraMoIt.ttf

um herauszufinden, in welchem ​​Debian-Paket sich diese Schriftart befindet (damit Sie sie entfernen können).

ACHTUNG: Es wird davon ausgegangen, dass Ihr Dateisystem mit vollemeine Zeit(Zugriffszeit)-Unterstützung. Sie können überprüfen, ob es funktioniert, indem Sie prüfen, ob die Dateizugriffszeit beim Zugriff auf die Datei geändert wird:

% ls -l --time=atime /usr/share/fonts/truetype/ttf-bitstream-vera/VeraMoIt.ttf
-rw-r--r-- 1 root root 54508 Oct 24 18:44 /usr/share/fonts/truetype/ttf-bitstream-vera/VeraMoIt.ttf
% sleep 2m
% file /usr/share/fonts/truetype/ttf-bitstream-vera/VeraMoIt.ttf
/usr/share/fonts/truetype/ttf-bitstream-vera/VeraMoIt.ttf: TrueType font data
% ls -l --time=atime /usr/share/fonts/truetype/ttf-bitstream-vera/VeraMoIt.ttf
-rw-r--r-- 1 root root 54508 Oct 24 18:46 /usr/share/fonts/truetype/ttf-bitstream-vera/VeraMoIt.ttf

(im obigen Beispiel zeigen wir die aktuelle Zeit an, schlafen 2 Minuten, lesen die Datei (mit file(1), aber jeder schreibgeschützte Befehl würde genügen) und überprüfen dann die aktuelle Zeit erneut. Wenn sie sich geändert hat (wie bei uns: von18:44Zu18:46), dann funktioniert die Atime-Unterstützung. Wir könnten auch statanstelle von verwenden ls -l --time=atime)

Wenn es nicht funktioniert (z. B. atime wird nicht aktualisiert), sollten Sie Ihre /etc/fstab"/usr"- oder "/"-Partition überprüfen (oder welche Partition auch immer Ihre/usr/share/fontsVerzeichnis ist) und stellen Sie sicher, dass es dies hat strictatimeund keine andere Option atimeim Namen. Führen Sie dann einen Neustart durch, damit die Änderungen wirksam werden, und verwenden Sie alle Ihre Apps, damit auf alle Schriftarten zugegriffen werden kann, bevor Sie erneut versuchen, nicht verwendete Schriftarten zu finden.

Beachten Sie, dass es einen Grund gibt (abhängig von Ihrer Debian-/Kernel-Version), warum die Atime-Unterstützung deaktiviert sein könnte – dies reduziert die Leistung ein wenig (bei jedem Lesen einer Datei muss ein kleiner Schreibvorgang ausgeführt werden). Wenn Ihnen also die Leistungssteigerung wichtiger ist als die Möglichkeit, herauszufinden, wann auf Dateien zugegriffen wurde, sollten Sie „ relatimeoder“ erneut noatimeeingeben /etc/fstab, wenn Sie mit der Bereinigung Ihrer Schriftarten fertig sind.

verwandte Informationen