← XeFM English | 日本語 · crftwr/xefm on GitHub · craftware

サーバーへ接続

English | 日本語

XeFM は NAS やファイルサーバーに自分で接続します。macOS では、Finder を開いて Network に入り、共有を開いて /Volumes に出す必要はもうありません。Windows では、エクスプローラーの ネットワーク ドライブの割り当て も不要です。Connect to Server(connect_server)を開いてサーバーを選べば、ペインがその中に移動します。

この接続は、XeFM 独自の通信路ではなく、オペレーティングシステムが行う本物のマウントです。接続が確立すると、共有は普通のディレクトリ(macOS では /Volumes/photo、Windows では \\nas\photo)になるので、XeFM のほかの機能はすべてそのまま使えます。ビューアー、アーカイブ、コピーと移動、外部プログラム、ドラッグ&ドロップ、自動再読み込みなどです。

macOS と Windows で使えます。 Linux ではこのダイアログは提供されません。ディストリビューションが用意するツールで共有をマウントし、ほかのディレクトリと同じように Drives ダイアログから開いてください。

ダイアログを開く

方法  
connect_server Connect to Server を直接開きます
drives Drives ダイアログ。最初の行が Connect to Server… です
メニュー Go → Connect to Server…

サーバーの一覧

このダイアログは Favorites や Drives と同じ、検索できる選択画面です。入力すると絞り込み、Up/Down で移動、Enter で選択、Esc で閉じます。

┌ Connect to Server ────────────────────────────────────────────┐
│ NAS Photo  —  smb://nas/photo  →  /Volumes/photo              │
│ NAS Backup  —  smb://nas/backup                               │
│ Documents  —  https://dav.example.com/files                   │
│ New connection…                                               │
│ SynologyNas  —  on the network                                │
│ Anna's iMac  —  on the network                                │
└───────────────────────────────────────────────────────────────┘

各行にはそれが何かが書かれていて、Enter を押すとそれに合った当然の動作をします。

行の末尾  
→ /Volumes/photo 現在マウントされています。Enter はペインをそこへ移動するだけです。ネットワークも、パスワードも、待ち時間もありません。
アドレス 保存済みで、マウントされていません。Enter で接続してから、ペインを移動します。
— on the network たった今見つかったものです(下記参照)。Enter で、どの共有を提供しているかを問い合わせます。

一覧の remove キー(remove_list_item)を押すと、ハイライトされたサーバーを一覧から消します。何かを切断するわけではなく、一覧からその項目を、保存されたパスワードがあればそれとともに取り除きます。パスワードは共有ごとではなくサーバーとアカウントごとに保存されるので、同じマシンの同じアカウントを使う別の保存済みの行が残っていれば、その行のためにパスワードは残ります。設定ファイルに書いたサーバーはこの方法では消せません。設定ファイルを編集してください。

ネットワーク上で見つかったサーバー

XeFM はダイアログが開いている間、Finder の Network 表示と同じ方法でファイルサーバーを探します。見つかったものは一覧の下に順に現れます。名前はサーバー自身が名乗っているもので、保存されたアドレスがまだないので on the network と表示されます。どれかを選ぶまで、どこにも接続しません。

どれかを選ぶと、何を提供しているかを問い合わせ、2 つ目の一覧を表示します。

┌ Shares on SynologyNas ─────────────────────────┐
│ home                                           │
│ Videos                                         │
│ Documents                                      │
│ PlexMediaServer                                │
└────────────────────────────────────────────────┘

共有を選ぶとマウントされます。「NAS の電源が入っている」から「ペインがその中にある」まで、何も入力せずにこれだけで済みます。

どちらのプラットフォームでも、サーバーの見つけ方は同じです。ローカルネットワーク上でファイル共有を告知しているマシンを探します。NAS も Mac も Samba マシンも、初期状態でそうしています。そのため XeFM は、macOS では Finder が見つけるものを見つけ、Windows では多くの場合エクスプローラーの ネットワーク フォルダーに表示されるものより多くを見つけます。

Windows ではさらにネットワークプロバイダーにも問い合わせます。ドメインや、告知せずにファイルを共有している Windows マシンが見つかるのはこの方法だけです。ただし家庭のネットワークでは何も返ってこないことが多く、一覧はこちらには頼っていません。

何も告知しないマシンはどちらのプラットフォームでも表示されないので、アドレスを入力して接続します。

すでにサーバーとして保存したサーバーは二重には表示されません。保存済みの共有があっても、そのサーバーは隠れません。2 つの行は別のことをするからです。一方はその共有に直接移動し、もう一方はマシンをブラウズします。

共有の一覧をどのアカウントで問い合わせるか

NAS はゲストには何を提供しているかを教えないので、この問い合わせはアカウントを使って行う必要があります。XeFM は、あなたに尋ねる前に、すでに持っているものを試します。

  1. まずゲストとして。公開された共有ならこれで足ります。
  2. だめなら、そのマシンで最後に使ったアカウントで。保存済みのサーバーから探し、なければシステム自身の資格情報ストアから探します。資格情報ストアは、Finder やエクスプローラーで開いたものも含め、これまでに接続したすべてのサーバーのアカウントを覚えています。

