LilyTerm
輕巧人性化的 X Terminal Emulator
LilyTerm 0.9.8 已經釋出!
[@] 輕巧人性化但功能強悍的終端機模擬程式 - LilyTerm _ O X
[首頁] [功能簡介] [下載] [開發歷程] [小技巧] [關於] [ENG]
  1. 設定檔

  2. 快捷鍵

  3. 小技巧

  4. 授權

::設定檔::

  • 個人設定檔為 ~/.config/lilyterm.rc (<= 0.9.6) 或 ~/.config/lilyterm.conf (0.9.7),系統設定檔則為 /etc/xdg/lilyterm.conf
  • 可執行 lilyterm -p 以取得設定檔的範本。
  • 可用滑鼠右鍵選單裡的【取得功能鍵值】 以取得可用於個人設定檔的鍵值。
  • 使用【儲存設定】可將當前分頁的設定寫入設定檔。
  • 可使用 -u 命令列參數來指定使用其它的設定檔。

::快捷鍵::

動作
快捷鍵
啟用/關閉超連結、功能鍵,及右鍵選單 <Ctrl><`>
新增分頁
<Ctrl><T>
關閉目前的分頁
<Ctrl><Q>
更改目前分頁的名稱
<Ctrl><E>
切換至上一個分頁
<Ctrl><PageUp>
切換至下一個分頁 <Ctrl><PageDown>
切換至第一個分頁 <Ctrl><Home>
切換至最後一個分頁 <Ctrl><End>
往前移動該分頁
<Ctrl><Left>
往後移動該分頁
<Ctrl><Right>
將該分頁移至第一頁
<Ctrl><Up>
將該分頁移至最後一頁
<Ctrl><Down>
切換到第 1 至 12 個分頁
<Ctrl><F1>~<F12>
全選 Vte 終端機視窗裡的文字
<Ctrl><O>
將文字複製至剪貼簿
<Ctrl><X>
貼上剪貼簿中的文字
<Ctrl><V>
放大目前分頁的字體
<Ctrl><+>
縮小目前分頁的字體
<Ctrl><->
重置目前分頁的字體
<Ctrl><Enter>
貼上主要剪貼簿中的文字
<Shift><Insert>
將視窗在 全視窗/非全視窗 模式中切換
<Alt><F11>
將視窗在 全螢幕/非全螢幕 模式中切換
<Alt><Enter>

::小技巧::

運行速度

比起 xterm,rxvt 及 mlterm 來,libvte 明顯是慢了一點。為了加快運行速度,建議您能好好地設定 X,像是在 /etc/X11/xorg.conf 裡使用 "XAA" 來取代 "EXA":
Option          "AccelMethod"           "XAA"
在個人的經驗裡,LilyTerm 即使是在跑著 Compiz 的 Eee PC 701 (Celeron 630) 速度仍然可以接受。而那正是 LilyTerm 的主要開發環境。

LilyTerm 及 Compiz

如果您在使用 LilyTerm 時遇到了像是無畫面、半透明文字或文字顏色消失,請確認您在 /etc/X11/xorg.conf 有如下設定:
Option "XAANoOffscreenPixmaps"

點陣字

在 LilyTerm 裡使用點陣字會比使用向量字稍稍快上一點。但因為 Debian 的 fontconfig 預設上是關閉點陣字的,所以您應當先啟用它:
dpkg-reconfigure fontconfig-config
然後,將您想使用的點陣字放在 ~/.fonts/,然後重啟 X,或是使用以下指令來重新產生 fontconfig 的字型列表:
fc-cache -f -v
然後您應該就可以看到那個點陣字出現在 LilyTerm 的滑鼠右鍵選單的【改變字型】裡了。

內嵌點陣字

有部份的向量字型,像是 "AR PL UMing"、"WenQuanYi Zen Hei" 及 "Microsoft MingLiu" 等等都內嵌了點陣字。但若在 LilyTerm 裡看不到這些內嵌字的話,您可以在設定檔裡將其強制啟用:
# Using AntiAlias when showing fonts.
# 0: default. 1: force enable. 2: force disable.
font_anti_alias = 2

等寬字

有部份中文字型的英文字母並不是等寬字。這使得 LilyTerm 在使用該字型顯示時顯得十分不美觀。但您可以修改 ~/.fonts.conf,將 等寬的英文字型 和 不等寬的中文字型 整合成一個新的字型讓 LilyTerm 使用:(感謝 EdwardLee 提供此技巧!)
<match target="pattern" >
    <test compare="eq" name="family" >
        <string>monospace</string>
    </test>
    <edit mode="assign" binding="strong" name="family" >
        <string>DejaVu Sans Mono</string>
        <string>WenQuanYi Zen Hei</string>
    </edit>
</match>
但並不是所有的應用程式都能接受這種語法就是了。

XTerm Title

XTerm title 是 xterm 的一個特殊功能,它可以在視窗標題上顯示應用程式自訂的一些像是使用者所登入的主機名稱、目前所在的目錄等等資訊。請參閱以下連結以取得更多資訊:
Xterm-Title
您可以在 bash 裡設定 "PROMPT_COMMAND" 環境變數(可在 ~/.bashrc 裡設定)來指定 XTerm Title:
case $TERM in
xterm*)
    # PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
    ;;
*)
    ;;
esac
或者,可以在 LilyTerm 裡把這個功能關掉:
page_shows_window_title = 0

指定顏色

您可以在設定檔中使用 white#FFFFFF#FFFFFFFFFFFF 這幾種語法來指定文字及背景顏色。

ANSI 顏色主題

您可以設定 LilyTerm 所使用的 ANSI 主題顏色,可用的值有:linuxxtermrxvttangovte_fixed,或留白以使用 libvte 的內定值。
theme = vte_fixed

失去焦點時,文字變暗

當視窗失去焦點時,LilyTerm 的文字顏色會變暗。您可以在設定檔中調整文字變暗時的亮度:
inactive_brightness = -0.300
或者設定一個空值來關閉這個功能:
inactive_brightness =

透明背景

LilyTerm 目前僅支援透明背景,但在某些 Window Manager 下卻沒有作用。若遇到這種情況,您可以使用 hsetroot 來設定背景,它能夠良好得和 LilyTerm 搭配使用。
hsetroot -center /home/tetralet/compiz.png

漂白背景

在預設上,libvte 在調整背景明亮度時只能夠將背景『燻黑』,但若您把背景顏色設定為『白色 (#FFFFFF)』之後,就能將背景『漂白』了。

自訂快捷鍵

若要自行設定快捷鍵,請參考以下範例:
程式原始設定值:
[key]
new_tab_key = Ctrl T
close_tab_key = Ctrl W
prev_tab_key = Ctrl Page_Up
next_tab_key = Ctrl Page_Down
first_tab_key = Ctrl Home
last_tab_key = Ctrl End
edit_label_key = Ctrl E

Vim 愛好者:
[key]
new_tab_key = Ctrl+Shift Insert
close_tab_key = Ctrl+Shift Delete
prev_tab_key = Ctrl+Shift Left
next_tab_key = Ctrl+Shift Right
first_tab_key = Ctrl+Shift Up
last_tab_key = Ctrl+Shift Down
edit_label_key = Ctrl+Shift Return

其中,功能鍵可用的值有 Shift, Ctrl, Alt(MOD1), MOD3, MOD4, 或 MOD5MOD2 為 NumLock 鍵)。您可以使用在滑鼠選單中的【取得功能鍵值】項目來取得可用於設定檔的鍵值。

暫時取消快捷鍵、超連結及滑鼠右鍵選單

您可以使用快捷鍵來暫時取消快捷鍵、超連結及滑鼠右鍵選單,預設的鍵值為 <Ctrl><`>。

