dircolors: Farbeinstellungen global ändern

dircolors: Farbeinstellungen global ändern

Ich verstehe, dass es zur Anzeige farbiger Ausgaben lsverwendet wird . hat eine Standarddatenbank mit Farben, die mit Dateierweiterungen verknüpft sind und mit dem Befehl gedruckt werden könnendircolorsdircolors

dircolors --print-database

Soweit man dir_colorsich gelesen habe, sollte die systemweite Datenbank in liegen /etc/DIR_COLORS. Aber diese Datei existiert auf meinem System (Debian) nicht. Wie kann ich systemweite Farbeinstellungen für ändern dircolors? Woher nimmt der Befehl dircolors --print-databasedie Einstellungen, wenn keine Datei existiert?

Mir ist bewusst, dass der Benutzer eine benutzerspezifische Datei ~/.dircolorsmit seinen Einstellungen haben kann, aber das ist für mich nicht geeignet, da ich die Einstellungen für alle ändern muss.

Eine zweite Frage ist, ob es möglich ist, 8-Bit-Farben für Dircolors zu verwenden. Mein Terminal ist xterm-256color.

Antwort1

lsübernimmt die Farbeinstellungen aus der Umgebungsvariable LS_COLORS. dircolorsist lediglich eine praktische Möglichkeit, diese Umgebungsvariable zu generieren. Damit diese Umgebungsvariable systemweit wirksam wird, fügen Sie sie in die Startdatei Ihrer Shell ein.

Für bashwürden Sie Folgendes in eingeben /etc/profile:

# `dircolors` prints out `LS_COLORS='...'; export LS_COLORS`, so eval'ing
# $(dircolors) effectively sets the LS_COLORS environment variable.

eval "$(dircolors /etc/DIR_COLORS)"

Für zshmüssen Sie es entweder einfügen /etc/zshrcoder so einrichten, dass es beim Start zshgelesen wird /etc/profile. Ihre Distribution hat zshdas möglicherweise bereits getan. Ich erwähne dies nur, um darauf hinzuweisen, dass die Einstellung dircolorsfür wirklich jeden von der verwendeten Shell abhängt.

Was dircolorsdie Herkunft der Einstellungen betrifft: Wenn Sie keine Datei angeben, werden einfach einige integrierte Standardwerte verwendet.

Sie können die 256 Farb-Escape-Codes von in Ihrer Datei dircolors verwenden xterm, aber beachten Sie, dass diese nur für kompatible Terminals funktionieren xterm. Sie funktionieren beispielsweise nicht auf der Linux-Textkonsole.

Das Format für 256 Farb-Escape-Codes ist 38;5;colorNfür Vordergrundfarben und 48;5;colorNfür Hintergrundfarben. Also zum Beispiel:

.mp3  38;5;160                   # Set fg color to color 160      
.flac 48;5;240                   # Set bg color to color 240
.ogg  38;5;160;48;5;240          # Set fg color 160 *and* bg color 240.
.wav  01;04;05;38;5;160;48;5;240 # Pure madness: make bold (01), underlined (04), blink (05), fg color 160, and bg color 240!

Antwort2

KURZE ANTWORT

dircolors(kurz für Directory Colors) kann nicht verwendet werden, um Farben global zu ändern. Dazu möchten Sie wahrscheinlich die Farbpalette in Ihrem Terminalemulator anpassen.

Beispielsweise wird nicht verwendet, um die von , , , oder dircolorsangeforderten Farben anzupassen .grepvitmuxman

dircolorswird verwendet, um die Farben anzupassen, die die Befehle lsundtree AnfrageAngezeigt werdenbei der Anzeige Ihrer Dateinamen.

ich möchte betonenAnforderung zur Anzeige, weil die von einem Befehl angeforderten Farben nur das sind, was an Ihren Terminalemulator gesendet wird. Ihr Terminalemulator kann dann andere Farben als die angeforderten anzeigen. Was angefordert wird und was schließlich auf Ihrem Terminalbildschirm ausgegeben wird, den Sie sehen, können zwei verschiedene Farbsätze sein.