それでもうまくいかない場合は、そのサーバーについて接続フォームが開き、«server» needs a user name and password(«server» にはユーザー名とパスワードが必要です)と表示されます。入力して Enter を押すと、共有の一覧が表示されます。共有名を知っている必要も、何かにチェックを入れる必要もありません。Save password は、パスワードを次回のために保存するかどうかを決めるだけです。

ここで入力したものは、照会されることなくそのまま使われます。macOS では、サーバーに共有の一覧を問い合わせるツールがパスワードをコマンドライン引数でしか受け付けないため、その問い合わせにかかる数秒の間、同じ Mac の別のユーザーがプロセス一覧からあなたのパスワードを読めてしまいます。何も書き残されず、何も保存されません。ほかの人もアカウントを持つ Mac など、これが問題になるマシンでは、代わりに共有名を含む完全なアドレスを入力して接続してください。この方法ではそのツールをまったく使いません。

匿名で応答するサーバーにはまずゲストとして問い合わせるので、これが起きるのはアカウントが必要なサーバーだけです。

Save password にチェックを入れると、もう尋ねられません。次にそのサーバーを選ぶと、確認なしで共有の一覧が表示されます。そのサーバーのまだ開いたことのない共有も同様です。パスワードは最初に使った 1 つの共有ではなく、マシンとアカウントに属するからです。

一部のサーバーは、知っているアカウントに対しても共有の一覧を返しません。その場合はフォームがもう一度表示されます。今度はサーバー自身が示した理由と、末尾がスラッシュのアドレスが入っているので、そこに共有名を書き足します。smb://nas/ が smb://nas/Videos になります。

保存していないアドレスに接続する

フィルター行にアドレスを入力して Enter を押します。フィルターではなくサーバーのアドレスのように見えれば、そのアドレスが入力済みの状態で接続フォームが開くので、あとはパスワードだけです。どちらにも見えない場合(どの行にも一致しなかった単語の場合)は、検索だったということなので何も起きません。

新しい接続

+ New connection… を選ぶと小さなフォームが開きます。

項目  
Address smb://nas/photo、\\nas\photo、https://dav.example.com/files など
User name 空のままにするとゲストとして接続します
Password 入力した文字は黒丸で表示されます
Save password 既定ではオフです。パスワードを参照してください
Save this server 既定ではオンです。次回のために一覧に追加します
Drive letter(Windows) 既定では空です。ドライブ文字を参照してください

Up/Down で行の間を移動し(Tab と Shift-Tab も同じです)、Space で今いるチェックボックスを切り替え、Enter でフォームのどこからでも接続し、Esc で取りやめます。

User name と Password を両方とも空にするとゲストとして接続します。アカウントの要らない共有にはこの方法で接続します。

XeFM が接続している間は、サーバー名を示す進捗ダイアログが表示され、Esc で接続をあきらめられます。これは知っておく価値があります。電源の切れたサーバーは接続を拒否するのではなく、ただ応答しないので、抜け出す手段がなければネットワーク自体のタイムアウトまで待つことになるからです。

使えるアドレス

  macOS Windows
SMB/Windows ファイル共有 smb://server/share \\server\share または smb://server/share
WebDAV https://server/path、http://server/path https://server/path
Apple File Protocol afp://server/share —
NFS nfs://server/export —

