Wie ändere ich das Farbschema in Bash unter Ubuntu für Windows?


Antworten:


28

Dies ist auch eine schöne und einfache Lösung von https://medium.com/@iraklis/fixing-dark-blue-colors-on-windows-10-ubuntu-bash-c6b009f8b97c :

Hänge dies an .bashrc:

LS_COLORS='rs=0:di=1;35:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS

PS1='\e[37;1m\u@\e[35m\W\e[0m\$ ' # this will change your prompt format

Und ich fand das auch nützlich für die Lesbarkeit von vim:

echo "set background=dark" >> .vimrc

4
Aber es erklärt nicht, was diese Parameter sind. Da ich verschiedene Farben festlegen möchte, ist dies nur durch Ausprobieren sinnvoll.
Aaron Bramson

1
Wie lautet die Definitionssyntax dieser Farben? Wie können Sie beispielsweise die Farbpalette für Verzeichnisse ändern? Und für andere Sachen, die hier definiert sind?
xor

14

Das Problem ist nicht spezifisch für Bash auf Ubuntu für Windows, da das Terminal weiterhin von bereitgestellt wird conhost.exe.

Um die Farben zu ändern, können Sie in die Standardeinstellungen gehen :

Bildbeschreibung hier eingeben

Und dann können Sie auf jede einzelne Farbe klicken und sie in eine andere Farbe ändern.

Bildbeschreibung hier eingeben

Der Vorgang ist etwas verwirrend, da Sie durch Klicken auf ein Farbrechteck die Auswahl des Bildschirmhintergrunds ändern . Sie müssen also zuerst diese Auswahl ändern, die Farbe anpassen und dann die Auswahl wieder auf die gewünschte Hintergrundfarbe zurücksetzen.

Insgesamt ist es einfacher, ein anderes Terminal oder einen anderen Konsolenemulator zu verwenden. Ich persönlich benutze jetzt ConEmu , mit dem Sie Farbschemata viel einfacher ändern können.


1
Das Setzen Screen Textvon Schwarz (0,0,0) und Screen Backgroundeiner Art Hellgelb (255,255,150) hat bei mir ziemlich gut funktioniert. Siehe Beispiel-Screenshot .
Yibo Yang

4
Das Terminal wird und wurde noch nie von cmd.exe bereitgestellt. Die Konsole wurde direkt von csrss von NT über XP und dann von conhost.exe seit Vista bereitgestellt. Bash läuft direkt über conhost und berührt cmd nie.
Bob

@YiboYang In der Nähe Ihres Vorschlags gibt es (255, 255, 221), das Thema "Schwarz auf Hellgelb" vom Gnome-Terminal.
Yamaneko

3

Ich glaube nicht, dass Sie mit der Benutzeroberfläche alle ANSI-Farben ändern können. Sie müssen sie über die Registrierung bearbeiten.

Unter https://github.com/neilpa/cmd-colors-solarized gibt es bereits ein Solarized-Dark-Thema, das recht gut funktioniert

(Zum Aktivieren das Konsolenfenster schließen / öffnen)


3

