Jak zmienić schemat kolorów w bash na Ubuntu dla Windows?

Odpowiedzi:

28

Jest to również miłe i łatwe rozwiązanie od https://medium.com/@iraklis/fixing-dark-blue-colors-on-windows-10-ubuntu-bash-c6b009f8b97c :

Dołącz to do .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

Uznałem to również za przydatne dla czytelności vima:

echo "set background=dark" >> .vimrc
Guillermo González de Garibay
źródło
4
Ale to nie wyjaśnia, jaki jest którykolwiek z tych parametrów. Ponieważ chcę określić różne kolory, nie jest to tak naprawdę przydatne, z wyjątkiem prób i błędów.
Aaron Bramson
1
jaka jest składnia definicji tych kolorów? Na przykład, jak zmienić paletę kolorów dla katalogów? A dla innych zdefiniowanych tutaj rzeczy?
xor
14

Problem nie jest specyficzny dla bash na Ubuntu dla Windows, ponieważ terminal jest nadal dostarczany przez conhost.exe.

Aby zmienić kolory, możesz przejść do ustawień domyślnych :

wprowadź opis zdjęcia tutaj

Następnie możesz kliknąć każdy kolor i zmienić go na inny kolor.

wprowadź opis zdjęcia tutaj

Proces ten jest nieco mylący, ponieważ klikając kolorowy prostokąt, zmieniasz to, co jest zaznaczone jako tło ekranu . Więc najpierw musisz zmienić ten wybór, dopasować kolor, a następnie zmienić wybór z powrotem na pożądany kolor tła.

Ogólnie rzecz biorąc, łatwiej jest po prostu wybrać inny terminal lub emulator konsoli. Teraz osobiście korzystam z ConEmu , co pozwala znacznie łatwiej zmieniać schematy kolorów.

Der Hochstapler
źródło
1
Ustawienie Screen Textkoloru czarnego (0,0,0) i Screen Backgroundjasnożółtego (255,255,150) działało dla mnie całkiem dobrze. Zobacz przykładowy zrzut ekranu .
Yibo Yang,
4
Terminal nie jest i nigdy nie był dostarczany przez cmd.exe. Konsola została dostarczona bezpośrednio przez csrss od NT przez XP, a następnie conhost.exe od Visty. Bash działa bezpośrednio przez conhost i nigdy nie dotyka cmd.
Bob
@YiboYang blisko Twojej sugestii, istnieje (255, 255, 221), czyli motyw „czarny na jasnożółtym” z terminala Gnome.
Yamaneko
3

Nie sądzę, że interfejs użytkownika pozwala zmieniać wszystkie kolory ANSI, trzeba by je edytować za pomocą rejestru.

Istnieje już motyw solarized-dark, który działa całkiem dobrze na https://github.com/neilpa/cmd-colors-solarized

(zamknij / otwórz okno konsoli, aby aktywować)

laktak
źródło
3

Takie samo rozwiązanie jak inne z kilkoma wyjaśnieniami dla osób takich jak ja ( https://medium.com/@iraklis/fixing-dark-blue-colors-on-windows-10-ubuntu-bash-c6b009f8b97c )

cd /home/<user>
ls -a

Powinieneś znaleźć .bashrc i zrobić BU

cp .bashrc .bashrcBU

dodaj 2 linie

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

przed zmianą vim również tło, aby zobaczyć poprawnie

echo "set background=dark" >> .vimrc

wyjdź i uruchom ponownie

Wciąż masz w nazwie ścieżkę o tym dziwnym niebieskim kolorze. Możesz to zmienić za pomocą PS1. Tutaj źródło ( https://apple.stackexchange.com/questions/219125/is-there-a-way-to-change-the-font-color-of-the-current-path-in-termial )

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\]\$

Według mnie balis [\ 033 [01; 34m] * [\ 033 [00m] jest kolorem niebieskim, więc zmieniam kolor na różowy [\ 033 [01; 34m] * [\ 033 [00m] . Aby zastąpić PS1

@EDYTOWAĆ:

Możesz to zrobić w ten sposób, ale nie będzie to trwałe, a ta zmienna zostanie usunięta na końcu sesji.

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

Aby było trwałe, musisz zapisać go do pliku, który zostanie załadowany na początku sesji, jak poprzedni plik .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
Dorian Grv
źródło
3

Rozwiązanie 2019:

Oficjalnego narzędzia ColorTool firmy Microsoft można użyć do zmiany ogólnego schematu kolorów bez konieczności samodzielnego ustawiania każdego koloru.

Wystarczy pobrać plik zip (wyszukaj w Color Tool <Month> <Year>sekcji Wydania ) i wypakuj narzędzie do dowolnego folderu. Następnie uruchom go z bash:

# 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

Następnie możesz łatwo importować inne schematy kolorów w formacie iTerm, umieszczając .itermcolorsplik w schemesfolderze ColorTool.

A. Frank
źródło
1

Możesz użyć dostosowywania kolorów Windows cmd, aby dostosować BoW. Po prostu kliknij małą ikonę ubuntu w prawym górnym rogu i kliknij właściwości.

Ponadto, aby dostosować monit, możesz użyć

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

co zmieni tylko monit na czerwony i tak dalej.

W związku z tym kolory wydają się dobrze działać na boW. Powyższe witryny nie będą działać, ponieważ tworzą pliki konfiguracyjne dla określonych emulatorów terminali, ale tutaj jest tylko cmd.

PulseJet
źródło
2
Okno dialogowe Właściwości pozwala mi ustawić kolor pierwszego planu i tła, ale nie schemat kolorów. Chyba że coś mi tu brakuje.
Der Hochstapler,
2
W ten sposób możesz dostosować schemat kolorów. Musisz wybrać kolor z palety, wyregulować RGB, następnie przejść do następnego, a następnie w końcu ponownie wybrać żądany kolor tła. Twoja odpowiedź mogłaby być nieco jaśniejsza
Der Hochstapler,
0

Również szukając rozwiązania, znalazłem ten post SuperUser, a następnie ten post od MS Zrozumienie ustawień hosta konsoli Windows

W zasadzie sprowadza się to do tego, że wszystkie ustawienia są zapisywane w samym pliku skrótu po utworzeniu w menu Start / Przypięte do paska zadań. Które można następnie zmienić, modyfikując właściwości.

Wszystko, łącznie z kolorami, można dostosować we wpisie rejestru [HKEY_CURRENT_USER \ Console \ Git Bash] przy użyciu właściwości opisanych w poście MS, ale aby zrealizować zmianę, bash.exe należy wykonać bezpośrednio, uruchamiając „C: \ Windows \ System32 \ bash.exe „przez Windows + R, aby zmusić Windows do zaprzestania odczytu konfiguracji po wpisach rejestru.

Po zakończeniu konfiguracji utwórz nowe linki skrótów na pasku startowym i przypnij do paska zadań (jeśli to twoja sprawa).

Argumentem przemawiającym za tym sposobem jest to, że zamiatanie zmian jest łatwiejsze do zarządzania (powiedzmy, że wypróbowano nowy schemat kolorów?) Za pomocą pliku .reg niż przez żmudne wprowadzanie i zapisywanie zmian w pliku skrótu.

Bob Smith
źródło