永久關閉快捷鍵

您可以在設定檔中把某個快捷鍵設定為空值來永久關閉它。比如說:
new_tab_key =

複製/貼上文字

您可以利用滑鼠左鍵點選文字,然後按下滑鼠中鍵或 <Shift><Insert> 貼上文字。

您還以使用 <Ctrl><X> 將文字複製至剪貼簿,然後用 <Ctrl><V> 來貼上剪貼簿中的文字。

指定編碼

您可以在設定檔中使用 zh_TW.Big5Big5 來指定分頁編碼。若使用 zh_TW.Big5,將可利用這個 LOCALE 開啟新的分頁。

在 chroot jail 裡執行 LilyTerm

為了能在 chroot 環境下能順利執行 LilyTerm,您必須利用以下指令掛載 pts 目錄:
mount devpts /PathToChroot/dev/pts -t devpts

強制關閉正在執行的 shell

當使用 <Ctrl><Q><Alt><F4> 來關閉分頁時,會使用 kill() 來關閉當前的 shell,否則該 Shell 的子程序將會同時關閉。

VTE_CJK_WIDTH

VTE_CJK_WIDTH 是個控制某些標點符號的寬度應當是『單一位元』或是『雙位元』的環境變數。但糟糕的是,某個標點符號的寬度應當是『單一位元』或是『雙位元』是由 Local 資訊、libvte、應用程式 及 字型共同決定的,但它們未曾統一過。所以對此根本沒有任何完美的解決方案。

而在 libvte 裡,會根據 Locale 環境變數來決定 VTE_CJK_WIDTH 的值,但這在許多程式下,像是 aptitude、apt、w3m 或 vim 都會造成問題。

因此,LilyTerm 會預設上把 VTE_CJK_WIDTH 設定為 "narrow"。

如何替 LilyTerm 除錯

Lilyterm 在 src/ 下內建了一個 Makefile 檔(將會在編譯 LilyTerm 時執行了 autogeh.sh 後被覆蓋掉)可用來除錯。

請使用以下指令來編譯一個 Lilyterm 的除錯版,lilyterm_dev:(您可能需要事先安裝 libgtk2.0-devlibvte-dev 套件)

cd src
make debug
在產生了 lilyterm_dev 之後,使用 gdbvalgrind 來進行除錯:
gdb ./lilyterm_dev

::授權::

LilyTerm ( ~ 0.7.1)

3-clause BSD License

LilyTerm (0.7.2 ~ 0.9.6)

2-clause BSD License

LilyTerm (0.9.7 ~ )

GNU GPLv3