Deaktivieren Sie helle Farben in TTY

3

Ich habe nach einer Möglichkeit gesucht, die hellen (fetten) Farben in einem TTY (Farben 8 bis 15) zu deaktivieren. Ich möchte, dass alle hellen Farben ihre halbhellen Gegenstücke verwenden.

Chris Kempson
quelle

Antworten:

1

Finden Sie die terminfo Datenbank für Ihren Terminaltyp unter /usr/share/terminfo - Es sollte eine Datei sein, die den gleichen Namen hat wie Ihr Wert TERM Variable. Erinnere dich an den Pfadnamen.

Dekompilieren Sie die Datenbankdatei in den Quellcode mit infocmp $TERM > FILE.ti. Dies kann in Ihrem Home-Verzeichnis erfolgen, da infocmp anhand des Werts von die richtige Datenbankdatei findet $TERM.

Bearbeiten FILE.ti und entfernen Sie den Eintrag bold=... aus der durch Kommas getrennten Liste von Name = Wert-Paaren. Speichern Sie die Datei und kompilieren Sie sie erneut mit tic FILE.ti. Dies wird ersetzen FILE im selben Verzeichnis.

Erstellen Sie ein neues Verzeichnis unter Ihrem Home-Verzeichnis mit dem Namen .terminfo. Machen Sie auch alle Unterverzeichnisse unter ~/.terminfo notwendig, um die Unterverzeichnisse unter zu entsprechen /usr/share/terminfo wo du gefunden hast FILE. Kopieren Sie nun beide FILE und FILE.ti in das Unterverzeichnis unter ~/.terminfo das entspricht dem Unterverzeichnis unter /usr/share/terminfo wo du gefunden hast FILE. Zum Beispiel, wenn Sie Dateien mit dem Namen haben xterm und xterm.ti, würden Sie sie in das Verzeichnis kopieren ~/.terminfo/x weil du gefunden hast xterm im /usr/share/terminfo/x.

Fügen Sie als nächstes diese Zeile zu Ihrer hinzu ~/.bashrc Startskript: export TERMINFO="$HOME/.terminfo"Schließen Sie das Terminalfenster und öffnen Sie es erneut.

Dies sollte das deaktivieren bold Vorgang für diesen Terminaltyp, und alle Farben sollten nur in ihrer gedämpften Form angezeigt werden.

Fran
quelle
Eigentlich die tic FILE.ti Befehl muss möglicherweise sein tic -o. FILE.ti, wodurch er gezwungen wird, die kompilierte terminfo-Datei in das aktuelle Verzeichnis zu schreiben. Entschuldigen Sie diese Auslassung.
Fran
Wenn alles gesagt und getan ist, können Sie überprüfen, woher terminfo die Datenbank Ihres Terminals bezieht, indem Sie ausführen infocmp $TERM. Nahe dem oberen Rand der Ausgabe sollte sich eine Zeile des Formulars befinden: # Reconstructed via infocmp from file: /cygdrive/c/franl/.terminfo/r/rxvt. In diesem Dateinamen bezieht terminfo die Datenbank Ihres Terminals.
Fran
Danke dafür! Schätze es wirklich. Interessanterweise, als ich verwendet habe tic FILE.ti es schrieb es an die richtige Stelle ( $HOME/.terminfo/l/linux ). Beides musste ich nicht kopieren FILE und FILE.ti in das Unterverzeichnis, nur FILE. Auch die Änderungen wurden ohne Bearbeitung übernommen .bashrc.
Chris Kempson
Ich bin froh, dass es funktioniert hat. Das von Ihnen beschriebene Verhalten kann daran liegen, dass Sie bereits eine haben TERMINFO Umgebungsvariable auf gesetzt $HOME/.terminfo. Es könnte etwas sein, das die Standard-Shell-Startskripte in Ihrer Linux-Distribution für Sie eingerichtet haben.
Fran
Ich lasse Arch laufen, überprüft TERMINFO aber es enthält nichts. Kein Problem, nur etwas, das ich interessant fand.
Chris Kempson