私が読んだことから、nautilusまたはgvfs-mount
を介してネットワーク共有をマウントするとき、マウントポイントは~/.gvfs
にあるはずです。これは私には当てはまらないようです:Ubuntu MaverickとNattyの両方でnautilusとgvfs-mount
の両方を介してFTPとSMBの両方の共有をマウントしようとしましたが、~/.gvfs
の下にマウントポイントがありませんでした。 nautilusで見つけた共有にアクセスできますが、コマンドラインからアクセスしたいので、ファイルシステムにマウントポイントが必要です。
編集: James Henstridgeの答えとenzotibのコメントに続いてデバッグすると、私のラップトップではgvfs-Fuse-daemon
が実行され、その結果gvfsマウントが~/.gvfs
に表示されますが、~/.gvfs
が空のままであった2つのワークステーションではgvfs-Fuse-daemon
が実行されていませんでした。 3つのマシンすべてで、他のgvfsプロセスが実行されています:gvfsd
、gvfs-afc-volume-monitor
、...
ラップトップでは、mount | fgrep gvfs
は次のようになります
gvfs-Fuse-daemon on /home/xxx/.gvfs type Fuse.gvfs-Fuse-daemon (rw,nosuid,nodev,user=xxx)
それは質問を提起します:
gvfs-Fuse-daemon
を実行せずに共有をマウントするにはどうすればよいですか?その場合、マウントポイントは作成されず、共有へのすべてのアクセスはgvfsライブラリの呼び出しですか?どのデーモンが原因ですか? gvfsd
?gvfs-Fuse-daemon
の役割は何ですか? ~/.gvfs
にFuseマウントポイントのみを作成しますか?更新: 12.10以降では、マウントは/run/user/<login>/gvfs
の下にあります。
~/.gvfs
ディレクトリは、gvfs-Fuse-daemon
プロセスによって処理されるFuseマウントでなければなりません。ディレクトリが空のように見える場合、gvfs-Fuse-daemon
が正しく起動しなかったことを示します。
次のコマンドを使用して、手動で起動してみてください。
/usr/lib/gvfs/gvfs-Fuse-daemon ~/.gvfs
それが失敗した場合は、他に何かがマウントされているかどうかを確認するか、最初に〜/ .gvfsディレクトリを削除して再作成することもできます。それでも問題が解決しない場合は、質問を更新して、gvfs-Fuse-daemon
で出力されるエラーメッセージを提供してください。
** 14.04では、デーモンはgvfsd-Fuse
と呼ばれ、/usr/lib/gvfs/gvfsd-Fuse
にあります。
問題を解決しました(種類)。
Ubuntu 12.10では、/run/user/(your username)/gvfs/sftp\:Host\=\192.168.xxx.xxx
にマウントポイントが表示されます。
役立つことを願っています
Ubuntu 12.10では、パスが変更されました:
$ mount |grep gvfs
gvfsd-Fuse on /run/user/pcm/gvfs type Fuse.gvfsd-Fuse (rw,nosuid,nodev,user=pcm)
Debian 6.0 wheezyで、lxdeおよびnautilusを使用。 〜/ .gvfsディレクトリも空であることがわかりました。走ってみた
/usr/lib/gvfs/gvfs-Fuse-daemon ~/.gvfs
しかし、それは私に言った:/ dev/Fuse:許可が拒否されました。
$ ll /dev/Fuse
crw-rw---T 1 root Fuse 10, 229 Dec 21 11:59 /dev/Fuse
私はFuseグループに属していないので、そのグループにユーザーアカウントを追加したのではないかと考えました。再起動後、gvfsマウントは〜/ .gvfsに正しく表示されます。
Ubuntuの新しいバージョンでは、gvfsはデフォルトで/run/user/$USER/gvfs/
にマウントされます。
/etc/mtab
でユーザーのgvfsd-Fuse行を検索すると、デフォルトのマウントポイントがどこにあるかを確認できます。
12.04 Preciseシステムにも同様の問題があります。
Nautilusにマウントされているように見えるドライブは、特にサスペンド/レジュームサイクルの後、~/.gvfs
に表示されません。 gvfs-Fuse-daemon
は実行中ですが、強制終了して再起動しても問題は解決しません。
nautilus -q
の後にNautilusを再起動すると、gvfs-Fuse-daemon
とNautilusが再び連携し、マウントポイントが再び表示されることがわかりました。
Windowsマシンから共有されたファイルに直接アクセスしたい場合(Nautilusを使用せずに)、ホームディレクトリのフォルダーに共有をマウントします。
例えば。ドメインmydomain
にIPアドレス192.168.16.2
を持つWindowsマシンがあり、shared
としてフォルダーを共有していて、ホームディレクトリにmnt
というディレクトリがある場合、共有をonmnt
にマウントして、ホームディレクトリ内にあるかのようにアクセスできます。
Sudo mount -t cifs "//192.168.16.2/shared" /home/stacey/mnt -o credentials=credentials,uid=stacey,gid=stacey
資格情報には以下が含まれます。
username=stacey
password=mypassword
domain=mydomain
ls /home/stacey/mnt
を使用して、共有ディレクトリshared
上のファイルとディレクトリを192.168.16.2
にリストし、ローカルハードドライブ上のファイルと同様に、このマウントポイント内の任意のファイルにアクセスできます。
SMB共有のマウントの詳細については、次を使用して取得できます。
man mount.cifs
今のところ...
#!/bin/bash
# Add to Cron
# */1 * * * * /root/fixGvfs
w | grep -v root | tail -n +3 | awk '{print $1}' > /tmp/fixGvfsUsers
while read usuario
do
id=$(id -u $usuario)
if [ ! -f "/tmp/fixGvfs${id}" ]; then
umount /run/user/${id}/gvfs
if [ $? -eq 0 ]; then
su - $usuario -c "/usr/bin/pkill gvfs*"
touch "/tmp/fixGvfs${id}"
fi
fi
done < /tmp/fixGvfsUsers