簡單的 BBS 掛站設定

By Shaform, Tue 27 May 2014, in category Notes

BBS, linux, PTT

很久以前看到了 othree 的〈掛站系統設定篇〉,學會了如何在工作站上掛著 BBS。在那以後就很少使用桌面軟體來連 BBS。使用工作站掛站的優點主要是不用一直重新登入很方便,另外在一些公共區域上網時,避免直接使用明文帳密連結 telnet 而透過 ssh 感覺比較安心一點。(不過其實我建議 BBS 還是使用不同的密碼比較好呀。)

後來我發現其實掛一些我平常在逛的站如 PTT or BS2 其實很少會遇到逾時被登出的狀況,所以就省去了使用 expect 來不斷送出空白訊號的麻煩。就用這篇文章來紀錄這個簡化的掛站方法。

首先在 $HOME 目錄建一個叫做 screenrc-bbs 的資料夾,接下來在資料夾裡根據想逛的 bbs 建立 screenrc 檔案。

比如說 screenrc-bbs/ptt:

vbell off 
screen -t 'ptt' ssh bbsu@ptt.cc

screenrc-bbs/ptt2:

vbell off 
screen -t 'ptt2' ssh bbsu@ptt2.cc

screenrc-bbs/ptt3:

vbell off
defencoding big5
screen -t 'ptt3' telnet ptt3.cc
defencoding big5

screenrc-bbs/bs2:

vbell off 
defencoding big5 
screen -t 'bs2' telnet -8 bs2.to 
defencoding big5

最後在 .bashrc 加入 alias 就大功完成啦:

alias bs2="if ! screen -rD BS2 >& /dev/null ; then LANG='zh_TW.UTF-8' screen -S BS2 -c $HOME/screenrc-bbs/bs2 ; fi"
alias ptt="if ! screen -rD PTT1 >& /dev/null ; then LANG='zh_TW.UTF-8' screen -S PTT1 -c $HOME/screenrc-bbs/ptt ; fi"
alias ptt2="if ! screen -rD PTT2 >& /dev/null ; then LANG='zh_TW.UTF-8' screen -S PTT2 -c $HOME/screenrc-bbs/ptt2 ; fi"
alias ptt3="if ! screen -rD PTT3 >& /dev/null ; then LANG='zh_TW.UTF-8' screen -S PTT3 -c $HOME/screenrc-bbs/ptt3 ; fi"

如此一來,下次登入時只要直接打 ptt 就可以開始逛版了,要離開則按 Ctrl-A Ctrl-D,只要沒有被斷線的話隨時登入工作站都可以下 ptt 指令重回之前的進度。