麦酒堂
RSS
エントリ一覧
カテゴリ一覧
月別一覧
スープカレー[10 entries]
AH-K3001V[5 entries]
Beer[647 entries]
Books[11 entries]
Camera[16 entries]
Cygwin[10 entries]
Java[9 entries]
JavaScript[5 entries]
Linux[65 entries]
mac[12 entries]
Movabletype[15 entries]
.NET[2 entries]
Photos[24 entries]
PHP[8 entries]
Ruby[5 entries]
Underground[11 entries]
WX310SA[4 entries]
2008年10月[3 entries]
2008年09月[16 entries]
2008年08月[12 entries]
2008年07月[11 entries]
2008年06月[18 entries]
2008年05月[15 entries]
2008年04月[4 entries]
2008年03月[13 entries]
2008年02月[13 entries]
2008年01月[10 entries]
2007年12月[11 entries]
2007年11月[21 entries]
2007年10月[11 entries]
2007年09月[16 entries]
2007年08月[11 entries]
2007年07月[14 entries]
2007年06月[24 entries]
2007年05月[20 entries]
2007年04月[15 entries]
2007年03月[29 entries]
2007年02月[24 entries]
2007年01月[21 entries]
2006年12月[14 entries]
2006年11月[14 entries]
2006年10月[26 entries]
2006年09月[28 entries]
2006年08月[16 entries]
2006年07月[37 entries]
2006年06月[30 entries]
2006年05月[27 entries]
2006年04月[25 entries]
2006年03月[32 entries]
2006年02月[22 entries]
2006年01月[31 entries]
2005年12月[19 entries]
2005年11月[25 entries]
2005年10月[37 entries]
2005年09月[14 entries]
2005年08月[30 entries]
2005年07月[23 entries]
2005年06月[16 entries]
2005年05月[33 entries]
2005年04月[14 entries]
2005年03月[12 entries]
2005年02月[26 entries]
2005年01月[16 entries]
2004年12月[28 entries]
2004年11月[10 entries]
2004年10月[19 entries]
2004年09月[13 entries]
2004年08月[17 entries]
2004年07月[19 entries]
2004年06月[10 entries]
2004年05月[16 entries]
2004年04月[17 entries]
2004年03月[32 entries]
2004年02月[23 entries]
2004年01月[35 entries]
2003年12月[29 entries]
2003年11月[25 entries]
2003年10月[15 entries]
麦酒堂 TOP > >
  • 001105
    mutt で CUI メール環境 on Cygwin - [前半 : 送信設定編]
    miz 2007-03-26 23:41

    ガヂェットとチャットをしているときに
    「デスクトップ環境を Linux に移行したいけど、Linux で電信八号は使えないからなぁ」
    「電信八号じゃなくても vi でメール書ければ良いんでしょ?」
    「うん、確かにそうだね」
    「お、こんなツールがあるらしいよ」
    というなかなか爛れた会話になり、発見されたのがこの MUA。

    • Mutt Home Page(落ちてる?)
    • Mutt Japanese Edition

    mutt はすべてコンソール・ベースで動作する MUA です。 基本的には受信したメールを扱う機能に特化していて、メールの作成、送信や閲覧には別ツールと連携して動作します。 電信八号に非常に近いものを感じますな。 もちろん外部エディタとして vi を使ってメールを書くことも可能です。 これは面白い、ということでさっそくセットアップしてみることにしました。 Cygwin 上で……あれ? 当初の目的が……。

    mutt はもともと UNIX 上で開発されているツールなので、Cygwin にもってくるにはいくつか追加の設定が必要になりました。 そのあたりの手順を送信設定と受信設定の二回に分けてご紹介します。 今回はまず送信設定編です。
    mutt の情報

    mutt の情報は、先ほどのサイトにアップされている Linux Japan の記事がとっかかりとして良さそうです。

    • Mutt Japanese Edition - Linux Japan

    もっと網羅的に知りたい場合は元の英文にあたるのが確実でしょう。

    • The Mutt E-Mail Client - version 1.4
    • The Mutt E-Mail Client - version 1.5.1
    mutt の日本語対応状況

    mutt は安定版の 1.4 系と開発版の 1.5 系が存在していて、Cygwin の標準パッケージには安定板の 1.4.2.2i(2007/03/27 現在)が用意されています。 1.3 系以降は国際化対応していることになっているので、現行のバージョンでは問題なく日本語を扱えるはずです。 確かに Linux 上などで動かすときちんと日本語を処理してくれるのですが、ぼくが試した限り画面表示に使える日本語文字エンコーディングは EUC-JP のみで、Shift_JIS は吐いてくれませんでした。 Cygwin の標準ターミナルは DOS プロンプトの Shift_JIS なのでちょっと厳しい状況ですが、今回は TF-8 TeraTerm Pro with TTSSH2 に同梱された CygTerm を利用することでこの問題を回避します。 CygTerm は Cygwin のターミナルとして TeraTerm をかぶせることができるツールです。

    • SourceForge.jp: Project Info - UTF-8 TeraTerm Pro with TTSSH2

    このツールは入出力の文字エンコーディングを指定可能なので、mutt にあわせて EUC-JP を使えるよう設定します。

    日本語入力の問題

    表示の問題は CygTerm で解決できますが、今度はメール作成の日本語入力が問題になります。 CygTerm 越しに vi を使用する場合、入力モードで日本語を入力したあとにコマンド・モードに遷移すると、日本語 IME も解除する必要があります。 Windows 版 gVim はこの IME のオン / オフ制御を行ってくれますが、間に CygTerm をはさんだ Cygwin 版 vim はそこまで賢い動きをしてくれません。 そこで今回は、ちょっと変則的ですが CygTerm 越しの mutt から Windows 版 gVim を起動してメールを作成するよう設定します。

    Cygwin のセットアップ

    最初に Cygwin のセットアップです。

    • Cygwin Information and Installation

    上記サイトから setup.exe をダウンロードしてインストールを行います。 以下のパッケージを追加でインストールしてください。

    • Devel
    • Mail
      • mutt
      • ssmtp

    カテゴリー "Devel" は送信設定の範囲では不要ですが、後日執筆予定の mutt + Cygwin + Maildir という構成の受信設定を行うために必要になります。 Maildir を使いたい人は入れておいてください。

    CygTerm のセットアップ

    続いて CygTerm のセットアップです。

    • SourceForge.jp: Project Info - UTF-8 TeraTerm Pro with TTSSH2

    上記サイトから最新版をダウンロードしてインストールします。 インストール途中のコンポーネント選択画面で "CygTerm+" にチェックを入れ忘れないように。 TeraTerm をインストールしたディレクトリにある "cygterm.exe" が実行ファイルです。 メニュー "Setup > Additional Settings" の "Cygwin" タブから CygTerm の設定を行えます。 "TERM" 欄の ttermpro.exe の引数 "/KR" , "/KT" で文字エンコーディングを指定できるので、双方とも "EUC" としましょう。 設定変更後は "Setup > Save settings..." で明示的に設定を保存する必要があります。

    ssmtp のセットアップ

    続きましては ssmtp の設定を行います。 ssmtp はごくごくシンプルな MTA で、別の SMTP サーバーにメールを送りつける役割を果たします。 mutt はメールを送る機能(SMTP を話す機能)すらも、こういった別ツールを呼び出すことでまかなっているのです。 ssmtp の設定は ssmtp-config コマンドで行います。 たった六つの質問に答えるだけの簡単設定です。 設定項目は順にこんな具合。

    1. メールをリレーしてもらう SMTP サーバー
    2. ssmtp が送信メールの From フィールドを書き換えるかどうか。今回は書き換えないように "YES" を設定(意味が逆なような気がするんだけど……)
    3. ssmtp が動作するホストの名前
    4. メールアカウントの @ 以降
    5. エラーメールの戻り先となるユーザー名
    6. sendmail コマンドの代わりに使うかどうか。今回は sendmail がないので "y" に。

    以下は設定例です。 環境に合わせて読み替えてください。

    $ ssmtp-config
    Configure sSMTP in Six Easy Steps
    
    (1) mailhub
    This is the computer responsible for handling your outgoing mail.
    It could be the SMTP server of your ISP, or a departmental mailhub.
    Use the fully-qualified domain name (foo.bar.baz) of the mailhub;
    if it uses an unusual SMTP port number, use the colon syntax
      foo.bar.baz:2525
    Otherwise sSMTP will use the standard SMTP port number (25).
    (Note that sSMTP can support a user-dependent mailhub with the
    'reverse aliases' feature, for which see the man page.)
    
    Please enter your mailhub []: smtp.example.com
    
    (2) FromLineOverride
    This specifies how sSMTP handles the From: line of outgoing mail.
    If FromLineOverride=YES, sSMTP will leave the From: line alone if
    it already exists.  If FromLineOverride has any other value, or
    there is no From: line, sSMTP creates the From: line using your
    username (or the -f command-line option), and the value of the
    rewriteDomain option (step (4), below).
        If you use a mail user agent (MUA; e.g. mutt, pine) I recommend
    using YES and having the MUA set the From: line.  (Exception: the
    'reverse aliases' feature can be used to set up a particular From:
    address for each user, in which case don't use FromLineOverride=YES.
    See the man page.)
    
    FromLineOverride? [YES]: YES
    
    (3) hostname
    sSMTP uses the hostname of your computer to identify itself to the
    mailhub, and in the Received: headers of the outgoing mail.  This
    has relatively little effect on how the mail is handled.
        Use the fully-qualified domain name (FQDN) of your computer
    (foo.bar.baz).  If it doesn't have a FQDN, use some name for your box.
    
    Hostname of your box []: mypc.example.com
    
    (4) rewriteDomain
    Please enter the mail name of your system.
    sSMTP uses this value to add a domain to unqualified e-mail addresses
    (addresses without an @-sign).
        You probably want to use the domain from your own e-mail address.
    You probably want to set up your MUA to handle unqualified addresses
    itself, in which case sSMTP will never have to use this.  (Users of
    cron note that cron always uses unqualified addresses.)
    
    Mail name []: example.com
    
    (5) root
    If sSMTP finds an unqualified e-mail address among
    the recipients, and it corresponds to a username on your local
    machine with a userid less than 1000, then the e-mail is sent to
    this value instead.  The idea is that mail sent to 'root' should
    probably go to 'postmaster' instead.
        If you set up your MUA to do its own handling of unqualified
    addresses, this is irrelevant.  (But note that cron does use
    unqualified addresses corresponding to local usernames.)
    Use your own e-mail address unless you know a better postmaster.
    
    System users receive mail at []: myAccount
    
    (6) link /usr/sbin/sendmail to /usr/sbin/ssmtp?
    Some programs (e.g. cron) expect /usr/sbin/sendmail to handle mail.
    Currently it does not exist.
    Changing it to a link to ssmtp may affect other programs such as cron.
    
    Do you want to link /usr/sbin/sendmail to /usr/sbin/ssmtp (y/N)? y
    
    Please check the configuration file /etc/ssmtp/ssmtp.conf for correctness.
    gVim のセットアップ

    下ごしらえの最後は gVim の設定です。 gVim 本体をインストールする前に、文字エンコーディング変換のためのライブラリを導入します。

    • KaoriYa.net

    こちらから libiconv.dll を入手し、%SystemRoot%system32 フォルダなどにコピーします。 このライブラリがあると、gVim で :set fileencoding することで文字コード変換を行うことができるようになります。

    gVim の最新版は 7.0 です。 以下のサイトなどから入手してインストールします。

    • welcome home : vim online

    今回の構成で gVim は Cygwin 環境から呼ばれることになります。 そのため Cygwin での環境変数 $HOME の値を引き継ぐことになり、gVim は設定ファイルとして Cygwin の ${HOME}/.vimrc を読みにいきます。 .vimrc の詳細は別のドキュメントに譲るとして、今回はファイルを euc-jp として扱うために以下の行を追加します。

    set fileencoding=euc-jp
    set fileencodings=euc-jp,iso-2022-jp,utf-8,ucs2le,ucs-2,cp932
    .muttrc の設定

    さて、ここまでで下ごしらえは完了。 いよいよ mutt の設定です。 mutt はデフォルトで ~/.mutt/muttrc を設定ファイルとして読みに行きます。 設定項目などの詳細は以下のドキュメントを参照してください。 ここでは動作させるために最低限必要な設定のみを述べます。

    • The Mutt E-Mail Client - version 1.4
    • The Mutt E-Mail Client - version 1.5.1

    まずは文字エンコーディング関連の設定です。 EUC-JP を使うよう設定します。

    set charset=euc-jp
    set send_charset=us-ascii:iso-2022-jp

    続いてメール作成に使うエディタの設定です。 先ほど設定した gVim を指定します。 ドライブ・レター周りの記述にご注意を。 gVim の実行ファイルは Cygwin スタイルで記述し、編集すべきファイルは DOS スタイルで記述します。 "%s" はファイル名に置換されますが、Cygwin の "/" から始まるパスになっているので、Windows から見た Cygwin のインストール・パスを頭に追加してください。 以下設定例です。 環境に合わせて読み替えてください。

    set editor="/cygdrive/c/Vim/vim70/gvim.exe c:/cygwin%s"

    送信設定の最後は、送信ユーザーのメールアカウントです。 From ヘッダフィールドに設定される各値を設定します。

    set realname="Foo Bar"
    set hostname="example.com"
    set from="Foo.Bar@example.com"

    以上で基本的な送信設定は完了です。

    シェルの設定

    設定の最後はシェルの設定です。 mutt を動かすには以下の設定を行います。

    $ unset LC_CTYPE
    $ unset LC_MESSAGES
    $ export LC_ALL=ja_JP.eucJP
    起動と動作確認

    いよいよ mutt を起動しましょう。

    $ mutt

    メールを作成するには "m" と入力します。 To と Subject を訊かれた後に gVim が起動するはずです。 gVim で :set fenc? として文字エンコーディングを確認してください。 もし euc-jp 以外の値が表示された場合は :set fenc=euc-jp として文字エンコーディングを変更する必要があります。 本文を入力して gVim を終了すると、mutt の送信確認画面に移ります。 送信メールの内容を確認して、問題なければ "y" と入力してください。 メールが送信されます。


    以上、Cygwin 上で mutt を使うための設定前半「送信設定編」でした。 このあとはメールの受信設定を行うのですが、実は素の mutt はちょっと問題を抱えていて、Maildir 形式をまともに扱えません(根本原因は mutt ではなく Maildir 形式と Windows の相性ですが)。 ぼくのメールボックスは、過去に qmail を使っていた経緯から Maildir 形式になっています。 このあたりの詳しい状況と問題の回避方法は後半の「受信設定編」で。

    [ permalink ] [ 0 comment(s) ] [ 0 trackback(s) ]
  • 000641
    コマンドラインで計算
    miz 2005-09-14 22:01

    日々,ちょっとした計算をする場面があります. そんなときにぼくは TeraTerm のウィンドウに手を伸ばします. "cd" を慌てて入力して "dc" と typo した経験があるのはぼくだけではないと思いますが,この dc って実は計算機なんですよ.

    • dc

    逆ポーランド記法で入力する任意精度の計算機です. 逆ポーランドという時点で嫌になる(もしくはわけがわからない)人もいるかもしれませんが,ぼくのように常にターミナルが起動している人間は覚えておいて損はないと思いますよ. 逆ポーランド記法で書かれた計算式は,情報工学 / 計算機工学を学んだ人にはお馴染みのスタックを使って簡単に計算できます. そんなに難しい概念じゃないし,演算子の優先順位にとらわれずに入力できて非常に便利(つまりは括弧がいりません).

    • 逆ポーランド記法

    以下,使い方を簡単に.

    dc は標準入力から式を受け取ります. p は,スタックの TOP を表示するためのコマンドです.

    $ echo '25000 50 / p' | dc
    500

    同様のことが "-e" オプションでも可能です.

    $ dc -e '25000 50 / p'
    500

    スクリプトも使えます.

    $ cat calc.txt
    2500
    50
    /
    p
    
    $ dc -f calc.txt
    50

    対話形式も可能です. このモードはちょっと込み入った計算をするには非常に便利です.

    $ dc
    
    # スタックに積んで TOP を表示
    1 100 p
    100
    
    #スタックの中身を表示
    f
    1
    100
    
    # 割り算を実行
    / p
    0
    
    # スタックをクリアして TOP を表示
    c p
    dc: stack empty
    
    # 精度を 10 に変更
    10 k
    
    # 割り算を実行
    1 100 k
    .0100000000
    
    # 2 の平方根を計算
    2 v p
    1.4142135623
    
    # 終了
    quit
    [ permalink ] [ 0 comment(s) ]
  • 000565
    Cygwin + teapop
    miz 2005-05-30 02:06

    今までは Cygwin + Courier-imap で電信八号の似非 imap 対応を行っていました. しかし,最近のバージョンの Courier-imap を Cygwin でコンパイルするのがなかなか難しく,今回 Courier-imap は諦めて teapop なるものを使ってみることにしました.

    • Teapop

    Teapop は MTA や MDA の機能を持たず,POP のみを提供します. その分,POP 周りの機能は強力で,VirtualDomain , APOP , POP before SMTP , Maildir などなど,様々な仕様に対応しています.

    セットアップ手順
    1. コンパイル

      make install が正常に動作しないので,必要なものだけを手動でコピーしました.

       $ tar zxvf teapop-latest.tar.gz
       $ cd teapop-0.3.8
       $ ./configure \
       > --prefix=/usr/local/teapop-0.3.8 \
       > --disable-apop \
       > --disable-vpop \
       > --enable-homespool=Maildir
       $ make
       $ mkdir -p /usr/local/teapop-0.3.8/libexec
       $ mkdir -p /usr/local/teapop-0.3.8/etc
       $ cp teapop/teapop.exe \
       > /usr/local/teapop-0.3.8/libexec
       $ cp etc/teapop.passwd \
       > /usr/local/teapop-0.3.8/etc
    2. teapop.passwd

      認証の方式を設定します.

      /usr/local/teapop-0.3.8/etc/teapop.passwd
      empty:*:textfile:/var/mail/::::/etc/teapop.passwd:50:

      "/var/mail" は存在するディレクトリで,teapop の実効 UID でアクセス可能なディレクトリであればどこでも良いかと思います. 今回は以下のように作成しました.

       $ mkdir -p /var/mail
       $ chmod 777 /var/mail
    3. /etc/teapop.passwd

      パスワードファイルです. このファイルの内容に基づいて,POP によるアクセスの認証を行います.

      /etc/teapop.passwd
      username:passwd:/home/username/Maildir/

      "Maildir" の最後の "/" がポイントです. これがないと mbox 形式で動作してしまいます.

    4. 起動

      スタンドアローンモードで起動します.

       $ /usr/local/teapop-3.0.8/libexec/teapop -s
    [ permalink ] [ 0 comment(s) ]
  • 000390
    Cygwin 上で xfs
    miz 2004-08-30 00:32

    今回も失敗でしたが備忘録.

    Konqueror on Cygwin/X (≠ on Cygwin) ができるようになったのですが,フォントが汚すぎるのでなんとかしましょう,というのがそもそもの動機です.

    簡単に環境のご説明をします.マシンは二台.

    • WIndows2000 + Cygwin/X Xorg X11R6.7.0
    • VineLinux2.6 + XFree86 4.2.1

    最初は Cygwin 上の xfs を使おうとしたのだけれど,どうも日本語 TrueType が通らない模様で xfs の起動時にこんなメッセージが出てしまいます.

     $ xfs
    _FontTransmkdir:
      Owner of /tmp/.font-unix should be set to root
    xfs notice: ignoring font path element .../TT/ (unreadable)
    xfs notice: ignoring font path element .../TTF/ (unreadable)
    xfs notice: ignoring font path element .../CID/ (unreadable)

    mkfontdir , mkfontscale も試してみたのですがダメです. fonts.dir , font.scale の問題というよりも,xfs が *.ttf を読めなくてコケているような印象です.

    この方針を諦めて,次は Linux マシン上の xfs を使う方法を試みました.

    Linux マシンで次のようにして xfs を起動します.

     $ su
    Password:
     # vi /etc/X11/fs/config
    <必要に応じて設定変更>
     # /etc/rc.d/init.d/xfs restart

    Cygwin/X 側では XWin に次のようなオプションを渡して起動します.

    > XWin -multiwindow -fp tcp/192.168.1.2:7100

    IPアドレスとポート番号は xfs につなぐために用いるものです. 適宜変更してください.

    最後に,Konqueror を起動します.

     $ DISPLAY=192.168.1.1 konqueror

    [Settings] => [Configure Konqueror] => [Fonts] でフォントを指定できるようになっているはずなので,お好きなフォントを選択してください. これでめでたく設定完了,のはずだったのですが,日本語フォントがところどころ豆腐に. あいたた. どうやら,ここの FAQ の二番目に該当しそうな感じです. Linux マシンの xfs を入れ替えるのが正しそうだけれど,そこまでいじる余裕は今は無いので,今はこれで我慢します. いずれ Linux をディストリビューションから再検討/再インストールしよう.

    でも,同じ文字でもサイズによっては表示されるんだよなぁ. TrueType のくせに全然スケーラブルじゃない.

    [ permalink ] [ 1 comment(s) ]
  • 000389
    Windows 上で Konqueror
    miz 2004-08-29 17:22

    Cygwin 上で Konqueror を動かそうと試みました. 試み自体は結果的に失敗して,結局 Linux から X で飛ばす手法を採用したのですが,備忘録を兼ねて書いておきます.

    Konqueror は KDE 標準のファイルマネージャで,Web ブラウザとしての機能も非常に充実しています. 機能だけではなく,性能もかなり良いようで,レンダリングエンジンの KHTML は Safari にも採用されています. 経緯はこのあたり.

    ぼくが今回 Konqueror のセットアップを行おうとしたのも,gadget から Safari上での麦酒堂の表示がおかしいと指摘を受けて,手元に確認環境が欲しかったから. Safari そのものはムリでも,同じレンダリングエンジンを持つ Konqueror なら何とかなりそう. Safari がどの時点のコードをベースにしていて,現状 Konqueror とどれだけ同期取られているのかはわからないけれど,無いよりはマシでしょう.

    という経緯で,まずは Konqueror on Cygwin を目指しました. Konqueror はそれ単体で配布されているのではなく,KDE のパッケージの一部なので "cygwin KDE" というキーワードで google. 世の中,やはり同じようなニーズはあるようで,こんなサイトを発見.

    • 真ゼロ円でできるXサーバ Cygwin/XFree86でKDE & GNOME - @IT
    • KDE on Cygwin

    そのものズバリです. しかし,@IT の記事通りにセットアップを進めても,ファイルのダウンロードが途中で中断されます. 何度やってもダメ. 断念して,この説明を参考に手動インストールを試みました. ファイルを3つダウンロードして展開するだけの,なんともお手軽インストール.
    インストール自体は無事終わるのですが(ファイル展開するだけだからコケようも無いが)Konqueror の調子がおかしい. "file" , "http" ともに "protocol not supported" と言われ,メニューはグレー,設定パネルも開かない.

    なんとも埒があかないため,on Cygwin は断念して Linux サーバに KDE を入れてしまいました. 必要なパッケージは以下の3つで,これらが依存するものも全て入手する必要があります.

    • qt-3.2.3
    • kdebase-3.1.5
    • kdelibs-3.1.5

    これらを VinePlus for 2.6 から落として rpm -ivh. Windows マシン上で Cygwin/X を起動しておいて,

     $ LANG=ja_JP.sjis DISPLAY=192.168.1.1:0 konqueror

    これで無事に Konqueror が起動しました.

    うん.確かにこれで見ると麦酒堂も色々と問題がありますなぁ. 直してゆかねば・・・.

    [ permalink ] [ 2 comment(s) ]
  • 000388
    Cygwin + OpenSSH 3.9p1 でログインできない問題
    miz 2004-08-29 15:18

    昨日 Cygwin のアップデートをかけたところ,OpennSSH のバージョンも 3.9p1 にあがりました. それ以降,ttssh でログインを試みるも,はじかれるようになってしまいました. パスワードを入力して "OK" 直後は一瞬つながるようですが,すぐに "[disconnect]" に.

    Windows2000 のアプリケーションログには以下のようなものがはかれており,やはり一旦は認証を通過している模様.

    イベント ID (0) (ソース sshd 内) に関する説明が見つかりませんでした。リモート コンピュータからメッセージを表示するために必要なレジストリ情報またはメッセージ DLL ファイルがローカル コンピュータにない可能性があります。次の情報はイベントの一部です: sshd : PID xxxx : Accepted password for xxx from 127.0.0.1 port 1654.
    イベント ID (0) (ソース sshd 内) に関する説明が見つかりませんでした。リモート コンピュータからメッセージを表示するために必要なレジストリ情報またはメッセージ DLL ファイルがローカル コンピュータにない可能性があります。次の情報はイベントの一部です: sshd : PID xxxx : syslogin_perform_logout: logout() returned an error.

    調べてゆくとこういうものを発見しました.

    Updated: OpenSSH-3.9p1-1
    Thanks to an early bug report on the cygwin mailing list, I found that you *must* add the -r option when starting the sshd daemon, if you want to use privilege separation. Either that, or disable privilege separation in /etc/sshd_config by setting

    UsePrivilegeSeparation no

    最初は "-r" に挑戦したのだけれど,どうもムリ.

    仕方が無いので

     $ chmod 664 /etc/sshd_config
     $ vi /etc/sshd_config
     $ chmod 644 /etc/sshd_config

    として /etc/sshd_config を編集し,

     $ cygrunsrv -E sshd
     $ cygrunsrv -S sshd

    とすると,無事にログインできるようになりました.

    ところで,ここで no にした privilege separation とは何ぞや?

    Privilege Separated OpenSSH

    う~ん,認証フェーズでの脆弱性に対処ですか・・・. 本来は yes のままで認証が通るように設定すべきなのかもしれないけれど,閉じたネットワーク内なので目をつぶります. 一応,一件落着.

    [ permalink ] [ 1 comment(s) ]
  • 000377
    Courier-imap 3.0.7 with Cygwin 1.5.10-2 の問題点
    miz 2004-08-12 02:27

    配属が決まり,会社から PC も支給されたのでさっそく Courier-imap 3.0.7 をセットアップしました (動機等の詳細はこちらを参照). 一通りセットアップを終えたのですが,なんと,動きませんでした.

     $ /usr/local/courier-imap/libexec/pop3d.rc start
    socket: Operation not permitted
    ll_daemon_start: Resource temporarily unavailable

    Courier-imap のバージョンやファイルのパーミションなどを変え,いろいろと試行錯誤したのですが状況は好転せず. 苦肉の策で All ==> Base ==> cygwin のバージョンを 1.5.9-1 に落としたところ,Courier-imap が無事に起動するようになりました.

    どこに原因があったのかは不明なのですが,ひとまず上記方法で Courier-imap が起動しないという問題は回避できるかと思います.

    [ permalink ] [ 0 comment(s) ]
  • 000254
    電信八号の擬似 imap 対応
    miz 2004-02-01 12:54

    ぼくのデフォルト MUA,電信八号はimap に対応していません.しかし,春から働く会社のメールサーバは imap のみで,pop は使えないため,以前働いていたときは次のような解決策をとっていました.

    1. Linux マシンを用意
    2. qmail をセットアップ
    3. fetchmail (imap 対応) でサーバからメールを取得
    4. qmail でローカル配信
    5. 電信八号で pop アクセス

    まぁ,これでも良いのだけれど,入社してすぐに Linux マシンを調達できるかわからないので,これらを cygwin 上で実現してしまおうというのが,今回の目標です.これならば,電信八号が動く PC 上で全てまかなえます.

    まずは fetchmail と,MDA として procmail をセットアップします.これらは Cygwin デフォルトのパッケージが用意されているので,これを使いました.設定ファイルは次のような感じです.ただし,この設定ではメールサーバにメールを残す (keep) ので,サーバ側の容量上限には注意してください.

    ~/.fetchmailrc
    defaults
      mda "/usr/bin/procmail"
    
    poll <server name>
      protocol imap
      username <user name>
      password <password>
      no mimedecode
      no rewrite
      keep
    
    ~/.procmailrc
    LOGFILE=${HOME}/procmail.log
    MAILDIR=${HOME}/Maildir
    NEWDIR=${MAILDIR}/new
    DEFAULT=${HOME}/Maildir
    # 全て NEWDIR に連番で保存
    :0 :
    ${NEWDIR}/.
    現在,procmail が一部のメールを取りこぼして /var/spool/mail/ 以下に配信される現象が発生しており,解決策を模索中です.
    [2004-02-01 19:40] 設定を変更しました.今のところ上記の設定できちんと動いているようです.

    メール保存用のディレクトリ,Maildir を用意します.

     $ cd ~
     $ mkdir -p Maildir/new
     $ mkdir -p Maildir/tmp
     $ mkdir -p Maildir/cur
     $ chmod -R 700 Maildir

    以上の設定で,メールの取得とローカル配信が可能になるはずです.次のように fetchmail を実行してみてください.サーバにメールがあればそれを取得し, ~/Maildir/new 以下に配信されるはずです.

     $ fetchmail

    次に,pop サーバの立ち上げですが,ここでかなりはまりました.最初に qmail を試したのだけれど,cygwin 上ではコンパイルが通りません.次に試した qpopper は,コンパイルは通れど,動作せず.
    そして最後に試したのが courier-imap です.これでやっとセットアップに成功しました.(名前は "imap" ですが, pop サーバも同梱されています)

    courier-imap on cygwin セットアップログ

    ここまでがうまくいったら,crond を使って fetchmail を定期的に起動するための設定を行います.crond がインストールされていない場合は setup.exe で追加してください.その上で,次のように Windows のサービスに追加します.

    $ cygrunsrv.exe \
    > -I "CYGWIN crond" \
    > -p /usr/sbin/cron.exe \
    > -a "-D"

    次にcrontab を編集します.次の例では10分間隔に設定しています.

     $ crontab -e
    0,10,20,30,40,50 * * * * /usr/bin/fetchmail

    以上の設定を終えると,fetchmail が定期的にサーバからメールを取得し,procmail が ~/Maildir に配信したものを,courier-pop3d 経由で電信八号で受信できます.

    [ permalink ] [ 6 comment(s) ]
  • 000242
    Cygwin/X
    miz 2004-01-25 14:11

    未だに環境構築に手を焼いています.満足のゆく環境でないと気が散って仕事がはかどらない性分は,何とかならないものか・・・.

    今度は Cygwin/X を試してみました.Windows 上で動くフリーの X Server です.だいぶん前にセットアップはしていたのだけれど,いかんせん TeraTerm さえあれば十分な使い方しかしていなかったので,忘れていました.

    インストールの詳細な手順は,Cygwin/X の User's Guide を参照してください.ぼくがインストールしたころから,もしかしたら手順が多少変わっているかも知れませんが,基本的には "XFree86" というカテゴリを "Default" で入れれば良いはずです.

    [2004-01-26] "Default" ではなく "Install" でした.

    起動するには /usr/X11R6/bin にある "startxwin.bat" というバッチファイルを走らせれば良いのですが,デフォルトであがる xterm はいらないのでちょっと編集しました.

    startxwin.bat

    [2004-01-25] レイアウトがあまりにひどいのでリンクにしました

    コメント行などは省略しています.xterm を起動する行を消し,最後に xhost を追加しました.これにより,該当する IP アドレスからウィンドウを飛ばすことが出来るようになります.逆に xhost しないのであれば xterm は起動してあげたほうが良いです.面倒なので.

    あとはこのバッチファイルを実行すれば,Cygwin/X サーバが起動します.タスクトレイにアイコンが現れるはずです.終了はこのアイコンからどうぞ.

    以上を終えた上で,Linux box で次のように Tgif を走らせれば,Windows マシンに Tgif のウィンドウが表示されます."192.168.1.1" の部分は適宜変更してください.

    $ DISPLAY=192.168.1.1:0 tgif &

    しかし,この Tgif は日本語入力,日本語のコピペなどが出来ませんでした・・・.そこまで調査する余裕はさすがになく,結局は tightVNC に逆戻りです.となると,ぼくがこれを使う可能性があるのは ethereal くらいだな・・・.

    [ permalink ] [ 4 comment(s) ]
  • 000161
    cygwin + OpenSSH
    miz 2003-11-13 22:17
    Windows のコマンドプロンプトでコーディングをするのは,さすがに厳しいので,cygwin を入れました.
    PCのパワーのおかげなのか,Cygwin が進歩したのか,以前よりはるかに動作が軽快になっていて,実用に十分耐えうるという感触です. ただ,それでもやはりインタフェースはコマンドプロンプトなので,コピペなどの細かな点ははまだまだ不満があります. そこで,TeraTerm が使えるように,Cygwin 上に OpenSSH を入れて,127.0.0.1 で sshd を立てました.
    これで,Linux とあまり変わらないコーディング環境が出来上がったので, これから,ちょこちょことコードを書きながら .NETをお勉強してゆきます.

    情報源はこちら
      http://www.cygwin.com/
      ウインドウズにSSHサーバーを入れよう !


    それでは,以下セットアップ手順です.

    01. cygwin のセットアップ
    これは,世にいくらでも情報源はあるので,ここでは詳細は割愛します. ただ,
    • openssh
    • cygrunsrv
    は必ずインストールしてください. ぼくは,加えて vi もインストールしました.


    02. sshd の設定
    ホスト関連の設定を行います.
    途中で,3 つ質問されます. 一つ目は,デーモンを走らせる権限関連, 二つ目と三つ目はデーモン起動設定関連です. ひとまず,yes , yes , default で良いと思います.
    ━━━━━━━━━━━━━━━━━━━━━━━━━
    $ ssh-host-config
    Generating /etc/ssh_host_key
    Generating /etc/ssh_host_rsa_key
    Generating /etc/ssh_host_dsa_key
    Generating /etc/ssh_config file
    Privilege separation is set to yes by default since OpenSSH 3.3.
    However, this requires a non-privileged account called 'sshd'.
    For more info on privilege separation read /usr/share/doc/openssh/README.privsep
    .
    Should privilege separation be used? (yes/no) yes
    Generating /etc/sshd_config file
    
    Warning: The following functions require administrator privileges!
    
    Do you want to install sshd as service?
    (Say "no" if it's already installed as service) (yes/no) yes
    
    Which value should the environment variable CYGWIN have when
    sshd starts? It's recommended to set at least "ntsec" to be
    able to change user context without password.
    Default is "ntsec".  CYGWIN=
    
    The service has been installed under LocalSystem account.
    To start the service, call `net start sshd' or `cygrunsrv -S sshd'.
    
    Host configuration finished. Have fun!
    ━━━━━━━━━━━━━━━━━━━━━━━━━
    


    03. ユーザごとの設定
    秘密鍵,暗号鍵を作成します.
    ━━━━━━━━━━━━━━━━━━━━━━━━━
    $ ssh-user-config
    Shall I create an SSH1 RSA identity file for you? (yes/no) yes
    
    Generating /home/miz/.ssh/identity
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Do you want to use this identity to login to this machine? (yes/no) yes
    Adding to /home/miz/.ssh/authorized_keys
    Shall I create an SSH2 RSA identity file for you? (yes/no)  (yes/no) yes
    Generating /home/miz/.ssh/id_rsa
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Do you want to use this identity to login to this machine? (yes/no) yes
    Adding to /home/miz/.ssh/authorized_keys
    Shall I create an SSH2 DSA identity file for you? (yes/no)  (yes/no) yes
    Generating /home/miz/.ssh/id_dsa
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Do you want to use this identity to login to this machine? (yes/no) yes
    Adding to /home/miz/.ssh/authorized_keys
    
    Configuration finished. Have fun!
    ━━━━━━━━━━━━━━━━━━━━━━━━━
    


    04. 設定ファイルの編集
    今回は外部からの接続は不要なので, 127.0.0.1 で listen させることにします.
    事前に chmod g+w /etc/sshd_config で,パーミションを変更して置いてください. [/etc/sshd_config] (一部抜粋)
    ━━━━━━━━━━━━━━━━━━━━━━━━━
    Port 22
    Protocol 2,1
    ListenAddress 127.0.0.1
    ━━━━━━━━━━━━━━━━━━━━━━━━━
    


    05. sshd の起動
    ━━━━━━━━━━━━━━━━━━━━━━━━━
     $ cygrunsrv -S sshd
    ━━━━━━━━━━━━━━━━━━━━━━━━━
    


    06. 接続のテスト TeraTerm などから,127.0.0.1 に対して ssh 接続してみます. きちんと接続されれば大丈夫です.
    接続されない場合は,
    ━━━━━━━━━━━━━━━━━━━━━━━━━
     $ cygrunsrv -E sshd
     $ cygrunsrv -R sshd
    ━━━━━━━━━━━━━━━━━━━━━━━━━
    
    として sshd のサービスをいったん削除した後に, cygwin の setup.exe で OpenSSH を Reinstall し, もう一度設定を試みます.
    [ permalink ] [ 8 comment(s) ]
概要
Windows で動く Linux-like な環境である Cygwin について.
最近のコメント
  • new マンホールの耐用年数 [2]
    last comment : miz : 09/03 08:48
  • new 飲みました - エーデルピルス - サッポロビール [2]
    last comment : miz : 07/22 08:49
  • new 大型連休山梨旅行 [2]
    last comment : miz : 07/22 08:44
  • new 山田工業所 打出し中華鍋 [5]
    last comment : so : 06/25 23:23
  • new Mac mini にメモリ増設 [2]
    last comment : miz : 06/16 13:08
  • new 飲みました - ザ・プレミアム無濾過 リッチテイスト - キリンビール [3]
    last comment : なまい : 06/03 22:14
  • new 大図典View - 講談社 [2]
    last comment : miz : 05/27 02:30
  • new 本日のビール - 05/20 [2]
    last comment : miz : 05/26 16:46
  • new 吉祥寺の食材事情 [2]
    last comment : miz : 05/26 16:23
  • new 本日のビール - 05/15 - 祝!禁酒明け [2]
    last comment : miz : 05/19 11:18
最近のエントリ
  • マンホールの耐用年数、その後 - かえるの子は
  • 本日のビール - 10/01
  • 本日のビール - 09/30
  • 本日のビール - 09/28
  • 本日のビール - 09/27
  • 本日のビール - 09/26
  • 本日のビール - 09/22
  • 飲みました - キリンスムース
  • 本日のビール - 09/19
  • 本日のビール - 09/18
  • and more ...
このページの被検索語(最新20件)
  • cygwin KDE 日本語
  • cygwin truetype 表示
  • cygwin vim syntax
  • xwin save under
  • cygwin Xorg openssh
  • cygwin X font path
  • cygwin に関する説明が見つかりませんでした。
  • Cygwin フォント CID mkfontdir
  • cygwin 使い方 foreach
  • teraterm cygwin
  • dc ポーランド 計算機
  • cygwin vi
  • [www.google.de]
  • teraterm 計算式
  • cygwin crontab
  • cygwin openssh resource temporarily unavailable
  • cygterm crontab
  • cron cygwin net install
  • cygwin 使い方
  • teraterm cygwin
(C) Copyright 2003-2008 miz

Some rights reserved.
You can copy the contents in this page (including text and photographs, except program code) and/or redistribute it under the terms of the Creative Commons Attribution-ShareAlike 2.5 License.
(C) Copyright 2003-2008 miz