0

I'm working with a derivative of Debian Buster called Armbian. It is a distribution for ARM-based devices and I am using it with a Nanopi Neo Air.

Armbian has full screen curses-based TUI apps. When I connect to this device through SSH (and Minicom) and run these apps, such as armbian-config, is shows up properly:

enter image description here

When I connect using screen (GNU screen 4.7) via the serial console, and have TERM set to anything such as screen, screen-256color, linux, etc. I still properly get ANSI colours on the command line:

enter image description here

But, when I run these curses-based TUI apps, I get garbled screens:

enter image description here

It doesn't make any difference what value I set TERM to. The terminal also becomes non-responsive and I have to reset the device to get it working again.

As some additional information, programs like VIM work just fine. So, I'm very confused.

What could be the reason for this? How could I fix this?

  • On a serial console, you wouldn't have 256 colors, and shouldn't set TERM (since screen only works with certain terminal descriptions). The TERM outside screen is probably "linux" (and changing that also would confuse screen). dialog doesn't use 256 colors anyway. – Thomas Dickey Oct 24 '19 at 1:17
  • @ThomasDickey It doesn't matter what I set TERM to, including "linux" which is the default, and "". Besides, 256 colors is not the problem. It displaying properly, even in black and white, is the problem. – Roxy Oct 24 '19 at 13:00
  • The actual terminal type and locale are the places to look. It's unclear in your question what the "serial console" is. If that's via minicom, don't expect much: it doesn't handle UTF-8. – Thomas Dickey Oct 24 '19 at 13:11
1

Assuming that your mention of "serial console" refers to minicom, it's likely that minicom doesn't work with UTF-8 (which is what a typical locale setting would tell ncurses to use: see the manual page discussion of NCURSES_NO_UTF8_ACS). If you use POSIX locale (i.e., LC_ALL=C), then ncurses will not attempt to use Unicode line-drawing, and generally fit within minicom's limitations. Some non-UTF-8 locale such as en_US might also work.

vim doesn't try to draw lines, so you wouldn't notice a problem with that (though some plugins may do this, the question doesn't mention that aspect).

| improve this answer | |
  • A serial console is a device console through an RS232 or similar serial interface. It's microcontroller terminology. But I'll try the locale suggestion. Thanks. – Roxy Oct 25 '19 at 2:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.