ไม่มีสีเมื่อเรียกใช้แอปพลิเคชันเชลล์เนทิฟ windows จาก mintty


2

ฉันได้ติดตั้ง cygwin (ฉันไม่ได้มีประสบการณ์กับมันมาก) และลองเรียกใช้แอปพลิเคชันเชลล์ของ windows ดั้งเดิมจากนั้น (msbuild.exe ซึ่งเป็นเครื่องมือสร้างสำหรับ. NET Framework เป็นที่แน่นอน)

เมื่อฉันเรียกใช้แอปพลิเคชันจากเปลือก bash cygwin ปกติผลลัพธ์ของแอปพลิเคชันจะปรากฏขึ้นตามที่ควรด้วยสีข้อความที่ปกติฉันจะเห็นในบรรทัดคำสั่งของ windows

แต่เมื่อฉันรันโปรแกรมจากมินต์เทอร์มินัลไม่มีการกำหนดสีของเอาต์พุตข้อความทั้งหมดอยู่ในสีพื้นหน้าเริ่มต้น ฉันงงงวยเพราะฉันคาดว่ารหัสสีจะเป็นอักขระรหัสสีหลบหนีมาตรฐาน ANSI ...

สามารถแก้ไขได้หรือไม่


โปรแกรม Cygwin (emacs, mc) ให้สีของคุณเป็นเงินหรือไม่?
Dennis Williamson

คำตอบ:


3

แอปพลิเคชั่นส่วนใหญ่ใช้ API คอนโซลของ Windows แทนลำดับสี ANSI Mintty เป็นเทอร์มินัล Unix (อิงตามการใช้งาน pty ของ Cygwin) แทนที่จะเป็นตัวหุ้มคอนโซลของ Windows ดังนั้นการเรียกใช้คอนโซล API เหล่านั้นจะไม่มีผลใด ๆ

ขณะนี้เป็นวิธีที่จะทำให้การทำงานใน mintty ไม่มีแม้ว่าจะมีความคิดที่แตกต่างกันค่อนข้างซับซ้อนเกี่ยวกับวิธีการแก้ไขปัญหาจะได้รับการแก้ไขที่http://code.google.com/p/mintty/issues/detail?id=56 วิธีแก้ปัญหาคือเพียงแค่เริ่มโปรแกรมที่เป็นปัญหาในหน้าต่างคอนโซล ยูทิลิตี้ 'cygstart' เป็นวิธีที่สะดวกในการทำเช่นนั้น


1

โปรแกรมคอนโซลดั้งเดิมของ Windows มักจะทำงานได้ไม่ดีนักในโปรแกรมจำลองเทอร์มินัลของ Cygwin เช่นมินต์ ดูเอกสารประกอบ Cygwinสำหรับคำอธิบาย การไม่เห็นสีเป็นอาการที่เป็นไปได้ อาการแย่ลงคือไม่สามารถพิมพ์ลงในแอปพลิเคชันได้

มีโปรแกรมคอนโซลทางเลือกที่ดีกว่าคอนโซลในตัวมาก ตัวเลือกเทอร์มินัลปัจจุบันของฉันใน Windows คือ mintty สำหรับโปรแกรม cygwin หรือ stdio และconsole2สำหรับโปรแกรมคอนโซล Windows หัวข้อได้รับการกล่าวถึงหลายครั้งในเว็บไซต์นี้แล้ว:
การแก้ไขบรรทัดคำสั่งขั้นสูงสำหรับ Windows?
https://superuser.com/questions/87441/alternative-windows-command-shell-and-console
Windows "cmd" การเปลี่ยนแทน
ฟรี cmd / powershell พร้อมสำเนาปกติ


0

คุณสามารถใช้ bash.exe แทน mintty:

คลิกขวาที่ทางลัดของ cygwin เปลี่ยนจาก C: \ cygwin64 \ bin \ mintty.exe -i /Cygwin-Terminal.ico - เป็น C: \ cygwin64 \ bin \ bash.exe --login -i

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