小兔的筆記本

Just another WordPress.com weblog

Archive for 2006 年 07 月

在cnews+nntp上加上email post功能

Posted by Tsukino Usagi 於 七月 30, 2006

本文說明如何利用newsgate裡的mail2news來達到email post to news的目的, 在進行下面的操作之前, 要先在Ubuntu 6.06 Dapper裡架設好postfix和cnews+nntp, cnews+nntp的設定方式可以參考這篇文章.

  1. 安裝newsgate和procmail, 以root的身份執行:
    $ apt-get install newsgate procmail
  2. 設定postfix的四個設定檔, 在/etc/postfix/main.cf裡加上:
    transport_maps = hash:/etc/postfix/transport
    virtual_alias_maps = regexp:/etc/postfix/virtual
  3. 在/etc/postfix/master.cf裡加上:
    newsmail unix - n n - - pipe
    flags=FR user=news argv=/usr/bin/procmail -a ${mailbox} -a mail2news -d news

    第一行每段文字用tab作分隔, 第二行的flags前面要有個tab, 之後每段文字用「空白」作分隔.
  4. 在/etc/postfix/transport裡加上:
    newsmail.yourhostname newsmail:
  5. 在/etc/postfix/virtual裡加上:
    /^(.+)\.news@/ $1@newsmail.yourhostname
  6. 產生.db檔, 以root的身份執行:
    $ postmap /etc/postfix/transport
    $ postmap /etc/postfix/virtual
  7. 以news的身份編輯~/.procmailrc:
    $ su news
    $ vim ~/.procmailrc

    , 內容如下:
    :0 bhH
    * ^To: [a-z0-9.]*.news@
    | /usr/bin/$2 -n $1 -d news -o 'mail2news gateway' -x internet
  8. 重新啟動postfix:
    $ /etc/init.d/postfix restart
  9. 之後發一封信到主機上看看, Email的寫法是「群組名稱」.news@「主機名稱」, 例如要在group.blah這個群組裡發表文章, 那Email位址就要寫成group.blah.news@yourhostname ,信發完之後不會馬上就出現在newsgroup裡, 要等crond跑過cnews之後才會出現.

Posted in 網路, Linux | Leave a Comment »

在Ubuntu 6.06 Dapper上架設Usenet News Server

Posted by Tsukino Usagi 於 七月 30, 2006

本文說明如何在 Ubuntu 6.06 Dapper 的環境下架設一個簡易的 Usenet News Server, 使用的是 cnews .

  1. 以root的身份安裝cnews和nntp:
    $ apt-get install cnews nntp
    安裝的過程會問主機名稱, 按Enter即可.
  2. Ubuntu的package似乎漏裝了一個symblic link, 要手動補上去, 以root的身份下這些指令:
    $ cd /var/lib/news
    $ ln -s /etc/news/whoami whoami
  3. 開新的newsgroup, 用su news指令以news這個帳號去執行:
    $ su news
    $ cd /usr/lib/news
    $ ./cnewsdo addgroup group.usagi.test y
  4. 在本地端發表文章作測試, 以news身份執行:
    $ export EDITOR=vim
    $ ./postnews

    執行postnews之後會問文章要發表在哪個newsgroup, 輸入步驟3開設的名稱, 之後它還會問文章標題, 隨便亂打即可, 之後就開啟編輯器讓你寫文章內容, 寫完之後存檔即發表完成. 另外, 若您有慣用的文字編輯器, 也可以把EDITOR環境變數換成其他的指令, 不一定要用vim.
  5. cd到/var/spool/news/in.coming底下ls看看, 應該會有檔名像 0.11542507380.t 的檔案.
  6. 等crond跑過cnews之後(預設每15分鐘執行一次), 文章檔案會跑到/var/spool/news/group/usagi/test底下, 檔名會被改成數字依序編號.
  7. 設定nntp服務開放的主機, 以root的身份編輯/var/lib/news/nntp_access, 檔案內容像是這樣:
    default xfer no
    每列第一欄是主機的IP位址或DNS, 像*.tw *.edu.tw *.net 192.168.* 192.168.1.1 192.168.1.* 這種寫法都可以, 但像192.168.0.0/255.255.255.0 192.168.0.0/24這種寫法卻不行. 第二欄是設定read/xfer/both/no, read是可以讓人下載文章, xfer是可以讓其他的news server取信或餵信, both是兩者皆可, no是兩者皆不可. 第三欄是設定post/no, post是可以讓人發表文章, no則是禁止. 這個檔案裡, default這一行一定要在最前面, 利用這個檔案甚至可以針對特定newsgroups設定讀寫權限, 可以參考一下設定檔裡的範例.
  8. 改完之後, 可以使用其他News Client(例如Thunderbird或Outlook Express)連線測試, 看看下載newsgroups清單, 訂閱, 接收文章標題內容, 發表文章之類的功能是否正常(發表文章必須透過SMTP伺服器, 這不是nntp能力所及的範圍, 可以找現有的SMTP伺服器作測試, 或者在主機上另外架設postfix或其他類似的服務).

Posted in 網路, Linux | 1 Comment »

Yahoo! 即時通的完整安裝檔

Posted by Tsukino Usagi 於 七月 15, 2006

中文版: http://us.dl1.yimg.com/download.yahoo.com/dl/msgr8/tw/ymsgr8tw.exe
英文版: http://us.dl1.yimg.com/download.yahoo.com/dl/msgr8/us/ymsgr8us.exe

新版的即時通的安裝程式, 都是一個不到400KB的安裝檔, 然後在安裝的過程當中下載其他檔案回來安裝, 對於網路慢或連線不穩定的環境相當不便. 上面的兩個下載連結是完整的安裝檔, 安裝的過程當中不會另外再下載檔案, 也不會安裝反間諜軟體和附屬應用程式之類的東西.