ÜBERBLICK ÜBER DEN FARBEPROZESS

1) Jedes textbasierte Programm oder jede Shell, die integriert ist, kann konstruktionsbedingt ANSI (American National Standards Institute) ausgebenFarbwunschEscape-Codes. Ich betone hier, dass dies nur Anforderungen an das Terminal sind, das die endgültige Entscheidung über die Anzeige trifft. Das ANSI-Farbcodesystem ist ein sehr altes System, das erstmals auf eigenständigen Hardwareterminals entstand.

Eine farbige Textanfrage sieht ungefähr so ​​aus:

<requested-color><text-to-be-displayed-in-that-color><next-requested-color><next-text...

Der Teil „angeforderte Farbe“ wird nicht angezeigt. Vielmehr wird er vom Terminalemulator verwendet, um auf dem Bildschirm „in dieser Farbe anzuzeigenden Text“ in der angeforderten Farbe anzuzeigen.

Programme können aufrufen, [ncurses][1]um ANSI-Codes an den Terminalemulator auszugeben. Sie haben grundsätzlich 8 Standardfarben und 8 kräftigere/hellere Farben, die angefordert werden können. (ncurses ist die Abkürzung für New Curses, wobei „curses“ ein Wortspiel mit „Cursor Optimization“ bzw. einer Softwarebibliothek für effiziente textbasierte Ausgabe auf einem Terminalbildschirm ist.)

Viele gängige textbasierte Befehle können so konfiguriert werden, dass sie ANSI-Farbcodes ausgeben, umAnfragedass ihre Ausgabe vom Terminal eingefärbt wird. Beispiele sind: ls, tree, vim, grep, tmux, und man.

Diese Ausgabefarbcodes (mit Escape-Präfix versehene Steuercodes) fordern, dass die Anzeige zu einer bestimmten Farbkombination (Vordergrund, Hintergrund und Attribute) wechselt, bevor der nächste Text ausgegeben wird. Auch diese Escape-Codes bestimmen nicht wirklich die Farben, die Sie sehen. Sie geben vielmehr bestimmte Palettenoptionen an.

Früher gab es eine Standardfarbpalette. Wenn Sie Grün angefordert haben, haben Sie Grün gesehen.

Aber ein Terminalemulator wie GNOME Terminalzum Beispiel kann dieses Verhalten ändern. Wenn ein Programm zum Beispiel anfordertGrünkönnen Sie über einen ANSI-Green-Escape-Code festlegen, dass dies stattdessen inKirschrotauf Ihrem Bildschirm. Wichtig zu bedenken ist, dass dies Folgendes bedeutet:alleAngefordertes Grün wird in jedem Terminalprogramm in Rot umgewandelt. Mit anderen Worten: Sie können nicht einfach auf diese Weise die Ausgabefarben eines bestimmten Programms anpassen grep.

2A) Verzeichnisbefehle wie lsund treesind etwas Besonderes, da sie vom Benutzer so konfiguriert werden können, dass Dateinamen nach Ihren Vorgaben nach Dateinamentyp eingefärbt werden. Dies unterscheidet sich manbeispielsweise von , das zusätzlich zu Schwarz und Weiß einen festen Satz alternativer Farben verwendet.

Beispielsweise kann die Anzeige von Ordnern in Marineblau und von Links in Hellblau gewünscht werden.

Sie können Farben für bestimmte Terminalformate (wie Ansi oder Putty) und nach Dateibasistyp (wie Ordner, Block oder Sticky) und/oder nach passender Dateinamenerweiterung (wie *.sh oder *.png) anfordern. Dies geschieht, indem die ANSI-Ausgabefarbcodes nach Dateinamentyp mithilfe der Einstellungen geändert werden, die durch die Umgebungsvariable LS_COLORS vorgegeben sind. Siehe unten, wie das geht.

2B)Es gibt auch spezielle Farbschemata invimVerwenden Sie beispielsweise :colorscheme default. (Ein Thema für einen anderen Tag.)

3)Ihr Terminal (GNOME Terminal in meinem Fall) interpretiert dann alle ANSI-Codes, um die tatsächlichen Anzeigefarben zu generieren, die Sie sehen.


