ฉันจะเปลี่ยนสีของข้อความสีน้ำเงินในบรรทัดคำสั่งของฉันได้อย่างไร


11

ฉันรู้ว่าคำถามนี้ถูกถามหลายครั้ง แต่ฉันไม่พบคำตอบสำหรับคำถามอื่น ๆ

นี่ภาพเพื่อแสดงจุดของฉัน:

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

คุณสามารถอ่านเส้นสีน้ำเงินได้หรือไม่โดยไม่ต้องหรี่ตา? ไม่มี? ฉันก็ไม่เหมือนกัน.

ฉันกำลังใช้งานเพลย์บุ๊คที่สามารถเล่นได้ในโหมด verbose เต็มรูปแบบและจำเป็นต้องอ่านบันทึกเหล่านั้นด้วย playbook ที่มีมากกว่า 50 ภารกิจ

ใครสามารถอธิบายได้ว่าฉันจะเปลี่ยนสีเหล่านั้นได้อย่างไร

คำถามที่ฉันดูที่ฉันไม่ได้คิดวิธีแก้ปัญหา:


2
สีฟ้าเหนือพื้นหลังจะมองเห็นได้แม้ว่าในกรณีนี้จะไม่เป็นเช่นนั้น อย่าพยายามใช้เปลือกหนีเพื่อเปลี่ยนสี คุณต้องกำหนดค่าblue colorในเทอร์มินัลอีมูเลเตอร์ของคุณเพื่อให้มองเห็นได้ชัดเจนขึ้น
grochmal

@ grochmal ขอบคุณสำหรับการป้อนข้อมูล ฉันจะทำสิ่งนั้นได้อย่างไร มันเป็น LS_Colors หรือด้วย tput หรือ ..... ?
Joze

คุณใช้เทอร์มินัลอีมูเลเตอร์ใด?
Derobert

@derobert Kitty
Joze

1
halyph.blogspot.com/2013/01/custom-puttykitty-color-scheme.html ... ดูเหมือนว่าคุณควรมีรายการการตั้งค่าเพื่อเปลี่ยนสี (จริงๆอาจเป็นหัวข้อที่นี่อย่างน้อยถ้าแก้ไขการกำหนดค่า KiTTY กลายเป็นคำตอบ)
Derobert

คำตอบ:


2

ไม่, ไม่สามารถอ่านสีน้ำเงินบนสีดำได้ (และอายุการใช้งานสั้นเกินไปที่จะเล่นซอกับการปรับแต่งสีในทุก ๆ เทอร์มินัลหรือคอนโซลรวมกันที่ฉันอาจใช้) ดังนั้นฉันจึงปิดการใช้งานสีตามค่าเริ่มต้น ด้วยxtermการ.Xdefaultsเข้ามาของ:

XTerm*colorMode:false

ทำสิ่งมหัศจรรย์; มิฉะนั้นหากไม่มีวิธีการฆ่าสีในเครื่องเทอร์มินัลอาจจำเป็นต้องแฮ็กเฉพาะแอปพลิเคชัน kluge อย่างรวดเร็วคือการใช้เชลล์ฟังก์ชั่นและไพพ์เอาท์พุทcatที่ตัดการเชื่อมต่อansibleจากเทอร์มินัลและอาจทำให้สีไม่เป็นสแปม:

function ansible-playbook {
    command ansible-playbook "$@" | cat
}

kluge อื่นก็คือการทำTERMเช่นกับTERM=vt220 ansible-playbook ...( เช่นนี้มีแนวโน้มที่จะทำงานบนระบบเก่า แต่อนิจจาสแปมสีมีอยู่TERM=vt220ในระบบที่ทันสมัยและการเปลี่ยนแปลงTERMโดยไม่ทราบว่าคุณกำลังเข้าสู่อาจเป็นความคิดที่ไม่ดี)

แต่! จาก spelunking ภายใต้ansibleแหล่งที่มา ansible จะไม่บั๊กและให้ANSIBLE_NOCOLOR=1ตัวแปรสภาพแวดล้อม:

ANSIBLE_NOCOLOR=1 ansible-playbook ...

1
OP ไม่ใช้ xterm ดังนั้นคำตอบนี้ไม่มีประโยชน์
Thomas Dickey

