Lời nhắc của Ncurses bị hỏng trong PuTTY từ Windows


12

Byobu trông rất thất vọng trong PuTTY. Tôi đã khắc phục sự cố ánh xạ khóa, nhưng sự cố này không được chỉ định trong trang hướng dẫn hoặc thậm chí Google:

Bảng điều khiển PuTTY bị hỏng

Lưu ý vị trí đặt sai vị trí của danh sách các cửa sổ, vị trí bộ chọn bị hỏng, trùng lặp của cửa sổ cuối cùng, ngẫu nhiên a ở trên cùng bên phải và tùy chọn áp dụng đặt sai vị trí. Bạn không thể thấy điều này, nhưng tùy chọn cuối cùng không thể chọn.

Có một số tùy chọn trong PuTTY tôi cần sử dụng để thấy điều này chính xác không?


Nếu ai đó muốn tạo puttythẻ, điều đó thật tuyệt
TheLQ

Tôi không có Windows nữa, vì vậy tôi không thể kiểm tra, nhưng tôi sẽ xem xét các cài đặt bộ ký tự của PuTTY.
JanC

1
Màn hình rất tuyệt - bạn chỉ cần có một phong nha.screenrc
Marco Ceppi

Câu trả lời:


10

Cấu hình putty để đọc utf8. putty -> config -> window -> dịch chọn utf trong "Dữ liệu nhận được trong ..." Đây không phải là vấn đề byobu, đây là vấn đề putty.

Xem thêm:


1
Đã đồng ý. Lưu ý rằng điều này được chỉ định trong trang chủ byobu.1.
Dustin Kirkland

8

Liên quan đến Putty, tôi đã thêm ghi chú này vào trang chủ của byobu (1) một lúc trước:

> PuTTY  users have reported that the
> F2, F3, and F4 shortcut keys are not
> working properly.  PuTTY sends the
> same escape sequences as the linux
> console for F1-F4 by default.  You can
> fix this problem in the PuTTY config,
> Terminal -> Keyboard -> Function keys:
> Xterm R6.

Xem:


Tôi đã làm điều đó để làm cho Byobu ít nhất có thể sử dụng được.
TheLQ

Chỉ để xác nhận những gì tôi đã nói ở trên cho bất kỳ ai khác đi cùng: Tôi có nghĩa là ảnh chụp màn hình ở trên là với putty ở chế độ Xterm R6. Vì vậy, đây không phải là một sửa chữa cho vấn đề này.
TheLQ

3

Ubuntu sử dụng UTF-8 cho thiết bị đầu cuối của mình, nhưng byobu dường như sử dụng bộ ký tự "ISO-8859-1 (Tây Âu)" cho các menu của nó. Bạn có thể đặt bộ ký tự trong Cửa sổ -> Dịch.

Tôi đã tìm thấy đoạn mã sau trên Internet và tôi vẫn hài lòng với nó. byobucó thể có nhiều lựa chọn hơn, nhưng tôi cũng thích điều này ( ~/.screenrc):

startup_message off
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]%{w} %l'
shelltitle "$ |bash"
termcapinfo xterm ti@:te@
altscreen on

Lưu ý: đối với byobu, shelltitle "$ |bash"phải được xóa / nhận xét, nếu không thì byobu sẽ không hoạt động.


Putty dường như mặc định ISO-8859-1:1998 (Latin-1, West Europe), vì vậy đó không phải là vấn đề. Chuyển sang UTF-8 làm cho thiết bị đầu cuối cực kỳ chậm nhưng đã sửa menu. Mã đó phải làm gì mặc dù? Không thay đổi bất cứ điều gì trong byobu
TheLQ

Theo mặc định, màn hình cung cấp cho bạn một vỏ với nhiều tab (vô hình). Với mã đó, bạn có thể có một lớp vỏ lạ mắt, với thanh dưới (màu) ở dưới cùng [ computername ][ 0$ bash 1-$ bash (2*$bash) ][2010-12-11 16:24 ] 1.30 1.40 1.43.
Lekensteyn

0

Vì vậy, để byobu trông đẹp trong putty, bạn thực sự nên thực hiện hai thay đổi.

Đầu tiên là thay đổi bàn phím của bạn thành xterm-R6 như đã đề cập, nhưng thứ hai, trên máy linux của bạn chạy lệnh như người dùng bình thường của bạn: byobu-select-backendvà sau đó chọn tùy chọnscreen (thường là 2).

Nên làm việc tuyệt vời ngay bây giờ! Thưởng thức!


0

Nó làm việc cho tôi (phù hợp với Putty - tạm thời):

Cửa sổ -> Dịch -> Bộ ký tự từ xa: DEC-MCS

Đối với một giải pháp dứt khoát trong ứng dụng của bạn:

  1. thêm vào tệp .bashrc (cho người dùng hiện tại olny) hoặc thêm vào etc / bash.bashrc (cho tất cả người dùng)

NCURSES_NO_UTF8_ACS = 1

  1. đảm bảo bạn có:

    • sudo apt-get -install ncurses

    • sudo apt-get cài đặt libncursesw5-dev

  2. Thêm mã: #include <locale.h> #include <ncurses.h> //change curses ------------------------------------- //add in main setlocale(LC_TYPE, "");

  3. Biên dịch ứng dụng với -lncursesw , đại loại như thế này:

    gcc -o arquivo arquivo.c -lncursesw

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.