[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9. ange-ftp 関連

9.1 ange-ftp を使うにはどうすれば良いでしょうか?  
9.2 ange-ftp を使って、proxy サーバタイプのファイアウォールを越えてアクセスしたい場合、どのように設定すればよいでしょうか?  
9.3 ange-ftp で、NAT(IP-masquerade)の機能を持つファイアウォールまたはダイアルアップルータを越えてアクセスすると、エラーが出てしまうことがあります  
9.4 ange-ftp で Passive mode が使えますか? あるいは SSH の port forwarding を使ってアクセスできますか?  ange-ftp で Passive mode が使えますか?
9.5 ange-ftp を使って dired をすると、ファイルを選んでも"No file on this line" というエラーがでてしまいます。  
9.6 ange-ftp で、ログインした直後のディレクトリにあるファイルしかアクセスできません。  
9.7 ange-ftp 使用後に Meadow を終了させると、Windows 95 がハングアップしてしまいます。  
9.8 ange-ftp を使ってバイナリファイルに開くと、ファイルの内容が壊れてしまいます。あるいは転送途中でエラーが起こります。  
9.9 ange-ftp でホスト名等を補完  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.1 ange-ftp を使うにはどうすれば良いでしょうか?

Meadow にはコンソールアプリケーションの ftp.exe が付属していますので、 ange-ftp を使う事ができます。使い方は、C-x C-f (find-file) もしくは、C-x d (dired) として、 /username@hostname:/directory


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.2 ange-ftp を使って、proxy サーバタイプのファイアウォールを越えてアクセスしたい場合、どのように設定すればよいでしょうか?

proxy サーバを越えて ange-ftp を使用する場合は、以下のような設定を `.emacs' に追加して、各変数の値をお使いのネットワーク環境に合わせて修正 して下さい。

 
(setq ange-ftp-gateway-host "proxy-server"
      ange-ftp-smart-gateway-port "21"
      ange-ftp-local-host-regexp ".*"
      ange-ftp-smart-gateway t
      )

ここで proxy-server の部分には、proxy サーバのホスト名を指定します。 ange-ftp-smart-gateway-port には proxy サーバのポート番号を指定します ("21" はデフォルト値です)。この設定を行ったあとは、以下のような指定で 外部のマシンにange-ftp できます(user がユーザ名、somewhere.outside.com が外部にあるホスト名です)。

 
Find file : /user@somewhere.outside.com:

ange-ftp-local-host-regexp には、proxy サーバを「通さずに」アクセス したいホストを正規表現で指定します(".*" はデフォルト値で、全て proxy サーバを通します)。例えば、以下のような値を設定した場合、

 
(setq ange-ftp-local-host-regexp
       "\\.hoge\\.co\\.jp$\\|\\.xxx$\\|^[^.]*$")

ドメイン名が .hoge.co.jp であるホスト、.xxx というローカルドメイン内に あるホスト、ドメイン名のついていないホストに対しては、proxy サーバを通 さずにアクセスするようになります。正規表現がよくわからなければ直接ホス ト名を指定しても良いでしょう。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.3 ange-ftp で、NAT(IP-masquerade)の機能を持つファイアウォールまたはダイアルアップルータを越えてアクセスすると、エラーが出てしまうことがあります

Meadow 1.00 および Mule for W32 に付属している ftp.exe では、NAT の機能 を持つファイアウォールあるいはダイアルアップルータの種類によって誤動作す ることがあります。http://virtunix.itribe.net/ から入手できる ftp.exe を、Meadow(Mule for W32) に付属のものと入れ替えて ください。

具体的な機種名として、NTT-TE MN128-SOHO、OMRON MT128-NET/D で この問題が起こるということが報告されています。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.4 ange-ftp で Passive mode が使えますか? あるいは SSH の port forwarding を使ってアクセスできますか?

ftp-for-win32.zip を使えば passive mode を使えるという情報があります。SSH の port forwarding 経由でも利用できるようです。

また、ange-ftp ではありませんが、rsh や ssh を使ってリモートファイルアク セスをするための TRAMP という product があります。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.5 ange-ftp を使って dired をすると、ファイルを選んでも"No file on this line" というエラーがでてしまいます。

ファイルのリストの日付が日本語が表示されていませんか? これは 日本語版 Solaris などのホストに対して ange-ftp を行った場合に よく発生します。この場合は、以下のような設定を `.emacs' に追加し てください。

 
(setq dired-move-to-filename-regexp
      (let* ((l "[A-Za-z\xa0-\xff]")
	     (k "[^\x00-\xff]")
	     (s " ")
	     (yyyy "[0-9][0-9][0-9][0-9]")
	     (mm "[ 0-1][0-9]")
	     (dd "[ 0-3][0-9]")
	     (HH:MM "[ 0-2][0-9]:[0-5][0-9]")
	     (western (concat l l l s dd s "\\(" HH:MM "\\|" s yyyy "\\)"))
	     (japanese (concat mm k " " dd k s
			       "\\(" s HH:MM "\\|" yyyy k "\\)")))
	(concat s "\\(" western "\\|" japanese "\\)" s)))
(eval-after-load 
 "ange-ftp"
 '(progn
    (setq ange-ftp-date-regexp
	 (let* ((l "[A-Za-z\xa0-\xff]")
		(k "[^\x00-\xff]")
		(s " ")
		(mm "[ 0-1][0-9]")
		(dd "[ 0-3][0-9]")
		(western (concat l l l s dd))
		(japanese (concat mm k s dd k)))
	   (concat s "\\(" western "\\|" japanese "\\)" s)))))

