看板 Linux 關於我們 聯絡資訊
如果您只是拿來上 PTT 的話,其實不用那麼麻煩說。 以下方案,可以解決像是:顯示輸入 Unicode 文字、修正符號字寬不正確問題、 一字雙色亂碼、telnet 不夠安全、以及能搭配 screen 使用、 不用再依賴 zh_TW locale 等等問題。 首先,為了解決煩人的字寬問題, 請先選用一個支援 East Asian ambiguous width 的 X Terminal Emulator; 比如說:(大部份要加參數或是設定環境變數) xterm -cjk mlterm --ac=2 VTE_CJK_WIDTH=1 gnome-terminal(或其它 vte terminal,像 LilyTerm 或 evilvte) (urxvt 及 konsole 好像有支援,可能要查一下) 然後,請在 UTF-8 環境下,使用以下指令上 PTT: (現在大部份的 Linux Dist 都預設是 UTF-8 環境了) (對了,請記得安裝 ssh 套件) ssh bbsu@ptt.cc 即可。(因為潛在的安全因素,不建議用 telnet) 建議搭配標點符號有支援 East Asian ambiguous width 的字型,如『文鼎 PL 中楷』, 以取得最佳顯示效果。 另外,PTT 的 UTF-8 模式針對一字雙色的字有做處理, 不過只能做到一字單色,但至少不會生出亂碼出來。 當然了,這個方案最重要的亮點就是:可以搭配 screen 使用喔! 另外,敝人不確定這個方案能夠解決多少 Unicode 問題, 但 PTT 的 Unicode 模式似乎有加上 Unicode 補完計劃裡的字集, 所以這方面用起來應該和 pcamnx 差不多吧? ※ 引述《nfsong (圖書館我來了)》之銘言: : 不好意思 我想請問一下一個上bbs的問題 : 我安裝了ubuntu 10.04 是用英文的安裝 : 因為我想看bbs 所以嘗試把他改成中文big5 : 我現在是把locale 改成zh_TW.utf8 : 我在網路上查到一個方法是用screen 轉碼 : 在screen下用ctrl+a : :encoding big5 utf8 : 但是都顯示不出來 我的連線軟體用的是tintin++ : tt++有設定#config charset big5 : 我想請問一下哪裡可能有問題呢?? 忘了註明,這個方法必須處於 UTF-8 環境下才行。 但優點是,所需的只是 screen、ssh、xterm/gnome-terminal 等等基本工具即可。 另一個優點是,可以不用再留著 zh_TW 環境,終於可以向 zh_TW 說再見了!
nfsong:感謝 請問是要在en_US.utf8下嗎? 05/02 11:54
nfsong:抱歉 系統是server版的 沒有xwindows 這個好像是x-windows 05/02 11:59
nfsong:client 05/02 11:59
nfsong:不好意思 我忘了提出沒有xwindows的問題 謝謝你提供的方法 05/02 12:01
dearlove:ptt的話登入的時候賬號後面加個 , 就會進入utr8模式了 05/02 12:43
若在 console 下,可以試試 jfbterm + luit! 但不支援 East Asian ambiguous width,字寬會亂七八糟; 也不支援 UAO,有些非 Big5 文字會看不到。 另,luit 是 x11-utils 附的小程式,但可以在 console 下執行。 也可以試試 zhcon 之類的,但我沒試過... Sorry
buganini:ssh bbsu有pad字寬 05/02 17:55
buganini:bug5也可以在console下執行,也可以pad字寬,也可以處理 05/02 17:56
buganini:雙色字,不限於ptt 05/02 17:56
bug5 的話,請問是用空白墊嗎?(screen 好像是用空白墊) 另外,處理雙色字是指有做到一字雙色嗎?
buganini:是用nbsp墊,複製貼上時會自動去掉(貼到別處當然得自己 05/02 20:07
敝人貼的這個方法則是靠 Terminal Emulator 去原生支援 East Asian ambiguous, 不用墊,當然也不用去掉,貼去別的地方也不用煩惱。
buganini:去掉囉) 沒有一字雙色,這要terminal有特異功能才辦得到 05/02 20:08
嗯,其實敝人也寫了一個小小的即時轉碼 Pseudo Terminal,功能很類似 bug5, 但也是卡在沒辨法實作一字雙色。 後來發現 ssh + PTT Unicode 版好用之後,就停止開發了... orz
buganini:對了,bug5還內建UAO支援,這是luit和screen都沒有的 05/02 20:09
但若用 PTT Unicode 版的話,PTT 也有支援 UAO 喔! 且已經事先把轉成了正確的 Unicode 了。
buganini:雙色字的修正也是luit/screen沒有的 05/02 20:09
PTT 的 Unicode 版對此也是有修正的。但也是一樣,沒辨法一字雙色。
buganini:複製貼上去除padding是ssh bbsu沒有的功能 05/02 20:12
若用 PTT 的 Unicode 版的話,就不用去 padding 囉,因為本來就沒加 padding。XD BTW, 您寫的 bsdconv/bug5 其實敝人之前有試用過,但卡在以下錯誤訊息: Failed creating bsdconv instance, you may need to update bsdconv. 後來就放棄使用了。
buganini:ptt有pad喔,去russian找一篇有俄文按回覆然後複製貼上 05/02 23:15
buganini:就看得出來了 05/02 23:15
這是維基百科上的俄文字母表: абвгдеёжзийклмнопрстуфхцчшщъыьэюя абвгдеёжзийклмнопрстуфхцчшщъыьэюя 至少敝人系統上是 OK 的。
buganini:有些環境無法讓terminal切成寬字元模式,就還是需要啊 05/02 23:16
這的確是。 且也要視 X Terminal Emulator 對於 East Asian ambiguous width 是否有良好支援。 不過,至少 GNOME2/3、Xfce、LXDE 預設的 X Terminal Emulator (都是 vte based), 支援度都算不錯。xterm 我試過也不糟;其它的就可能要自行試試看了。
buganini:bsdconv/bug5對不起來是因為兩邊版本不一致 05/02 23:17
我那時編譯都是拿最新版的... 這的確很怪。 那時本來想包 deb,順便拿出來分享的,但因為連自己的系統上都跑不起來, 就沒放出來了。
buganini:也許是ptt會自動偵測要不要開padding 這我沒注意過 05/02 23:18
buganini:因為我是習慣用非寬字元的環境,所以測出來是有padding的 05/02 23:19
對,PTT 的 Unicode 版是我唯一一個得開 VTE_CJK_WIDTH=1 的應用程式。 我試過,如果是以 VTE_CJK_WIDTH=0 跑的話,的確是有 padding; 但若用 VTE_CJK_WIDTH=1 的話,跑起來結果就讓人十分驚豔了。真的值得一試! 只是... 大概僅限 PTT 使用吧? XD
buganini:剛查了一下,fbterm有ambiguous-wide可以設定 05/02 23:32
buganini:jfbterm有--ambiguous={unchanged,single,double} 05/02 23:33
buganini:加上你貼的VTE解法,應該大多數時候都可以有真的寬字元 05/02 23:33
buganini:可以用了:D 05/02 23:33
感謝告知!另,請教一下,在 console 下輸入中文有解嗎?謝謝! 另外,PTT 的 Unicode 版是最近才改的嗎?我記得以前開版面都亂七八糟說... ※ 編輯: Tetralet 來自: 114.32.201.46 (05/02 23:58)
buganini:https://github.com/buganini/termim <= 半成品 05/03 00:04
buganini:還有底下提到的ucimf也可以試試 05/03 00:04
buganini:termim之前是在FreeBSD底下開發的,linux編不起來XDD 05/03 00:22