Bash บน Ubuntu บน Windows: ไม่สามารถเปลี่ยนสีไดเรกทอรี (บางส่วน)


9

ใน Bash ใหม่บน Ubuntu บนแอพ Windows (10) ฉันได้ลองเปลี่ยนสีไดเรคทอรีจากสีน้ำเงินไปเป็นสิ่งที่มองเห็นได้มากกว่า แต่ไม่สามารถเปลี่ยนสีของไฟล์ / ไดเรคทอรีได้ด้วยเหตุผลบางประการ ฉันจะเปลี่ยนทุกสีไดเรกทอรี / ไฟล์หรือไม่ ปัจจุบันไฟล์. bashrc ของฉันถูกตั้งค่าให้มีพรอมต์สีบนสีของไฟล์และไดเรกทอรีให้เป็นสีเขียวและสีสดใสอื่น ๆ การตั้งค่าคือ:

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

ไฟล์และโฟลเดอร์บางรายการมีการเปลี่ยนแปลงสีที่สอดคล้องกับไฟล์. bashrc ของฉัน แต่บางไฟล์ไม่ได้มีเหตุผลบางประการ

ภาพหน้าจอตัวอย่างบางส่วน: ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


9

เมื่อ ls -l แสดงไฟล์ windows นอก wsl สาเหตุอื่นที่ทำให้เกิดการเขียนทับได้พื้นหลังสีเขียว ดังที่ Schmendrick van der Distel กล่าวสร้าง dircolors ในโฮมไดเร็กตอรี่ของคุณ จากนั้นเปลี่ยน STICKY_OTHER_WRITABLE และ OTHER_WRITABLE ด้านล่างเพื่อลบพื้นหลัง

dircolors -p > ~/.dircolors

เปลี่ยน. .dircolors เป็นค่าเหล่านี้:

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

รีสตาร์ททุบตี


3

ฉันมีปัญหาเดียวกันและแก้ไขด้วยวิธีต่อไปนี้:

ใน~/.bashrcไฟล์ของฉันฉันพบบรรทัด:

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

เนื่องจากฉันไม่พบไฟล์ชื่อ.dircolorsในไดเรกทอรีบ้านของฉันฉันส่งออกการกำหนดค่ามาตรฐานผ่านdircolors -p > ~/.dircolors

ตอนนี้ฉันเปลี่ยนบรรทัดDIR 01;36 # directoryเป็นDIR 01;34 # directory(เปลี่ยนสีจากสีฟ้าเป็นสีฟ้า) บันทึกไฟล์และรีสตาร์ท BashonWindows

หวังว่ามันจะช่วย


1

ตัวเลือกอื่น (หรือเพียงอันเดียวที่ใช้งานได้จริงสำหรับฉัน) คือการติดตั้งชุดรูปแบบแสงอาทิตย์ที่มืดจากhttps://github.com/neilpa/cmd-colors-solarized

(ปิด / เปิดหน้าต่างคอนโซลเพื่อเปิดใช้งาน)


ใช้งานได้เปลือก bash เช่นกัน? ลิงค์พูดถึง powershell เท่านั้น
Jagannath

@Jagannath เปลี่ยนสีสำหรับหน้าต่างคอนโซลซึ่งใช้โดย Bash รวมถึง PowerShell และ Cmd
laktak
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.