1
@ThomasDickey โปรดอธิบายโดยละเอียดว่าANSIBLE_NOCOLOR=1 ansible...ไม่มีประโยชน์กับคอนโซลอย่างไร
thrig

13

คุณสามารถระบุสีที่จะใช้ใน ansible (อย่างน้อยคุณสามารถทำได้กับ ansible 2.3.1.0) เปิด ansible.cfg และไปที่ส่วนที่ระบุว่า [สี] คุณควรเห็นบางสิ่งเช่นนี้

[colors]
#highlight = white
#verbose = blue
verbose = green
#warn = bright purple
#error = red
#debug = dark gray
#deprecate = purple
#skip = cyan
#unreachable = red
#ok = green
#changed = yellow
#diff_add = green
#diff_remove = red
#diff_lines = cyan

เพียงยกเลิกหมายเหตุประเภทข้อความที่คุณต้องการเปลี่ยนและระบุสีที่คุณต้องการ


3

แอปพลิเคชั่นส่วนใหญ่ใช้สี 16 สี (สีเข้ม 8 สีและสีสดใส 8 สี) ที่รู้จักกันในชื่อสี ANSIเพราะนั่นเป็นตัวหารร่วมที่ได้รับการสนับสนุนโดยเกือบทุกเทอร์มินัล มาตรฐาน ANSI ไม่ได้ระบุเฉดสีที่แน่นอนเพียงแค่บอกว่า "สีดำ", "สีน้ำเงิน", "สีแดง" ฯลฯ เฉดสีฟ้าเริ่มต้นมักจะเป็นสีฟ้าบริสุทธิ์ที่ยากต่อการอ่านบนพื้นหลังสีดำบนจอภาพ RGB แต่ตัวเลียนแบบเทอร์มินัลที่ดีช่วยให้คุณกำหนดค่าสีได้ การเพิ่มสีแดงและเขียวเล็กน้อยลงในสีนั้นเพียงพอที่จะทำให้อ่านได้ แต่ก็ยังแตกต่างกัน

ด้วย xterm, ฉาบและอาคารที่รองรับอื่น ๆ คุณสามารถกำหนดค่าสีจากโปรแกรมประยุกต์ที่ทำงานภายในอาคารผู้โดยสารที่โดยการเปล่งเหมาะสมลำดับหนี ลองใช้วิธีนี้ในเทอร์มินัลก่อนที่คุณจะเริ่มแอปพลิเคชัน:

## Set the blue hue (color 4) to CornflowerBlue
printf '\e]4;4;#6495ed\a'

ถ้าคุณเรียกใช้ทุบตีเมื่อคุณเปิด terminal, .bashrcใส่นี้ในของคุณ หากแอปพลิเคชันที่เข้าใจได้เปิดเทอร์มินัลด้วยตนเองให้พิมพ์แอพพลิเคชั่น escape นี้ไปที่เทอร์มินัล

อีกวิธีหนึ่งเทอร์มินัลจำนวนมากช่วยให้คุณสามารถกำหนดค่าสีในการกำหนดค่าของพวกเขาเช่นผ่านแหล่งข้อมูล X ใน Xterm ตรวจสอบเอกสารประกอบของเทอร์มินัลอีมูเลเตอร์ของคุณ


ตรงไปที่ไฟล์. bashrc ของฉัน
lsh

3

หากคุณใช้สีโป๊วเป็นลูกค้า ssh คุณสามารถเปลี่ยนการตั้งค่าลักษณะที่ปรากฏได้

เปลี่ยนการตั้งค่า -> หน้าต่าง -> สี ในกล่องชื่อ 'เลือกสีที่ต้องการปรับ:' เลือก 'ANSI Blue' เพื่อเปลี่ยนสี


ยินดีต้อนรับสู่ Unix.stackexchange! ผมขอแนะนำให้คุณใช้เวลาทัวร์
Stephen Rauch

ขอบคุณมันแก้มันให้ฉัน!
parsecer

1

เอกสารอย่างเป็นทางการวิธีการเปลี่ยนแต่ละสีใน ansible สามารถพบได้ที่นี่: https://docs.ansible.com/ansible/latest/reference_appendices/config.html

หากใช้พื้นหลังสีดำเป็นส่วนใหญ่เอาต์พุตสีน้ำเงินที่ไม่สามารถอ่านได้

ฉันใช้สิ่งนี้ใน ansible.cfg

[colors]
verbose: bright blue
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.