ユーザー名は、User name 欄ではなくアドレスに書くこともできます(smb://me@nas/photo)。XeFM がそれを切り出して欄に入れてくれます。

ネットワークで名前解決できない短いサーバー名は、name.local としても試されます。Mac や多くの NAS はこの名前で自分を告知しています。そのため smb://nas/photo は、マシンが単なる nas に応答する場合でも nas.local にしか応答しない場合でも見つかり、ボリュームはうまくいったほうの名前で付けられます。

末尾の共有名を省いても(smb://nas)エラーにはなりません。サーバーだけを指定して共有を指定しないアドレスは、そのサーバーをブラウズする要求とみなされ、上で説明した共有の一覧が表示されます。

保存済みのサーバー

一覧には 2 種類の項目が現れ、1 つにまとめて表示されます。

ダイアログから保存したサーバーは XeFM が記憶しており、一覧の remove キーで消せます。

~/.xefm/config.py に書いたサーバーは NETWORK_SERVERS から読み込まれます。

NETWORK_SERVERS = [
    {'name': 'NAS Photo',  'url': 'smb://nas/photo', 'user': 'crftwr'},
    {'name': 'NAS Backup', 'url': 'smb://nas/backup'},
    {'name': 'Docs',       'url': 'https://dav.example.com/files'},
]

name は一覧に表示される名前、url はアドレスで、user は省略できます。設定ファイルの項目は一覧から消せません。Favorites と同じく、その項目については設定ファイルが正です。

パスワードを設定ファイルに書かないでください。 そのための項目はなく、XeFM が設定ファイルからパスワードを読むこともありません。

パスワード

Save password は既定でオフなので、既定では接続するたびに XeFM がパスワードを尋ねます。チェックを入れると、パスワードはオペレーティングシステム自身の保管場所(macOS ではログインキーチェーン、Windows では資格情報マネージャー)に保存されます。設定ファイルや XeFM 自身の状態に保存されることはありません。次回の接続では、欄が入力済みの状態で表示されます。

保存したパスワードを削除するには、そのサーバーとアカウントを使う保存済みの行をすべて一覧から消す(最後の行を消したときにパスワードも消えます)か、キーチェーンアクセス/資格情報マネージャーで項目を直接削除します。

保存は接続が成功したあとに行われるので、保存に失敗した場合はログに報告され、失われるのは保存されるはずだったパスワードだけで、接続は失われません。

サーバーが資格情報を拒否した場合、XeFM はそのことを伝え、入力したアドレスとアカウントのままフォームを開き直します。パスワード欄は空になっていて、すぐにやり直せます。それ以外の失敗(そのようなサーバーがない、そのような共有がない)は、パスワードを入力し直しても解決しないので、それぞれ別に報告されます。

起動時に再接続しない

XeFM は起動時に接続を復元しません。Windows は割り当てたドライブについてこれを提供していますが、ここではあえて真似ていません。到達できないサーバーがあると起動がネットワーク待ちになってしまいますし、NAS の電源が切れているせいで開かないファイルマネージャーは、キーを 1 回余分に押すより悪いからです。保存済みのサーバーなら、ダイアログ 1 つと Enter 1 回で接続できます。

切断と取り出し

どちらも Drives ダイアログの remove キー(remove_list_item)で行います。

ペインがそのボリュームの中にある場合、XeFM はまずペインをボリュームの親に移動し、そのディレクトリの監視をやめます。XeFM 自身の動作のせいでアンマウントが拒否されないようにするためです。ほかの何か(別のアプリケーションで開いているファイル、その中にいるシェルなど)がボリュームを使っている場合は、オペレーティングシステムが拒否し、XeFM は強制せずにそのことを報告します。ボリュームを使っているものを閉じてから、もう一度試してください。

切断が始まると Drives ダイアログは閉じ、何が起きたかはログの行に出ます。なくなったサーバーの切断には少し時間がかかることがあり、答えが返る前に一覧から行が消えてしまうと、まだ誰も知らないことを主張することになるからです。

切断は、一覧から消すこととは違います。切断したサーバーは Connect to Server の一覧に残り、いつでも再接続できます。

ドライブ文字(Windows)

既定では、接続はデバイスなしです。ドライブ文字なしで \\server\share に接続します。XeFM にはこれで十分で、ドライブ文字も空いたままになります。この接続も Drives ダイアログに表示され、そこから切断できます。

それでもドライブ文字を割り当てたい場合は、Drive letter に文字を入力します。UNC パスを受け付けないプログラムに便利です。この欄は空いているドライブ文字があるときだけ表示され、割り当てはサインインをまたいで記憶されません(起動時に再接続しないを参照してください)。

うまくいかないとき

“The server may not exist, or it is not responding”(サーバーが存在しないか、応答していません)— 名前が解決できなかったか、何も応答しませんでした。綴りを確認し、マシンが起動していることを確認してください。スリープしていた NAS は数秒かかることがあります。

Finder で見えるサーバーが XeFM の一覧にない — どちらも同じ告知を使うので、たいていはまだ告知されていなかっただけです。一覧は応答が届くにつれて埋まっていくので、数秒待ってください。何も告知しないサーバー(一部の Windows マシンや、Bonjour をオフにした NAS)はどちらにも表示されないので、アドレスを入力して接続します。

エクスプローラーの ネットワーク フォルダーにあるデバイスが XeFM の一覧にない — エクスプローラーがそれをどのグループに入れているかを見てください。その他のデバイス の下にあるものは UPnP で見つかったものです。UPnP はデバイスがそこにあることを伝えるだけで、ファイル共有については何も伝えません。エクスプローラーは共有ではなくそのデバイスの Web ページを開き、XeFM はそれをサーバーとして表示しません。マシンが実際にファイルを共有していれば、エクスプローラーでの扱いとは関係なく、その告知によって XeFM の一覧に表示されます。

**“ needs a user name and password"**( にはユーザー名とパスワードが必要です)— アカウントが指定されず保存もされていなかったので、XeFM はゲストとして接続しようとしましたが、サーバーがそれを許可していません。ほとんどの NAS は許可しません。アカウントを入力してもう一度試してください。

Windows サーバーで認証が失敗し続ける — ドメイン名またはマシン名で修飾したユーザー名(WORKGROUP\me、nas\admin)を試してください。

共有はマウントされるが空 — サーバーによっては、内容を見るのに 2 段階目の権限が必要な共有を公開しています。同じ共有を一度 Finder かエクスプローラーで確認してください。そこでも空なら、原因は XeFM ではなくサーバーにあります。

macOS:”Connect to Server is not available”(Connect to Server は利用できません)— XeFM がマウントに使うシステムフレームワークを読み込めませんでした。サポート対象の macOS では起きないはずです。理由はログペインに表示されます。

関連項目