Posted in IM, Windows, 即時通訊 | Leave a Comment »

xrandr 介紹

Posted by Tsukino Usagi 於 七月 11, 2006

xrandr指令可以用來改變X環境的桌面大小和螢幕頻率.

把桌面解析度調成1024×768:

$ xrandr -s 1024x768

把螢幕頻率調成75Hz

$ xrandr -r 75

列出目前環境支援的解析度和頻率

$ xrandr -q

它列出的訊息, 每行的第一個數字可以用來指定給 -s 參數, 假設有一行這麼寫

20 640 x 480 ( 347mm x 260mm ) 75

那麼下

$ xrandr -s 20

時, 就會把螢幕調成 640×480 大小, 頻率75Hz

如果有數個X環境同時運作的話, 可以用 -d 參數去調整別的X環境, -d 後面加的是像 :0 :1 :2 這樣, 例如:

$ xrandr -s 800x600 -d :0

Posted in Linux | Leave a Comment »

在Ubuntu裡使用vncserver

Posted by Tsukino Usagi 於 七月 11, 2006

本文介紹如何在Ubuntu裡架設vnc, 使用的是tightvncserver, 本文的方法是用vnc另外啟動一個X環境, 不是在原本本機上的X環境加上vnc的功能.

以root的身份安裝:

$ apt-get install tightvncserver

接下來以一般的使用者的身份啟動:

$ vncserver

第一次啟動時會要求設定密碼, 按照螢幕上的指示輸入即可, 接著會出現「New ‘X’ desktop is 主機名稱:1」之類的訊息, 後面的1就是desktop的號碼.

之後就可以用vncviewer或其他vnc client連進去看, client這邊要指定連接埠或desktop的號碼, 若desktop是1的話, 連接埠就是5901, 2就是5902, 餘類推.

關閉vncserver的指令是:

$ vncserver -kill :1

1就是desktop的號碼.

可以修改~/.vnc/xstartup這個檔, 讓vncserver可以啟動GNOME或KDE

$ vim ~/.vnc/xstartup

把#!/bin/sh以外的文字都註解掉, 若想啟動GNOME, 加上

exec gnome-session

即可, KDE則是

exec startkde

若您發現用vnc啟動的GNOME或KDE畫面文字變得很小, 可以先去本機的環境, 下

$ xset q

指令, 然後用root的身份打開/etc/vnc.conf編輯, 參考xset q指令輸出的fontPath相關設定修改/etc/vnc.conf裡的fontPath相關設定, 以下是我機器上的設定(僅供參考):

$fontPath .= "/usr/share/X11/fonts/misc,";
$fontPath .= "/usr/share/X11/fonts/100dpi/:unscaled,";
$fontPath .= "/usr/share/X11/fonts/75dpi/:unscaled,";
$fontPath .= "/usr/share/X11/fonts/Type1,";
$fontPath .= "/usr/share/X11/fonts/100dpi,";
$fontPath .= "/usr/share/X11/fonts/75dpi,";
$fontPath .= "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType";

並且往後啟動vncserver時, 都要加上 -dpi 100 的參數, 如下:

$ vncserver -dpi 100

Posted in Linux | 6 Comments »

在Kubuntu裡使用英文介面的中文環境

Posted by Tsukino Usagi 於 七月 11, 2006

想在Kubuntu裡使用英文的介面, 但又能正常顯示和輸入中文字, 可以參考下面的方法來修改Xsessions相關的設定, 這個方法只適用於使用kdm當X display manager時. gdm的使用者(ubuntu預設是gdm)請參考這裡.

以root的身份, 去/usr/share/xsessions/底下建立一個新的xsession設定檔:

$ cd /usr/share/xsessions/
$ cp kde.desktop kde_en.desktop
$ vim kde_en.desktop

編輯kde_en.desktop, 修改Exec和Name這兩行, 改完應該會是這樣:

[Desktop Entry]
Encoding=UTF-8
Type=XSession
Exec=/usr/bin/kde_english.sh
TryExec=/usr/bin/startkde
Name=KDE_English
.........

然後把這個檔chmod 644

$ chmod 644 kde_en.desktop

去/usr/bin底下新建kde_english.sh

$ cd /usr/bin
$ vim kde_english.sh

檔案內容如下:

#!/bin/bash
LC_CTYPE="zh_TW.UTF-8"
LC_ALL="zh_TW.UTF-8"
LC_MESSAGES="en_US.utf8"
LANG=en_US.UTF-8
LANGUAGE=en_US
startkde

然後把這個檔案chmod 755

$ chmod 755 kde_english.sh

修改完之後登出, 回到KDM登入畫面時, 按ALT-E或從選單裡重新啟動X server, 接下來應該就可以從ALT-T或者Session Type選單裡看到KDE_English這個session可以選了.

這個方法一樣可以用在GNOME上, 參考上面的方法編/usr/share/xsessions/gnome_en.desktop和/usr/bin/gnome_english.sh檔即可.

/usr/share/xsessions/gnome_en.desktop

[Desktop Entry]
Encoding=UTF-8
Name=GNOME_English
Name[az]=GNOME
Name[be]=GNOME
Name[ca]=GNOME
..............
Exec=/usr/bin/gnome_english.sh

/usr/bin/gnome_english.sh

#!/bin/bash
LC_CTYPE="zh_TW.UTF-8"
LC_ALL="zh_TW.UTF-8"
LC_MESSAGES="en_US.utf8"
LANG=en_US.UTF-8
LANGUAGE=en_US
gnome-session

參考資料: http://www.ubuntuforums.org/showthread.php?t=19254

Posted in 語系, Linux | Leave a Comment »