2012-10-16 24 views
20

Tôi đang cố gắng lấy 256 màu trong bảng điều khiển tuyệt vời ConEmu-Maximus5.Không thể bật 256 màu trong ConEmu

Cập nhật: Bây giờ, nó chỉ hiển thị 8 màu. Tôi biết vì đầu ra '$ tput màu sắc' là '8'

Tôi đã theo instructions và kích hoạt:

  • TrueMod (24-bit màu) hỗ trợ
  • Tiêm ConEmuHk
  • ANSI x3. 64/xterm 256 màu

Tôi không hiểu phải làm gì với 'kiểm tra xem bộ đệm/trang trình bày. '

  • Tôi đang ở cửa sổ 7.
  • tôi bắt đầu ConEmu với một liên kết tùy chỉnh trực tiếp, vì vậy nó tải tập tin bash Cygwin.
 
"C:\Program Files\ConEmu\ConEmu64.exe" /cmd ""C:\cygwin\bin\bash.exe" --login -i" 
  • Trong hồ sơ bashrc của tôi, tôi có -> HẠN xuất khẩu = Cygwin
  • Đây là tôi nhắc lệnh tùy chỉnh:
 
    function prompt { 

    local RED="\[\033[0;31m\]" 
    local GREEN="\[\033[0;32m\]" 
    local COOLRED="\e[38;5;173m" 
    local COOLGREEN="\e[38;5;113m" 
    PS1="$COOLRED\[email protected]\h $LIGHT_COOLGREEN\$PWD \[\e[0m\] > " 

    } 

    prompt 
  • Giá trị của ConEmuANSI trong ON , nhân tiện.

Tôi có một số ảnh chụp màn hình:

enter image description here

Như bạn có thể nhìn thấy dấu nhắc lệnh trông rất ngông cuồng vì nó không giống như các thiết lập 256 màu. Nếu tôi thay thế các biến COOLRED và COOLGREEN bằng RED và GREEN, thì có vẻ ok, nhưng nó không phải là 256 màu.

Nhiều ảnh chụp màn hình của các thiết lập:

enter image description here enter image description here

Và về màn hình cuối cùng bắn nó mintty Cygwin của. Mọi thứ đều ổn. Hỗ trợ đầy đủ 256 màu. Đó là một mintty xấu hổ không có tab. Đó là lý do tại sao tôi đang cố gắng chuyển đến ConEmu.

enter image description here

Cảm ơn bạn rất nhiều vì đã trợ giúp !!!

+0

Giải thích cho nub;) Tôi nên tạo tệp nào để bash xác định lại lời nhắc? – Maximus

+0

Chỉ cần tạo một tệp có tên .bashrc trong thư mục chính của bạn – RafaelGP

+0

Lạ. ".bashrc" không hoạt động, nhưng ".profile" làm. – Maximus

Trả lời

12

Bash không gửi chuỗi ANSI tới bảng điều khiển. Nó cố gắng tự xử lý chúng. Và, vì thiết bị đầu cuối * nix thường chỉ có 8 màu (không tính đến chế độ 256-màu), bash sử dụng bảng màu 8 màu thay vì bảng màu 16, màu phổ biến cho thiết bị đầu cuối Windows.

Tôi nghĩ rằng, 256 màu hoạt động trong mintty vì _isatty trả về 0 trong thiết bị đầu cuối đó. Nhưng nó trả về giá trị không bằng ConEmu. Có thể trong tương lai xây dựng tôi giải quyết câu đố này (làm thế nào để tạo ra thiết bị đầu cuối thực sự với các tính năng PTY cho một số ứng dụng).

Đối với các câu hỏi

Bạn không có nhu cầu ở 256-màu sắc Trong thực tế. Để xác định lại bảng nhắc bạn có thể sử dụng tính năng "Mở rộng màu nền trước với nền". Trong breaf - thiết lập màu sắc 16, 17, vv trong ConEmu, thiết lập nền nhắc nhở trong bash để # 5 (cấu hình trong ConEmu), và thì đấy.

Đã xảy ra lỗi nhỏ trong quá trình xử lý "Mở rộng ... ConEmu". Sử dụng phiên bản 121016 trở lên. Thông tin

PS1="\e[30;45m\[email protected]\h \e[34;45m$PWD \[\e[0m\] > " 

ConEmu and real console window

ConEmu settings

Sau không phù hợp với câu hỏi, nhưng có thể hữu ích

Phiên bản hiện tại không hỗ trợ chế độ 256 màu trong 'toàn bộ' console đệm (giới hạn, vâng, loại bỏ nó trong kế hoạch).

Vì vậy, bạn có thể đi 2 cách

  • hoàn toàn vô hiệu hóa scrollback đệm (nhiều cách, ví dụ như "cmd -cur_console: h0")
  • làm việc ở phía dưới cùng của cuộn đệm.
+0

Cảm ơn sự nỗ lực của bạn.Đúng là tôi không thực sự cần 256 màu. Tôi chỉ cần khoảng 16 cái nhìn đẹp, và tôi có thể làm điều đó trong phần màu sắc. Chúc mừng! – RafaelGP

+0

Một số giải thích được thêm vào. – Maximus

+6

@Maximus Tôi sẽ rất vui khi thấy 256 màu trong ConEmu - Tôi muốn có thể xem đầy đủ dung lượng của LS_COLORS ví dụ – antitoxic

-1
local COOLRED="\e[38;5;173m" 

local COOLGREEN="\e[38;5;113m" 

Có thể là \e s. C printf chuỗi. Bạn không muốn chúng trong một kịch bản shell. Dán với ký hiệu \033 gốc. Ngoài ra, bạn đang thiếu kết thúc \].Những dòng này giờ sẽ đọc

local COOLRED="\[\033[38;5;173m\]" 

local COOLGREEN="\[\033[38;5;113m\]" 
+2

Cảm ơn bạn đã trả lời. Tôi đã thử các biến của bạn, nhưng vẫn không có may mắn. Tôi đã cố gắng loại bỏ các dấu nhắc màu tùy chỉnh của tôi, chỉ trong trường hợp, và khi tôi in AnsiColors256.ans trông giống như nó chỉ có thể hiển thị 8 màu sắc. – RafaelGP

+0

'\ e' thường tương tự như ký tự thoát và ** thực sự là ** bắt buộc. Họ không có gì để làm với 'printf'. – Qix

1

Tôi cũng không thể nhận được hỗ trợ 256 màu để hoạt động (màu sắc sẽ hiển thị, nhưng chúng trông giống như bảng màu 16). Tôi đã chuyển sang lược đồ màu "xterm" và giờ nó hoạt động trong các tệp thực thi Windows nguyên gốc (như Python) nhưng không có trong bất kỳ thứ gì sử dụng Cygwin. Cygwin dường như có quá trình xử lý chuỗi thoát-terminal mà bạn không thể tắt, điều này sẽ đánh bại việc tiêm ConEmuHk.

This is documented on the ConEmu wiki, here.