また、サーバー側で、LANG=C としてから ftpd を再起動し、英語環境にするこ とでも対処することができます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.6 ange-ftp で、ログインした直後のディレクトリにあるファイルしかアクセスできません。

ftp サーバの種類によっては、ange-ftp の実行する ls が正常に動作 しないサーバがあります。このようなサーバに対しては、以下のような 設定を `.emacs' に追加してください。具体例として、ASAHI ネットの ftp サーバ netftp.asahi-net.or.jp でこの問題が発生するそうですので、 このサーバを例にとります。

 
(setq ange-ftp-dumb-unix-host-regexp "^netftp\\.asahi-net\\.or\\.jp$")


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.7 ange-ftp 使用後に Meadow を終了させると、Windows 95 がハングアップしてしまいます。

根本的な原因と対処方法はまだわかっていませんが、以下の設定を `.emacs' に書いておくことで、このトラブルの発生する頻度を少なく させることができるようです。

 
(if (fboundp 'org:delete-process)
    nil
  (fset 'org:delete-process (symbol-function 'delete-process))
  (defun delete-process (proc)
    (sit-for 1)
    (org:delete-process proc)))


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.8 ange-ftp を使ってバイナリファイルに開くと、ファイルの内容が壊れてしまいます。あるいは転送途中でエラーが起こります。

ange-ftp-binary-file-name-regexp に変な値を設定していないでしょう か。`.emacs' に以下の設定を追加することで、全てのファイルをバイナリ モードで転送するようになります。

 
(setq ange-ftp-binary-file-name-regexp ".*")

ただしこの問題は初期設定では Mule for W32 のみで発生し、Meadow では発生 しません (Meadow では、ftp サーバが UNIX である限り、常にバイナリモード で転送するようになっています)。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.9 ange-ftp でホスト名等を補完

ange-ftp には、リモートホストにアクセスするための /username@hostname: の 補完候補を、.netrc というファイルから自動で作成する機能があります。 詳細は ange-ftp.el 冒頭のコメントを参照してください。 また、.netrc ファイルの書式については ftp コマンドのマニュアルを参照してください。

FreeBSD 日本語マニュアル検索ftp(1) .netrc (リンク切れになっていたら再検索してください)


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Keiichiro Nagano on April, 5 2002 using texi2html