GLOBALE ANPASSUNG DER FARBEN IN IHREM TERMINAL-EMULATOR

Wenn Sie die Farbeinstellungen in GNOME Terminal(oder wahrscheinlich jedem Terminalemulator, der diese Funktion unterstützt) anpassen, wirkt sich dies auf die sichtbaren Farben aller Textprogramme aus, die ANSI-Farbcodes ausgeben. Diese Farbänderungen werden gleichzeitig in allen geöffneten Terminalfenstern angepasst (vorausgesetzt, Sie verwenden für alle Fenster denselben Terminalemulator).

Wenn Sie zwei verschiedene Terminalemulatoren (z. B. GNOME Terminalund XTerm) verwenden, kann es sein, dass jeder die endgültigen Ausgabefarben anders anpasst.

Mit den GNOME-Terminaleinstellungen können Sie Ihre systemweite „Farbpalette“ (also den Satz von 16 Farben, der für textbasierte Anwendungen verfügbar ist) auf Ihren eigenen benutzerdefinierten Farbsatz abstimmen.

GNOME TerminalHilfe sagt:

Herkömmliche Terminalemulatoren boten eine 16-Farben-Palette an, die Sie hier ändern können. Terminal unterstützt einen erweiterten Satz von 256 Farben, aber die zusätzlichen 240 Farben können hier nicht bearbeitet werden. Terminal bietet sogar direkten Zugriff auf über 16 Millionen Farben, dies wird als „True Color“-Modus bezeichnet.

Wenn die an der Palette vorgenommenen Änderungen scheinbar keine Wirkung haben, besteht der angezeigte Inhalt vermutlich aus solchen erweiterten Palettenfarben oder Echtfarben und nicht aus den 16 Grundfarben.


VERWENDUNG VON DIRCOLORS

Und so funktioniert es:

a)  Run  $ dircolors -p >/etc/DIR_COLORS   # to produce DIR_COLORS template file

b)  Hand edit /etc/DIR_COLORS to adjust ANSI color codes that will be output
    for various things to display.  For example, any filenames like *.png can 
    request a particular ANSI color combination.  (ANSI color codes are escape
    prefixes.)

c)  Run dircolors again, this time in both 
       /etc/profile       (for logins)           and
       /etc/bash.bashrc   (for terminal windows)
    to read DIR_COLORS and create and export the LS_COLORS 
      environment variable, like this:

        $ eval "$(dircolors -b /etc/DIR_COLORS)"

Ich rufe dircolorsfrüh in meinem auf /etc/profile, wo ich es zum Festlegen und Exportieren verwende LC_COLORS.

# === Create DEFAULT LS_COLORS ENVIRONMENT VARIABLE ===========================
# /etc/DIR_COLORS is a data file from:  $ dircolors -p > /etc/DIR_COLORS
eval "$(dircolors -b /etc/DIR_COLORS)"      # This reads /etc/DIR_COLORS 
# and then runs these two commands:   
#
#   $ LS_COLORS=...     # <-- where this value is created from /etc/DIR_COLORS
#   $ export LS_COLORS

$ bash --loginAls Referenz finden Sie ganz unten in dieser Antwort , wie ich Farben in verschiedenen Befehlen in /etc/profile aktiviere (das bei jedem Login gelesen wird (einschließlich )).

Beachten Sie, dass es einige Ordner und Dateien mit umgekehrter Darstellung gibt, die komisch angezeigt werden ls(z. B. DOS-Sicherungsdateien). Keine Manipulation im GNOME-Terminal (siehe unten) scheint diese Farben zu beeinflussen. Sie können jedoch die von verwendeten DIR_COLORS bearbeiten dircolors(siehe Hinweise oben), um die Dinge mit LS_COLORS anzupassen.

Bildbeschreibung hier eingeben


TIPPS ZUM ANPASSEN DER FARBEN IHRES EIGENEN SYSTEMS

Wählen Sie im GNOME-Terminalmenü Edit| Preferences. Wählen Sie im linken Bereich das Profil aus, das Sie anpassen möchten, und wählen Sie im rechten Bereich die ColorsRegisterkarte.

