Bash na Ubuntu w systemie Windows: Nie można zmienić (niektórych) kolorów katalogu

9

W nowej aplikacji Bash on Ubuntu na Windows (10) próbowałem zmienić kolory katalogu z niebieskiego na coś bardziej widocznego, ale z jakiegoś powodu nie byłem w stanie zmienić niektórych kolorów plików / katalogów. Jak zmienić wszystkie kolory katalogu / pliku? Mój plik .bashrc jest obecnie ustawiony tak, aby wyświetlał monit koloru w pliku i katalogu, aby kolory były zielone i inne jasne kolory. Ustawienia są następujące:

LS_COLORS=$LS_COLORS:'di=1;31:fi=0;31;bd=0;32:fi=0;33:cd=0;96';
export LS_COLORS

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[0;31m\]\u@\h\[\033[0,31m\]:\[\033[0;31m\]\w\[\033[0,31m\]\$ '

Niektóre pliki i foldery zmieniły kolory odpowiadające mojemu plikowi .bashrc, ale inne nie z jakiegoś powodu.

Niektóre przykładowe zrzuty ekranu: wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Siergiej Wallace
źródło

Odpowiedzi:

9

Kiedy ls -l wyświetla pliki Windows poza wsl, inne zapisywalne powoduje zielone tło. Jak powiedział Schmendrick van der Distel, stwórz dircolors w swoim katalogu domowym. Następnie zmień STICKY_OTHER_WRITABLE i OTHER_WRITABLE jak poniżej, aby usunąć tło.

dircolors -p > ~/.dircolors

Zmień .dircolors na następujące wartości:

STICKY_OTHER_WRITABLE 31;00 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 31;00 # dir that is other-writable (o+w) and not sticky

Uruchom ponownie bash

Sam Inverso
źródło
3

Miałem ten sam problem i rozwiązałem go w następujący sposób:

W moim ~/.bashrcpliku znalazłem linie:

test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'

Ponieważ nie znalazłem żadnego pliku o nazwie .dircolorsw moim katalogu domowym, wyeksportowałem standardową konfigurację za pośrednictwemdircolors -p > ~/.dircolors

Teraz zmieniłem linię DIR 01;36 # directoryna DIR 01;34 # directory(zmieniłem kolor z niebieskiego na błękitny), zapisałem plik i ponownie uruchomiłem BashonWindows.

Mam nadzieję, że to pomoże

Schmendrick van der Distel
źródło
1

Inną opcją (lub jedyną, która naprawdę dla mnie działała) jest instalacja motywu solarized-dark z https://github.com/neilpa/cmd-colors-solarized

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

laktak
źródło
Działa to również powłoka bash? Link mówi tylko o PowerShell.
Jagannath,
@Jagannath zmienia kolory okna konsoli używanego przez Bash, a także PowerShell i Cmd.
laktak