Skip to content


Repository files navigation

MLTERM - Multi Lingual TERMinal emulator


  $ ./configure
  $ make

Options for configure

    Installation prefix

    Disable dynamic loading of character mapping or property table,
    which is statically linked to libmef.
    Remove character mapping table

    Remove unicode character property table

    Use iconv to convert between different character sets.
    (If --with-iconv is specified, --disable-dl-table is the default.)

    Use specified gui library
    See "Supported platforms" below.

    Link specified image library to mlterm for image processing.
    Note that this option is not necessary for image processing, because
    mlimgloader (see --with-tools) processes images instead and passes them
    to mlterm.
    This option is recommended only if you build libvte which depends
    on gdk-pixbuf anyway.
    (Imlib is not supported since mlterm 3.0.2)

    Load modules with libltdl

    Use specified type engines for rendering text.
    xcore is possible to disable only when --with-type-engines=(except xcore)
    is specified with --disable-dl-type option.

    Same as --with-type-engines=xcore on xlib.
    (--enable-anti-alias is the same as --with-type-engines=xcore,xft,cairo)
    This option is ignored if --with-type-engines is specified on xlib.

    Disable truetype fonts on framebuffer or wayland.

    Disable fontconfig (use ~/.mlterm/*aafont) on framebuffer or wayland.

    Disable dynamic loading of type engine modules,
    which are statically linked to mlterm.

    Disable BiDi rendering

    Use libind for Indic rendering

    Disable dynamic loading of BiDi and Indic rendering modules,
    which are statically linked to mlterm.
    Disable to connect ssh2 server.
    If enabled, libssh2 ( is used to connect ssh2 server.
    (Usage: mlterm(mlclient) --serv ssh://
    If you want to use camellia as common key cryptography or SSH agent forwarding,
    install alternative libssh2 of camellia-agentfwd branch at
    (see and

  --with-mosh=(mosh source directory)
    Enable mosh and specify its source directory, where ./configure script should
    be executed in advance.
    This option is available only if libssh2 is enabled.
    Don't distribute libptymosh in binary format.
    (see see

    Don't depend on pthread for secure copy (scp) over ssh.
    (Furthermore, don't link libpthread to mlterm in NetBSD even if --enable-ibus
     or --with-type-engines=cairo is specified.)

    Build debug version

    Optimize redrawing a line

    Build specified scrollbars in scrollbar/ and contrib/scrollbar/ directories

    Build specified tools in tool/ and contrib/tool/ directories
    mlimgloader is automatically added unless --disable-image or --with-imagelib
    is specified.
    registobmp is necessary to process ReGIS.

    Don't build and use external tools.
    If this option is specified, --with-tools option is ignored.

    Disable XDnD

    Disable kbd input method which converts US keyboard characters to other
    keyboard layouts such as arabic and hebrew.

    Disaable IIIMF (Internet/Intranet Input Method Framework)

    Disable uim (Universal? Input Method)

    Disable m17n library

    Disable SCIM (Smart Common Input Method platform)

    Disable iBUS (Intelligent Input Bus)

    Disable Fcitx
    If Fcitx is enabled, fcitx-gclient or Fcitx5GClient is necessary.

    Disable Canna

    Disable Freewnn

    Disable SKK

    Support gnome-pty-helper. (Note that it is impossible to enable
    gnome-pty-helper in BSD style pty system and that gnome-pty-helper must be
    placed at ${libexecdir}/mlterm directory.)

    Use specified version of GTK+
    (4.0 is available for mlconfig. libvte compatible library and mlterm-menu continue
     to need 2.0 or 3.0.)

    Support vt52 emulation

    Disable wall picture, icon picture, pseudo transparency and sixel graphics.

    Disable Open Type Layout with the use of harfbuzz or libotf.

    Enable brltty with the use of brlapi library. (Experimental)

    Install mlterm binary with root setuid or utmp setgid to access to utmp
    database directly.
    The default is disabled.

    Specify the way of reading from or writing to utmp database.

    Disable daemon mode

    Disable to split screen except on MacOSX/Cocoa and HaikuOS.

    Disable zmodem

    Disable to reuse 240 palettes in displaying true color.
    Disabling this option supports true color completely, but sizeof(vt_char_t)
    is changed from 8 bytes to 12 bytes.

    Disable shared libraries

    Disable static libraries

  If you want to minimize mlterm binary, execute configure with following options.
  --without-map-table --without-prop-table --disable-image --disable-dl-ctl \
  --disable-fribidi --disable-dl-type --disable-otl \
  --disable-ssh2 --with-utmp=none --disable-dnd --disable-kbd --disable-uim \
  --disable-m17nlib --disable-ibus --disable-fcitx --disable-scim --disable-canna \
  --disable-wnn --disable-skk --disable-iiimf --disable-ind --with-type-engines=xcore \
  --disable-anti-alias --disable-fontconfig --disable-daemon --disable-split \
  --disable-zmodem --disable-compact-truecolor (--disable-shared)

What you need for compilation

  All you need for basic compilation is libc and Xlib.  You don't need
  internationalization support of OS because mlterm has own i18n code.

  XFree86 4.0.2 or above and FreeType 2.0.2 or above are needed for

  gdk-pixbuf (Gtk+ 2.0.1 or higher) for background image.

  Gtk+ (2.x ?) for GUI configurator "mlconfig" and "mlterm-menu".

  Gtk+ (2.x ?) for libvte compatible library. (see gtk/README)

  Fribidi (0.9.0 - ?) for Bidi.

  libssh2 ( for ssh2 client and scp.
  (If you want to use camellia as common key cryptography or SSH agent forwarding,
   install alternative libssh2 of camellia-agentfwd branch at

Compilation of library based on mlterm

  vte compatible library

  $ make vte

  libvterm compatible library

  $ make vterm

Supported platforms

  Platforms tested by developers.

  * NetBSD 3.0.1 / X (x86)
  * NetBSD teokure 9.0 / X, frmebuffer (x86)
  * NetBSD 5.2 / framebuffer (hpcmips)
  * NetBSD 9.0 / framebuffer (xm6g 3.31L15)
  * OpenSolaris 2009.06 / X (CC=cc) (x86)
  * Solaris 11.1 / X (x86)
  * Arch Linux / X, framebuffer, wayland, SDL2 (x86)
  * CentOS 5 / X (x86)
  * FreeBSD 9.0 / framebuffer (x86)
  * FreeBSD 2.2.9 / X (x86)
  * FreeBSD(98) 4.11 / framebuffer (np21w ver.0.86 rev.88)
  * OpenBSD 5.3 / framebuffer (x86)
  * MS Windows 10 + Cygwin 3.4.3 / GDI, SDL2 (CC=gcc, CC="i686-pc-mingw32-gcc") (x86_64)
  * MS Windows 10 + MSYS2 3.1.7 / GDI (x86)
  * MacOSX 10.6.8 / X, Cocoa, SDL2 (x86)
  * MacOSX 10.8.5 / X, Cocoa, SDL2 (x86)
  * iOS Simulator 4.3 / CocoaTouch (x86)
  * iOS Simulator 7.1 / CocoaTouch (x86)
  * Android 4.0 (x86)
  * Android 9.0 (x86)
  * Java 1.8.0 / SWT (x86)
  * Haiku R1 Beta4 / Interface Kit, SDL2 (x86)

  See README.fb, README.win32,, README.cocoa, README.cocoatouch,
  README.console, README.wayland, README.sdl2 and README.beos in and
  README in in detail.


  $ mlterm

  Read the manpage (and documentations in mlterm-x.x.x/doc/{ja,en}) for detail.
  See ~/.mlterm/msg.log on error.


  Subscribe mlterm-dev-en ML


  Modified BSD-style license.  See LICENCE file for detail.