!! BEVOR SIE FORTFAHREN, EMPFEHLE ICH IHNEN DRINGEND, EINE SICHERUNGSKOPIE IHRER VORHANDENEN EINSTELLUNGEN ZU ERSTELLEN. Ein Screenshot reicht vollkommen aus. Siehe unten meinen Screenshot.

Kurz zusammengefasst- Wenn Sie dieses Kontrollkästchen nicht aktivieren möchten: Bildbeschreibung hier eingeben

die grundlegendsten Vorgabewerte verwenden möchten, stattdessen aber einen schwarzen Arbeitshintergrund mit farbigen bash, vim, grep, ls, ... Apps haben möchten, versuchen Sie, Ihre Farben folgendermaßen einzustellen:

Bildbeschreibung hier eingeben

Ich fand diesen Farbdialog zunächst etwas verwirrend, aber wenn man ihn einmal verstanden hat, ist er logisch. Das größte Problem ist, dass alle meine Text-Apps dieselbe Farbpalette haben, diese aber etwas unterschiedlich verwenden, insbesondere ls.

Hier sind die genauen Farben, die ich verwende:

black           aqua            green           orange          light yellow    purple          blue, primary   gray (X)        <-- X=Don't care
#000000         #01B9E0         #389400         #FF8A00         #F4FF92         #C401C4         #005EEA         #AAAAAA
0               1               2               3               4               5               6               7
------------    ------------    ------------    ------------    ------------    ------------    ------------    ------------    <-- 1st set are     "normal   colors"

------------    ------------    ------------    ------------    ------------    ------------    ------------    ------------    <-- 2nd set are the "brighter colors" (for check box below)
8               9               10              11              12              13              14              15
#555555         #FF5555         #55FF55         #FFFF55         #5397FE         #FF55FF         #55FFFF         #D6D6D6
dark gray (X)   red/orange      lime            yellow (X)      blue, medium    pink            aqua, bright    light gray (X)  <-- X=Don't care

VERSTEHEN DES DIALOGS „EINSTELLUNGEN – PROFIL“ IM GNOME-TERMINAL

Die oberen und unteren Abschnitte ( Text and Background Colorund Palette) scheinen fast vollständig unabhängig voneinander zu funktionieren, mit der Ausnahme, dass die PaletteAuswahlen eine Ebene über den oberen Einstellungen in liegen (d. h. diese weiter ändern) Text and Background Color. (Auch wenn Use colors from system themeaktiviert ist, Show bold text in bright colorsist unten immer noch etwas wichtig, zumindest für ls.)


Lassen Sie uns zunächst die Einstellungen ändern Text and Background Color.

Diese bestimmen die Standardfarben für grundlegende, nicht spezielle Textund BackgroundFarben. Sie können auch optionale Modifikatoren für Boldoder HighlightText und für eine feste Cursorfarbe auswählen, wenn Sie das möchten, beispielsweise könnte leuchtendes Orange manche Leute glücklich machen.

Das Use colors from system themeKontrollkästchen scheint zu entscheiden, ob Sie Farbeinstellungen übernehmen oder selbst definieren möchten. Wenn Sie es deaktivieren, können Sie aus dem Pulldown-Menü ein integriertes oder benutzerdefiniertes Schema auswählen.

Ihre Auswahl wird in die Textund BackgroundFarbfelder unten eingefügt, mit Ausnahme von Custom.

Beachten Sie, dass Ihre Auswahl hier keine Auswirkungen auf die anderen drei Kontrollkästchen darunter hat.

TextBeachten Sie auch, dass, wenn Sie zuerst auf das oder das Farbfeld klicken Background, ein Farbwähler angezeigt wird. Sobald Sie Selectdarin eine Auswahl treffen, wird das Built-in schemesPulldown-Menü auf „Benutzerdefiniert“ eingestellt.

Wenn Sie Bold coloreine Farbe aktivieren und festlegen, wird Text, der von einem Programm als fett gekennzeichnet ist, durch diese Farbe überschrieben.

