I manage many AIX machines, generally version 5.3.

Basic terminal function works just fine, but it seems like some things don't. For example nmon displays lqqx instead of the line drawing characters.

lqnmonqqqqqqqqr=ResourcesqqqqqqqqHost=sigloprodqqqqqqRefresh=2 secsqqq11:29.
1 Memory qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqx
x          Physical  PageSpace |        pages/sec  In     Out | FileSystemCx
x% Used       97.4%      1.3%  | to Paging Space   0.0    0.0 | (numperm) 5x
x% Free        2.6%     98.7%  | to File System    0.5    1.5 | Process   2x
xMB Used    7980.3MB    26.2MB | Page Scans        0.0        | System    1x
xMB Free     211.7MB  2021.8MB | Page Cycles       0.0        | Free       x
xTotal(MB)  8192.0MB  2048.0MB | Page Steals       0.0        |           -x
x                              | Page Faults       3.0        | Total    10x
x------------------------------------------------------------ | numclient 5x
xMin/Maxperm     781MB( 10%)  3904MB( 48%) <--% of RAM        | maxclient 4x
xMin/Maxfree     248   1088       Total Virtual   10.0GB      | User      7x
xMin/Maxpgahead    2    128    Accessed Virtual    3.2GB 31.8%  Pinned    1x
x                                                                          x
x                                                                          x
x                                                                          x
x                                                                          x
x                                                                          x

I am currently using the xterm terminal type on AIX, specifying utf8 encoding in putty, Using unicode line drawing code points in putty, and using the Deja Vu Sans Mono font, which should include all line drawing characters

nmon does display correctly when I run it from an xterm on that same machine.

Current terminfo entry for TERM=xterm is as follows:

sigloprod ~ $ echo $TERM
sigloprod ~ $ infocmp
#       Reconstructed via infocmp from file: /usr/share/lib/terminfo/x/xterm
xterm|vs100|xterm terminal emulator,
    am, km, msgr, xenl,
    cols#80, it#8, lines#25,
    batt1=f1, batt2=f1md, bel=^G, bold=\E[1m,
    box1=lqkxjmwuvtn, box2=lqkxjmwuvtn, civis=\E[?25l,
    clear=\E[H\E[2J, cnorm=\E[?25h, cr=\r,
    csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\b,
    cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
    cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
    cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
    dl1=\E[M, ed=\E[J, el=\E[K, font0=\E(B, font1=\E(0,
    home=\E[H, ht=\t, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
    il=\E[%p1%dL, il1=\E[L, ind=\n, kbs=\b, kcub1=\E[D,
    kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=^?,
    kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
    kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
    kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
    khome=\E[H, kich1=\E[2~, knl=\r, knp=\E[6~, kpp=\E[5~,
    ktab=\t, mc4=\E[4i, mc5=\E[5i, nel=\n, rc=\E8,
    rev=\E[7m, rf=/usr/share/lib/tabset/vt100, ri=\EM,
    rmcup=\E[?7h, rmkx=\E>, rmso=\E[m, rmul=\E[m$<2>,
    rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, sc=\E7,
    sgr0=\E[m\E(B, smcup=\E[?7h\E[?1l\E(B\E=, smkx=\E=,
    smso=\E[7m, smul=\E[4m$<2>, tbc=\E[3g,
  • What are your settings in PuTTY under Window>Translation? – Paused until further notice. Dec 7 '09 at 18:31
  • See my latest edit. – Paused until further notice. Dec 7 '09 at 21:36
  • Still no output. It seems apparent that NO termino entries here have the acsc capability. Remember, using the xterm program as the emulator does work fine with TERM=xterm. The output to putty with TERM=xterm should be working too! – Joe Koberg Dec 7 '09 at 22:03
  • Did you look for the box1 and box2 capabilities in each terminfo file? – Paused until further notice. Dec 7 '09 at 22:16
  • What happens with good-ol' VT100? – Jé Queue Dec 8 '09 at 3:38

Try Putty's Configuration menu: Window -> Translation -> Received data assumed to be in which character set -> UTF-8

If UTF-8 isn't it, try some of the other values.

| improve this answer | |
  • 4
    Turns out setting it to ISO-8859-1 works! I presumed the remote end was sending escape codes to put the terminal in line drawing mode, then sending the alternate character set lqqk for line drawing (vt100.net/docs/vt102-ug/table5-13.html)... and adjusting PuTTY shouldn't change that aspect of emulation. But I guess PuTTY ignores that when set to UTF-8 and looks for line drawing characters ONLY as unicode code points. Browsing the PuTTY 0.6 source seems to verify this at line 2573 of TERMINAL.C – Joe Koberg Dec 8 '09 at 17:15
  • Agreed. Setting to ISO-8859-15 (euro) works here. – scott-- Oct 27 '14 at 17:49

Try $export TERM=dtterm this gives you some colors as stated in official FAQ. http://www.ibm.com/developerworks/wikis/display/wikiptype/nmon+faq / Question 41

| improve this answer | |

Had a similar problem but when remoting into Debian machines. As stated by @scott Putty ignores the sequence to change to drawing lines mode when in UTF-8. What has worked for me was telling putty to identify it self as 'putty' terminal instead of 'xterm', change 'Connection > Data > Terminal-type string' option to putty 'putty'.

fix line drawing in Putty or Kitty

| improve this answer | |

Putty may have changed, but when I selected "Allow ACS line drawling in UTF," feature in the window -> translation, it works.

| improve this answer | |
  • This fixes nmon line-drawing on a Linux host for me with KiTTY, thanks! – genpfault Nov 27 '18 at 15:21


Aix uses two capabilities called box1 and box2. Try modifying the commands below to look for them instead of acsc.


Try this command:

for t in $(find /lib/terminfo -type f -print); do echo; echo -n "$t "; tput -T$(basename $t) acsc; done


for t in $(find /lib/terminfo -type f -print); do echo $t; infocmp $(basename $t)| grep acsc; done

Replace "/lib/terminfo" with the path to your terminfo files. Look for lines that do not look like this:


One of those terminals has a good chance of working for you.

You can set that terminal type using TERM=termtype at a Bash prompt or in your ~/.bashrc or by doing this:

TERM=termtype nmon

To have it set only for that invocation. If you'd like to set it for an ssh session from the local end, you can do:

TERM=termtype ssh ...

if AcceptEnv in the remote system's /etc/ssh/sshd_config is set to allow it. And SendEnv in the local system's /etc/ssh/ssh_config or the user's local ~/.ssh/config is set to send it.

| improve this answer | |
  • I am reluctant to add entries to the systemwide terminfo or termcap files, or to include files in my home directory or login scripts, because it's a collection of a dozen or more machines who's 'customization complexity' I want to keep to a minimum (and it would take weeks to roll systemwide changes through change control, assuming they were even permitted.) – Joe Koberg Dec 7 '09 at 20:29
  • 1.) -printf is not a valid option to find on this AIX. 2.) xterm meets the above criteria and is not currently working properly. – Joe Koberg Dec 7 '09 at 21:00
  • I modified the command to use basename instead of printf. – Paused until further notice. Dec 7 '09 at 21:03
  • Syntax still incorrect; i added the hyphen to the -type option to find. No output produced. – Joe Koberg Dec 7 '09 at 21:06
  • I don't think it matters, but what are your remote system's $LANG and $LC_ALL Bash variables set to? – Paused until further notice. Dec 7 '09 at 21:06

Try setting TERM=xterm

| improve this answer | |
  • Term type is already set to xterm as stated in question. – Joe Koberg Dec 7 '09 at 20:49

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.