Gleiche Lösung wie die anderen mit weiteren Erklärungen für Leute wie mich ( https://medium.com/@iraklis/fixing-dark-blue-colors-on-windows-10-ubuntu-bash-c6b009f8b97c )

cd /home/<user>
ls -a

Sie sollten eine .bashrc finden und eine BU erstellen

cp .bashrc .bashrcBU

2 Zeilen hinzufügen

echo "LS_COLORS='rs=0:di=1;35:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';" >> .bashrc
echo "export LS_COLORS" >> .bashrc

vor änderung vim hintergrund auch richtig sehen

echo "set background=dark" >> .vimrc

Beenden und neu starten

Sie haben dann immer noch den Pfad im Namen mit dieser seltsamen blauen Farbe. Sie können dies über PS1 ändern. Hier die Quelle ( https://apple.stackexchange.com/questions/219125/ist-es-auf-dem- Weg- der- Schriftfarbe- der-aktuellen- Pfad-interne )

echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$

Durch mir die balise [\ 033 [01; 34m] * [\ 033 [00m] ist die blaue Farbe , damit ich die Farbe in rosa ändern [\ 033 [01; 34m] * [\ 033 [00m] . PS1 überschreiben

@BEARBEITEN:

Sie könnten es auf diese Weise tun, aber es wird nicht dauerhaft sein, und diese Variable wird am Ende der Sitzung gelöscht.

PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[00m\]\w\[\033[00m\]\$'

Um es dauerhaft zu machen, müssen Sie es in eine Datei schreiben, die zu Beginn einer Sitzung geladen wird, wie das Präzedenzfall .bashrc.

echo "PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;35m\]\w\[\033[00m\]\$'" >> .bashrc

3

2019 Lösung:

Mit dem offiziellen ColorTool von Microsoft können Sie das Gesamtfarbschema ändern, ohne jede Farbe einzeln einstellen zu müssen.

Laden Sie einfach die zip-Datei herunter (suchen Sie Color Tool <Month> <Year>unter Releases ) und extrahieren Sie das Tool in einen beliebigen Ordner. Führen Sie es dann von Ihrem heftigen Schlag aus:

# run in wsl bash (or any other windows terminal)
# note that -x is required for wsl
./ColorTool.exe -x <scheme name>

# for the change to have permanent effect go to properties and click ok

Sie können dann problemlos andere Farbschemata im iTerm-Format importieren, indem Sie eine .itermcolorsDatei in den schemesOrdner des ColorTools legen.


1

Sie können die Farbanpassung von Windows Cmd verwenden, um boW anzupassen. Klicken Sie einfach auf das kleine Ubuntu-Symbol in der oberen rechten Ecke und klicken Sie auf Eigenschaften.

Um die Eingabeaufforderung anzupassen, können Sie auch verwenden

export PS1="\e[0;31m[\u@\h \W]\$ \e[m "

Das ändert nur die Eingabeaufforderung in rot und so weiter.

Daher scheinen Farben auf boW gut zu funktionieren. Die oben genannten Sites funktionieren nicht, da sie Konfigurationsdateien für bestimmte Terminalemulatoren erstellen, aber es ist nur cmd hier.


2
Über das Dialogfeld "Eigenschaften" kann ich die Vordergrund- und Hintergrundfarbe festlegen, nicht jedoch das Farbschema. Es sei denn, ich vermisse hier etwas.
Der Hochstapler

2
Okay, Sie können das Farbschema auf diese Weise anpassen. Sie müssen eine Farbe aus der Palette auswählen, das RGB anpassen, dann zur nächsten wechseln und schließlich die gewünschte Hintergrundfarbe erneut auswählen. Ihre Antwort hätte etwas klarer sein können
Der Hochstapler

0

Auf der Suche nach einer Lösung fand dieser SuperUser-Beitrag dann diesen Beitrag von MS Understanding Windows Console Host Settings

Im Grunde genommen werden alle Einstellungen in der Verknüpfungsdatei selbst gespeichert, wenn sie im Startmenü / in der Taskleiste "Angehängt" erstellt werden. Welches kann dann durch Ändern der Eigenschaften geändert werden.

Alles, einschließlich der Farben, kann im Registrierungseintrag [HKEY_CURRENT_USER \ Console \ Git Bash] unter Verwendung der im MS-Post beschriebenen Eigenschaften angepasst werden. Um die Änderung zu realisieren, muss bash.exe direkt ausgeführt werden, indem "C: \ Windows \ System32 \ bash.exe" ausgeführt wird msgstr "über Windows + R, um Windows zu zwingen, die Konfiguration nach den Registrierungseinträgen nicht mehr einzulesen.

Wenn Sie mit der Konfiguration zufrieden sind, erstellen Sie neue Verknüpfungen in der Startleiste und in der Pin-to-Taskleiste (falls Sie das möchten).

Ein Argument dafür ist, dass umfassende Änderungen durch die .reg-Datei einfacher zu verwalten sind (z. B. ein neues Farbschema ausprobieren?) Als durch mühsames Vornehmen und Speichern von Änderungen an einer Verknüpfungsdatei.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.