Wenn Sie das Kontrollkästchen aktivieren Cursor color, können Sie feste Farben für Ihren Cursor auswählen. (Beachten Sie, dass Sie den Cursor über den Text bewegen müssen, um die Änderung zu sehen.) Wenn diese Option nicht aktiviert ist, scheint die Farbe des Cursors je nach Textfarbe zu variieren.

Wenn Sie ein Häkchen setzen Highlight color, sehen Sie die Wirkung dieser beiden Farbfelder beispielsweise in vim, wenn Sie mit der Maus einen Text kopieren.


Jetzt ist es Zeit, die Einstellungen zu ändern Palette.

Ähnlich wie oben fügt das Pulldown-Menü eine Reihe von Farben in die darunterliegenden Farbfelder ein. Sie werden feststellen, dass es zwei Reihen mit je 8 Farben gibt. Diese Farbfelder überschreiben die 8 ANSI-Vordergrund- und 8 Hintergrundfarben, die von terminfo festgelegt wurden.

Wichtig zu sehen ist, dass Sie diese Farbfelder auf subtile Farbvariationen einstellen können.

Außerdem wirken sich hier vorgenommene Änderungen auf alle oder die meisten Ihrer textbasierten Programme aus, bei denen Farbe aktiviert ist. Seien Sie hier also vorsichtig. (Ich kann Ihnen nicht sagen, wie Sie dies zuerst sichern, weil ich es noch nicht weiß. Machen Sie zumindest einen Screenshot.)

Obwohl ich nicht weiß, wozu all diese Farbmuster dienen, habe ich durch einige Experimente Folgendes herausgefunden.

Bevor Sie mit dem Testen beginnen, öffnen Sie ein paar Dinge von GNOME Terminal: eine vimCodebearbeitungssitzung von bash, eine weitere von c, eine lsvon Ihrem Home-Verzeichnis, einen treeLauf und eine tmuxSitzung. Wenn Sie die Dinge unten ändern, können Sie besser sehen, was sich ändert.

Versuchen Sie zunächst, kleine Änderungen vorzunehmen. Und achten Sie darauf, das Kontrollkästchen unten zu aktivieren und zu deaktivieren (weiter unten erläutert).

Vorsicht:Wenn Sie die Paletteauf einstellen Customund dann die 16 Farbfelder wie von mir vorgeschlagen manuell einrichten, seien Sie vorsichtig, denn wenn Sie erneut etwas anderes in auswählen , werden Ihre vorherigen Einstellungen Built-in schemes:gelöscht , und wenn Sie dies erneut tun möchten , müssen Sie ganz von vorne beginnen, was mühsam ist. (Es scheint keine Möglichkeit zu geben, Ihre benutzerdefinierten Farbeinstellungen zu speichern, außer mit einem Screenshot oder indem Sie sie einzeln aufschreiben.)PaletteCustom

Built-in schemes: Custom-- Color palette:Einstellungen

