Wednesday, December 2, 2009

To Build Hanterm-xf 2.0.6 on Debian Linux

Hanterm-xf is a fast and functional X-terminal emulator. Although development of Hanterm-xf ceased long ago, I find hanterm-xf very useful because it has built-in Korean input system and displays Latin, Korean and Unicode well. Trying to find the hanterm-xf source was not so easy, but I found it here. I downloaded hanterm-xf-2.0.6-177.tar.gz. Compiling Hanterm-xf requires the following development packages to be installed:

  • gcc
  • make
  • libncursesw5-dev
  • libxft-dev
  • libxaw7-dev

Before compiling hanterm-xf, I had to make some symbolic links in /usr/include.

ln -s ncursesw /usr/include/ncurses
ln -s freetype2/freetype /usr/include

I unpacked the hanterm-xf source and entered the source directory:

tar xzvf hanterm-xf-2.0.6-177.tar.gz
cd hanterm-xf-2.0.6-177

I ran ./configure for hanterm-xf as follows:

./configure --prefix=/usr --host=i586-pc-linux-gnu --enable-doublechars --enable-freetype --enable-i18n --disable-input-method --disable-maximize --enable-pty-handshake --disable-tek4014 --enable-toolbar --disable-vt52 --enable-wide-chars --enable-chat --enable-now-chat

I had to modify the LIBS line of Makefile in order to successfully link hanterm with libncursesw5 later. Basically, I appended -lncursesw at the end of the LIBS line.

LIBS = -lXft -lfreetype -lXrender -lXrender -lXaw -lXmu -lXext -lXt -lSM -lICE -lX11 -lnsl -lncursesw

Then, I compiled hanterm-xf as follows:

make
make install

During make, I got an error about xutf8.h and Xlib.h. In response, I just commented the offending lines in xutf8.h.

/* #ifndef _XLIB_H_
#error Please include <X11/Xlib.h> before "xutf8.h"
#endif */
hanterm206

Packaging Hanterm-xf 2.0.6

I made a package of hanterm-xf with the following contents:

/usr/bin/hanterm
/usr/share/hangul_keyboard/2bul.kbd
/usr/share/hangul_keyboard/3bul_390.kbd
/usr/share/hangul_keyboard/3bul_final.kbd
/usr/share/hangul_keyboard/dvorak.map
/usr/share/hangul_keyboard/dvorak_2bul.kbd
/usr/share/hangul_keyboard/dvorak_3bul_390.kbd
/usr/share/hangul_keyboard/dvorak_3bul_final.kbd
/usr/share/man/man1/hanterm.1.gz
/etc/X11/app-defaults/Hanterm
/etc/X11/app-defaults/Hanterm-color

You can download my hanterm-xf package here.

My .Xresources Setting for Hanterm-xf

To run hanterm-xf, you need a monospace Latin font and a Korean font. Before running hanterm-xf, put hanterm settings in your .Xresources file. The following is my hanterm settings in .Xresrources.

Hanterm*title: Hanterm
Hanterm*iconName: Hanterm
Hanterm*statusHangulLabel: [KO]
Hanterm*statusEnglishLabel: [EN]
Hanterm*statusWansungLabel: [WANS]
Hanterm*statusJohabLabel: [JHAB]
Hanterm*statusSebyolLabel: [3B]
Hanterm*statusDubyolLabel: [2B]
Hanterm*hangulKeyboard: 2
Hanterm*saveLines: 1024
Hanterm*VT100*color0:  black
Hanterm*VT100*color1:  red
Hanterm*VT100*color2:  green3
Hanterm*VT100*color3:  orange
Hanterm*VT100*color4:  blue
Hanterm*VT100*color5:  purple1
Hanterm*VT100*color6:  DarkTurquoise
Hanterm*VT100*color7:  grey90
Hanterm*VT100*color8:  grey60
Hanterm*VT100*color9:  salmon
Hanterm*VT100*color10: PaleGreen1
Hanterm*VT100*color11: khaki1
Hanterm*VT100*color12: DeepSkyBlue
Hanterm*VT100*color13: orchid1
Hanterm*VT100*color14: cyan
Hanterm*VT100*color15: white
Hanterm*background: black
Hanterm*foreground: gray90
Hanterm*rightScrollBar: on
Hanterm*Scrollbar*width: 16
Hanterm*Scrollbar*background: grey75
Hanterm*Scrollbar*foreground: grey30
Hanterm*SimpleMenu*background: DeepSkyBlue
Hanterm*SimpleMenu*foreground: black
Hanterm*VT100.cursorBlink: true
Hanterm*VT100.cursorColor: orange
Hanterm*VT100.hanCursorColor: DarkTurquoise
Hanterm*VT100.cutNewline: false
Hanterm*VT100.cutToBeginningOfLine: false
Hanterm*VT100.Translations: #override \n\
  ~Shift ~Ctrl ~Meta BackSpace: string(0x7F)\n\
  ~Shift ~Ctrl ~Meta Delete: string(0x1b) string("[3~")\n\
  ~Shift ~Ctrl ~Meta Home: string(0x1b) string("[1~")\n\
  ~Shift ~Ctrl ~Meta End: string(0x1b) string("[4~")\n\
   Shift ~Ctrl ~Meta space: toggle-hangul()\n\
  ~Shift  Ctrl ~Meta space: hanja-input()\n\
  ~Shift  Ctrl ~Meta BackSpace: code-input()\n\
  ~Shift  Ctrl ~Meta Return: toggle-chat()\n\
  ~Shift ~Ctrl  Meta Up: change-code()\n\
  ~Shift ~Ctrl  Meta Left: change-keyboard()\n\
  ~Shift ~Ctrl ~Meta : scroll-back(5,line)\n\
  ~Shift ~Ctrl ~Meta : scroll-forw(5,line)\n\
   Shift ~Ctrl ~Meta : scroll-back(1,line)\n\
   Shift ~Ctrl ~Meta : scroll-forw(1,line)\n\
  ~Shift  Ctrl ~Meta : scroll-back(1,halfpage)\n\
  ~Shift  Ctrl ~Meta : scroll-forw(1,halfpage)\n\
  ~Shift ~Ctrl  Meta : scroll-back(1,page)\n\
  ~Shift ~Ctrl  Meta : scroll-forw(1,page)
Hanterm*Font: -*-dejavu sans mono-medium-r-normal-*-*-110-*-*-*-*-iso8859-1
Hanterm*hangulFont: -*-hysinmyeongjo-medium-r-normal--*-130-*-*-*-*-ksc5601.1987-0
Hanterm*SimpleMenu*fontSet: -urw-Nimbus Sans L-regular-r-normal-*-*-110-*-*-p-*-iso8859-1,-hanyang-hygothic-medium-r-normal-*-*-110-*-*-*-*-ksc5601.1987-0
Hanterm*VT100*colorULMode: off
Hanterm*VT100*colorBDMode: off
Hanterm*VT100*colorBD: blue
Hanterm*VT100*colorUL: red
Hanterm*charClass: 37-38:48,42-43:48,45-47:48,63-64:48
Hanterm*pointerColor: DeepSkyBlue
Hanterm*pointerColorBackground: grey40
Hanterm*pointerShape: right_ptr
Hanterm*beNiceToColormap: false

After modifying your .Xresources file, reload it.

xrdb -override ~/.Xresources

About This Blog

KBlog logo This blog seeks to provide useful information to people, based on the author's knowledge and experience. Thanks for visiting the blog and posting your comments.

© Contents by KBlog

© Blogger template by Emporium Digital 2008

Follow by Email

Total Pageviews