6

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
xqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqx
x                                                                          x
x                                                                          x
x                                                                          x
x                                                                          x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

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
xterm
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,
    sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;,
    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,
Joe Koberg
  • 453
  • 1
  • 3
  • 9

6 Answers6

5

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.

David Mackintosh
  • 14,223
  • 6
  • 46
  • 77
  • 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 (http://www.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 08 '09 at 17:15
  • Agreed. Setting to ISO-8859-15 (euro) works here. – scott-- Oct 27 '14 at 17:49
2

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

Yaroslav
  • 21
  • 2
0

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

0

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

-1

Edit:

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

Previously:

Try this command:

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

or:

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:

``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~

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.

Dennis Williamson
  • 60,515
  • 14
  • 113
  • 148
  • 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 07 '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 07 '09 at 21:00
  • I modified the command to use `basename` instead of `printf`. – Dennis Williamson Dec 07 '09 at 21:03
  • Syntax still incorrect; i added the hyphen to the `-type` option to find. No output produced. – Joe Koberg Dec 07 '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? – Dennis Williamson Dec 07 '09 at 21:06
  • "No output produced" Did you check to make sure that the path in the `find` command is correct? It is sometimes in `/usr/share/terminfo`. Does `tput -Txterm acsc` produce "``aaffgg..."? – Dennis Williamson Dec 07 '09 at 21:09
  • I understood the original intent of your commands and made them work before I posted a reply. The original path is correct. "No output produced" means I got my shell prompt back without any intervening output. tput -Txterm acsc produces nothing. And there is no acsc capability in the infocmp output. – Joe Koberg Dec 07 '09 at 21:35
  • LANG=C, LC_ALL is unset. – Joe Koberg Dec 07 '09 at 21:36
  • Presumably if this AIX had a UTF-8 locale, using it would have fixed the problem. – Joe Koberg Dec 08 '09 at 17:24
-2

Try setting TERM=xterm

Not Now
  • 3,532
  • 17
  • 18