tmux    status text                     status-backgr
tmux vi                 literals                        flow (orange)   comments&fcns   $names          var  names      ?
vi C    -               literals        types           flow (brown)    comments&fcns   macros          -               ?
vi Bash -               literals        -               flow (brown)    comments&fcns   Environ         var  names      ?               flow: brown (can't change with gnome)
Bash    -                               user@dir $
Bash ls -                               Reverse-backg                   Reverse-foregr
gcc

        black           aqua            green           orange          dark yellow    purple          blue, primary   gray (X)        <-- X=Don't care
        #000000         #01B9E0         #389400         #FF8A00         #C6CF76         #C401C4         #005EEA         #AAAAAA
        0               1               2               3               4               5               6               7
        ------------    ------------    ------------    ------------    ------------    ------------    ------------    ------------    <-- 1st set are     "normal   colors"

        ------------    ------------    ------------    ------------    ------------    ------------    ------------    ------------    <-- 2nd set are the "brighter colors" (for check box below)
        8               9               10              11              12              13              14              15
        #555555         #FF5555         #55FF55         #FFFF55         #5397FE         #FF55FF         #55FFFF         #D6D6D6
        dark gray (X)   red/orange      lime            yellow (X)      blue, medium    pink            aqua, bright    light gray (X)  <-- X=Don't care

tmux    ?                                               ?                                                               ?
tmux vi ?                                               ?                                                               ?
vi C    ?                                               ?                                                               ?
vi Bash ?                                               ?                                                               ?
Bash    ?               root@dir #                      ?                                                               ?
Bash ls ?                               x.sh            ?               directories     media files     links           ?
gcc     ?               errors                          ?                                                               ?

Ganz unten gibt es schließlich das Show bold text in bright colorsKontrollkästchen. In der GNOME-Hilfe heißt es:

Helle Farben für fetten Text

Bisher haben Terminals fette Schriftstärke und intensive Farben nicht klar voneinander getrennt, oft wurden beide zusammen aktiviert. Neuere Verbesserungen, wie die Einführung von True Color-Unterstützung und bestimmte Farbschemata (z. B. Solarized), machten es wünschenswert, die beiden Konzepte zu trennen, d. h. die Helligkeit unabhängig von der Schriftstärke zu machen.

...

Disable Show bold text in bright colors for the new default behavior, the complete separation of color intensity and font weight;

oder aktivieren Sie diese Option für eine verbesserte Abwärtskompatibilität.

Wenn diese Option aktiviert ist, werden die in den oberen Zeilen angezeigten Farben übernommen und stattdessen die Farben der unteren Zeile angezeigt. Wenn Sie dies aktivieren, werden Sie feststellen, dass lssich die Farben einiger der Namen von ein wenig ändern. Ich denke, es hängt mit den ISO 6429-Farbsequenzen Nr. 1 zusammen, „für hellere Farben“ in . Es scheint, als ob dies hauptsächlich und nicht $ man dir_colorsbetrifft .lsvim


WIE SEHEN DIE FARBEN AUS DEN EINGEBAUTEM SCHEMEN AUS?

Als die built-in schemesgetestet wurden mit dem hier beschriebenen Farbtest-DienstprogrammIch sehe folgende Ergebnisse (Tipp: Kompilieren und hiermit verknüpfen $ gcc -Wall -lcurses color-demo.C):

Beachten Sie dasShow bold text in bright colorsDas Kontrollkästchen ist aktiviert. Wenn es nicht aktiviert ist, sind die Farben mit hoher und niedriger Intensität gleich.

  • Linux console(scheint der ursprüngliche CGI-Farbsatz zu sein):

Bildbeschreibung hier eingeben

  • xterm:

Bildbeschreibung hier eingeben

  • rxvt(nicht in der richtigen Reihenfolge, da dies den obigen näher kommt):

Bildbeschreibung hier eingeben

  • Tango(nicht in der richtigen Reihenfolge, da dies unten näher an Solarized liegt):

Bildbeschreibung hier eingeben

  • Solarized:

Bildbeschreibung hier eingeben


WIE KONFIGURIERE ICH MEINE BEFEHLE, SO DASS SIE IN FARBE ANGEZEIGT WERDEN?

In Ihrem /etc/.bashrc.shared(aufgerufen von ~/.bashrcund /root/.bashrc), oder wenn Sie das nicht in Ihrem ~/.bashrcund haben /root/.bashrc:

# === ADD COLOR UNLESS DUMB TERMINAL ========================================
if [ "$TERM" != "dumb" ]; then
    # ENVIRONMENT: 
    #   You can turn off these colorizing aliases in the interactive environment by invoking 
    #       shell with  TERM="dumb bash".
    
    #   Assume LS_COLORS is already set by dircolors in /etc/profile.  It can be adjusted later.
    
    # Using color to distinguish file types is disabled both by default and with --color=never.  
    #   With --color=auto, ls emits color codes only when standard output is connected to a terminal.  
     export COLOR_MODE='--color=auto'


    #   The use of  alias  limits color effects to the interactive command usage. 
    #       It has advantage over exporting environment variable "export COLOR_MODE='--color=auto'" 
    #       since color can be seen under pager programs such as less(1). If you wish to suppress 
    #       color when piping to other programs, use "--color=auto" instead in the above example 
    #       for "~/.bashrc".
    #       !! NOTE - alias is very picky about extra spaces around = sign

    # --- grep
    # Surround the matched (non-empty) strings, matching lines, context lines, file names, 
    #   line numbers, byte offsets, and separators (for fields and groups of context lines) 
    #   with escape sequences to display them in color on the terminal.  
    #   The colors are defined by the environment variable GREP_COLORS, (plural).
    #       See grep man page for GREP_COLORS instructions.
     alias  grep=' grep ${COLOR_MODE}'
     alias egrep='egrep ${COLOR_MODE}'
     alias fgrep='fgrep ${COLOR_MODE}'
     alias zgrep='zgrep ${COLOR_MODE}'

    # --- ls ------------------------
     alias ls='ls ${COLOR_MODE}'

    #   These next two use the ls alias above, i.e. the first one below is really 'ls ${LS_OPTS} -l'
     alias ll='ls -l'                   # -l = long
     alias  l='ls -lA'                  # -A = amost all (.*, but not . nor ..)

    # --- tree ----------------------
     alias tree='tree -C'               # -C adds color to tree

    # --- less ----------------------
     alias  less='less -R'              # Output raw control chars for ANSI colors

    # --- man -----------------------
    # ref: http://www.tuxarena.com/2012/04/tutorial-colored-man-pages-how-it-works/
    #   NOTE these seem to use TERMCAP which is obsolite.
    # ANSI "color" escape sequences are sequences of the form:      ESC [ ... m
        export LESS_TERMCAP_mb=$(printf '\e[01;31m')        # enter blinking            mode
        export LESS_TERMCAP_md=$(printf '\e[01;38;5;75m')   # enter double-bright       mode
        export LESS_TERMCAP_me=$(printf '\e[0m')            # turn off all appearance   modes (mb, md, so, us)

        export LESS_TERMCAP_so=$(printf '\e[01;33m')        # enter standout            mode
        export LESS_TERMCAP_se=$(printf '\e[0m')            #  leave standout           mode

        export LESS_TERMCAP_us=$(printf '\e[04;38;5;200m')  # enter underline           mode
        export LESS_TERMCAP_ue=$(printf '\e[0m')            #  leave underline          mode

fi

Antwort3

Woher nimmt der Befehl dircolors --print-databasedie Einstellungen, wenn keine Datei vorhanden ist?

Gemäß derHandbuch, es verwendet eine vorkompilierte Datenbank, wenn keine Datei vorhanden ist.

Wenn eine Datei angegeben ist, liest dircolors sie, um zu bestimmen, welche Farben für welche Dateitypen und -erweiterungen verwendet werden sollen. Andernfalls wird eine vorkompilierte Datenbank verwendet. Einzelheiten zum Format dieser Dateien erhalten Sie, indem Sie ' dircolors --print-database' ausführen.

Um die Einstellungen für alle zu ändern, können Sie eine /etc/dircolorsDatei erstellen und Folgendes hinzufügen /etc/bashrc:

d=/etc/dircolors
test -r $d && eval "$(dircolors $d)"

Antwort4

Linux legt die Hintergrundfarben der Konsole mit Dircolors fest:

Ihre Datei „dircolors“ steuert die Farben für Wörter, die über „ls“ auf der Konsole angezeigt werden. Suchen Sie diese .dircolorsDatei für Ihre Distribution, ein Link zur Hilfe:

http://www.linuxfromscratch.org/blfs/view/svn/postlfs/profile.html

Für mich unter Fedora 17 ist meine Dircolors-Datei:/etc/DIR_COLORS

/etc/DIR_COLORSIn Ihr Verzeichnis kopieren /home/el/.dircolors. Erstellen Sie es, falls es nicht existiert.

Bearbeiten Sie /home/el/.dircolors und suchen Sie nach dem Text „dir“.

Ändere das:

DIR 01;34   # directory

Hierzu:

DIR 01;36   # directory

Speichern und schließen Sie die Shell und starten Sie sie neu. Die Verzeichnisse wechseln von dunkelblau auf schwarz (unlesbar) zu hellblau auf schwarz (lesbar).

verwandte Informationen