Làm cho các ký tự vẽ 256 màu và dòng đều hoạt động trong PuTTY


31

Tôi gặp sự cố khi thiết lập PuTTY với Ubuntu.

Tôi đang cố gắng để các ký tự dòng hoạt động theo khả năng cũng như hỗ trợ 256 màu, nhưng chỉ có thể có được cái này hoặc cái kia.

  • Cấu hình Ubuntu
    • Sử dụng Ubuntu 64 bit
    • Kiểu đầu cuối xterm-256color hoặc putty-256color cung cấp các ký tự dòng 256 màu, nhưng không chính xác.
    • Kiểu thiết bị đầu cuối linux cung cấp các dòng thích hợp trong khả năng, nhưng chỉ có 16 màu.
  • Cấu hình PuTTY
    • Sử dụng phông chữ với các ký tự Unicode. (DejaVu Sans Mono)
    • Dữ liệu đã nhận được giả sử là trong UTF-8.
    • Đặt để sử dụng các điểm mã vẽ đường Unicode.

Đầu ra từ locale:

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Câu trả lời:


42

Vấn đề là PuTTY ở chế độ UTF-8 bỏ qua 1 lệnh "Bộ ký tự thay thế" VT100 và cố gắng sử dụng bộ ký tự "đồ họa" để vẽ GUI. (Các ký tự vẽ hộp ở cùng vị trí như klmqxbình thường.)

export NCURSES_NO_UTF8_ACS=1 đối với môi trường của bạn, cần khắc phục sự cố bằng cách yêu cầu các ncurs luôn sử dụng các ký tự vẽ hộp Unicode khi chọn ngôn ngữ UTF-8.

1 Có một mục danh sách mong muốn PuTTY cho điều này, cùng với lời giải thích tại sao hành vi hiện tại là tốt hơn .

Cập nhật (2018-05-12): Có vẻ như sự kết hợp này sẽ được hỗ trợ trong PuTTY 0.71.


Nó thật thú vị. Tôi chỉ luôn sử dụng Bảng điều khiển Lucida vì bản vẽ đường chỉ luôn hoạt động ở chế độ UTF-8. Bây giờ tôi có thể sử dụng phông chữ tốt hơn nhiều. Cảm ơn. :)
Ariel

8
Tôi chỉ muốn chỉ ra rằng việc chạy qua một chương trình chuyển đổi bộ ký tự thay thế thành UTF-8 cũng khắc phục được sự cố. Tôi tìm thấy điều này từ liên kết bạn cung cấp. Chương trình ví dụ tốt nhất là màn hình.
Thụy Sĩ

2
không đào các bài viết cũ, nhưng KiTTY - một ngã ba PuTTY - cung cấp hộp kiểm để "Cho phép vẽ dòng ACS trong UTF" (cài đặt phiên mới / hiện tại-> Window-> Dịch) có vẻ hoạt động tốt với các ứng dụng như apt.
đè

1
@swiss: không phải screenlà chuyển đổi, nhưng ncurses.
Thomas Dickey

Tôi đang làm việc tại Putty và sử dụng zsh. Tôi đang gặp vấn đề tương tự như OP, trong đó trong VIM, một số ký tự như mũi tên trong NERDtree không được hiển thị. Khi tôi thực hiện "xuất NCURSES_NO_UTF8_ACS = 1" và mở lại VIM, nó không làm gì khác. Các mũi tên vẫn không được hiển thị. Có ai biết cái gì đang xảy ra không?
alpha_989

4

Điều này hiện được thực hiện như là một tùy chọn trong PuTTY git master .

Putty 0,71 ->

Danh mục -> Cửa sổ -> Dịch -> đánh dấu "Kích hoạt vẽ đường VT100 ngay cả ở chế độ UTF-8"

ảnh chụp màn hình

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.