Linux repositories inspector


March 2013


Light and eazy-to-use terminal emulator for X


LilyTerm - A light and eazy-to-use terminal emulator for X.


lilyterm [-? | -h | --help] [-T TITLE | --title TITLE] [-R ROLE | --role ROLE] [-t NUMBER | --tab NUMBER] [-n TAB NAMES | --tab_names TAB NAMES] [-d DIRECTORY | --directory DIRECTORY] [-g GEOMETRY | --geometry GEOMETRY] [-l | -ls | --login] [-ut] [-H | --hold] [-s | --separate] [-j | --join] [-p | --profile] [-u PROFILE | --user_profile PROFILE] [-v | --version] [-e COMMAND | -x COMMAND | --execute COMMAND]


LilyTerm is a terminal emulator for the X Window System, based on the libvte library, and aims to be fast and lightweight.


-? | -h | --help
Display a brief help message.
-T TITLE | --title TITLE
Specify the window title.
-R ROLE | --role ROLE
Specify the WM_WINDOW_ROLE string of window.
-t NUMBER | --tab NUMBER
Open multi tabs when starting up.
-n TAB NAMES | --tab_names TAB NAMES
Specify the tab names, separate with <Space>.
-d DIRECTORY | --directory DIRECTORY
Specify the init directory when starting up.
-g GEOMETRY | --geometry GEOMETRY
Specify the geometry of window when starting.
A reasonable example value is "80x24+0+0", witch means "width x height {+-} xoffset {+-} yoffset" (without space).
-l | -ls | --login
Make the shell invoked as a login shell.
Disable recording the session in lastlog, utmp and wtmp.
-H | --hold
Hold the terminal window open when the command following -e/-x terminated.
-s | --separate
Run in separate process.
-j | --join
Integrate new created tabs to the last accessed window.
It may be useful for launching multi commands with LilyTerm in a shell script.
-p | --profile
Got a profile sample.
-u PROFILE | --user_profile PROFILE
Use a specified profile.
-v | --version
Show the version information.
-e COMMAND | -x COMMAND | --execute COMMAND
Run a command when starting up. Must be the final option.


The following key bindings may custom or disable by the right click menu [Set key binding].
<Ctrl><‘> Disable/Enable hyperlinks, function keys and right click menu for temporary.
<Ctrl><T> Add a New tab with current directory.
<Ctrl><PgUp/PgDn> Switch to Prev/Next tab.
<Ctrl><Home/End> Switch to First/Last tab.
<Ctrl><[/]> Move current tab Forward/Backward.
<Ctrl><Up/Down> Move current tab to First/Last.
<Ctrl><F1~F12> Switch to 1st ~ 12th tab.
<Ctrl><O> Select all the text in the Vte Terminal box.
<Ctrl><+/-/Enter> Increase/Decrease/Reset the font size of current tab.
<Alt><F11/Enter> Switch between fullwindow/unfullwindow and fullscreen/unfullscreen state.
<Shift><Left/Right> Emulate a mouse Scroll Up/Down event on Vte Terminal box.
<Shift><Up/Down> Asks to scroll Up/Down 1 line on Vte Terminal box.
<Shift><PgUp/PgDn> Asks to scroll Up/Down on Vte Terminal box.
<Ctrl><Delete/Insert> Copy the text to clipboard / Paste the text in clipboard.
<Shift><Delete/Insert> Copy the text to primary clipboard / Paste the text in primary clipboard.
i.e. Emulate a middle button mouse click to copy/paste the text.
Some key bindings that disabled by default but maybe useful:
<Ctrl><Q> Close current tab.
Using <Ctrl><D> or ’exit’ to close tabs is recommended.
<Ctrl><N> Open a new window with current directory.
<Ctrl><E> Rename the current tab.


/etc/xdg/lilyterm.conf System configure file
~/.config/lilyterm/default.conf User’s profile.
Use [Save settings] in the right click menu to save the current tab’s settings as default to the specified


Display UTF-8 character under C locale
Execute the following command under LilyTerm:
bind "set convert-meta off"
bind "set output-meta on"
And use the right click menu to set the text encoding to "UTF-8".
Launch LilyTerm under a chroot jail
Extract xauth info to a file (under X):
xauth extract /PathToChroot/tmp/display $DISPLAY
Mount the devpts device and /tmp (may not necessary) before chroot into a chroot jail:
mount /dev/pts /PathToChroot/dev/pts -t devpts
mount -o bind /tmp /PathToChroot/tmp (may not necessary)
Merge the extracted xauth info and set the DISPLAY environ after chroot into the chroot jail:
xauth merge /tmp/display
export DISPLAY=:0
Launch LilyTerm directly, or run it under Xnest/Xephyr:
xinit ~/.xinitrc -- /usr/bin/Xnest :1 -ac -geometry 800x600
xinit ~/.xinitrc -- /usr/bin/Xephyr :1 -ac -screen 800x600
<Ctrl><S> and <Ctrl><Q> don’t work under VIM:
Use the following command to turn off ’flow-Control’ under LilyTerm:
stty raw
stty -ixon
BSD Users:
Please mount the procfs before launch LilyTerm:
mount -t procfs procfs /proc


TERM Sets what type of terminal attempts to emulate. Please always set to "xterm" under LilyTerm.
VTE_CJK_WIDTH Controls the width of some ideographs should be "single width (narrow)" or "double width (wide)" in a vte teminal.
This environment should be set before creating a vte widget.
In LilyTerm, you may set the VTE_CJK_WIDTH of a new tab to ’wide’ with right click menu ’New tab with specified locale’ -> ’xx_XX.UTF-8 (Wide)’ or ’UTF-8 (Wide)’.
PROMPT_COMMAND Customs the "Window Title" for shell.
The following is a reasonable example ~/.bashrc for bash:
case $TERM in
PROMPT_COMMAND=’echo -ne "\033]0;${HOSTNAME}: ${PWD}\007"’
The following is a reasonable example ~/.cshrc for csh/tcsh:
switch ($TERM)
case "xterm*":
setenv TITLE "%{\033]0;%m: %~\007%}"
set prompt = "${TITLE}%# "
Please visit for more details.


Lu, Chao-Ming (Tetralet) <>



⇧ Top