왜 gvfs 마운트가 ~ / .gvfs 또는 / run / user / <login> / gvfs에 표시되지 않습니까?


35

내가 읽은 내용에서 노틸러스를 통해 네트워크 공유를 gvfs-mount마운트 할 때 또는 마운트 지점이에 있어야합니다 ~/.gvfs. 이것은 나에게 해당되지 않는 것 같습니다. 노틸러스와 gvfs-mountUbuntu Maverick 및 Natty 모두 를 통해 FTP 및 SMB 공유를 모두 마운트하려고 시도했지만 어떤 경우에도 마운트 지점을 보지 못했습니다 ~/.gvfs. 노틸러스에서 찾은 공유에 액세스 할 수 있지만 명령 줄을 통해 액세스하고 싶습니다. 파일 시스템에 마운트 지점이 필요한 이유입니다.

편집 : 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?

업데이트 : 12.10 이상에서 마운트는 아래에 /run/user/<login>/gvfs있습니다.


2
의 출력을 보여줄 수 있습니까 mount | grep gvfs?
enzotib

답변:


12

~/.gvfs디렉토리는 FUSE가 처리 마운트해야한다 gvfs-fuse-daemon과정. 디렉토리가 비어 있으면 gvfs-fuse-daemon올바르게 시작되지 않았 음을 나타냅니다 .

다음 명령을 사용하여 수동으로 시작할 수 있습니다.

/usr/lib/gvfs/gvfs-fuse-daemon ~/.gvfs

만약 실패한다면, 거기에 마운트 된 것이 있는지 확인하거나 ~ / .gvfs 디렉토리를 먼저 삭제하고 다시 생성하십시오. 그래도 문제가 해결되지 않으면 질문을 업데이트하고 gvfs-fuse-daemon?

** 14.04에서 데몬이 호출 gvfsd-fuse되며에서 찾을 수 있습니다 /usr/lib/gvfs/gvfsd-fuse.


1
더 많은 연구에 따르면 원격 파일 시스템에 대한 첫 번째 액세스 요청을 받으면 자동으로 gvfsd시작되어야 합니다. 우분투 / 데비안에는 충돌 시 디렉토리를 읽을 수 없게 만들고 전송 엔드 포인트가 연결되지 않았다는 오류 메시지가 표시 되는 버그 가 있습니다. gvfs-fuse-daemongvfsd~/.gvfsgvfs-fuse-daemon
kynan

왜 자동으로 gvfsd시작되지 gvfs-fuse-daemon않습니까? RHEL에서는 루트 권한이 있지만 권한이없는 사용자에게는 예상대로 작동하는 것 같습니다.
Aaron Copley

"gvfs-fuse-daemon의 역할은 무엇입니까"및 "gvfs-fuse-daemon을 실행하지 않고 공유를 마운트하는 방법은 무엇입니까?"라는 질문에 실제로 대답하지 않습니다. gvfs-fuse-daemon은 gvfs-mount를 사용할 때 기본적으로 무시되는 allow_root와 같은 옵션을 허용합니다. 따라서 이러한 질문에 답하면이 영원한 신비를 해결하는 데 도움이 될 것입니다.
Nuzzolilo

또 다른 경고가 있습니다! gvfs-mountDBUS가 필요하며 SAME DBUS SESSION을gvfs-mount사용 하는 경우에만 마운트 포인트를 얻습니다 . 따라서 컴퓨터에 SSH를 연결하고 세션을 시작하는 경우 세션의 개인을 생성해야합니다 . gvfs-fuse-daemondbus-daemongvfs-fuse-daemon
user1129682

글쎄, 5 년이 지났는데도 여전히 문제가있는 것 같습니다
Stuart Axon

20

문제를 해결했습니다.

Ubuntu 12.10에서는 마운트 지점이에 나타납니다 /run/user/(your username)/gvfs/sftp\:host\=\192.168.xxx.xxx.

희망이 도움이


4

우분투 12.10에서 경로가 변경되었습니다.

$ mount |grep gvfs
gvfsd-fuse on /run/user/pcm/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=pcm)

3

Debian 6.0에서는 lxde와 nautilus가 있습니다. ~ / .gvfs 디렉토리도 비어 있습니다. 나는 달리려고 노력했다

/usr/lib/gvfs/gvfs-fuse-daemon ~/.gvfs

그러나 그것은 나에게 말했다 : / dev / fuse : Permission Denied.

$ ll /dev/fuse
crw-rw---T 1 root fuse 10, 229 Dec 21 11:59 /dev/fuse

퓨즈 그룹에 속하지 않았기 때문일 수 있습니다. 그런 다음 해당 사용자 계정을 해당 그룹에 추가했습니다. 재부팅 후 gvfs 마운트는 ~ / .gvfs에 올바르게 표시됩니다.


3

12.04 Precise 시스템과 비슷한 문제가 있습니다.

노틸러스에 마운트 된 드라이브는 ~/.gvfs특히 일시 중지 / 다시 시작주기 후에에 나타나지 않습니다 . gvfs-fuse-daemon실행 중이지만 종료하고 다시 시작해도 문제가 해결되지 않습니다.

nautilus -q원인이 발생한 후 노틸러스를 다시 시작 gvfs-fuse-daemon하고 노틸러스가 다시 작동 한다는 것을 알았습니다 . 마운트 지점이 다시 나타납니다.


3

최신 버전의 Ubuntu에서 gvfs는 기본적으로에 마운트되어 /run/user/$USER/gvfs/있습니다.

에서 사용자의 gvfsd-fuse 행을 찾아 기본 마운트 지점이 어디인지 확인할 수 있습니다 /etc/mtab.


2

나는 관련 질문을 내 데비안 시스템, 그리고 대답 을했다 :

apt-get install gvfs-fuse
adduser <username> fuse

그런 다음 재부팅하십시오. GVFS 마운트 후 (노틸러스를 통해) 공유 디렉토리는 사용중인 데비안 또는 우분투 버전에 따라 다음 두 위치 중 하나에 있습니다.

/run/user/<username>/gvfs
~/.gvfs

나는 당신이 재부팅 할 필요가 없다고 확신합니다. A systemctl --user restart gvfs-daemon는 나를 위해 속임수를 썼다.
Torkel Bjørnson-Langen

0

노틸러스를 통해 탐색하지 않고 Windows 컴퓨터에서 직접 공유 된 파일에 액세스하려면 홈 디렉토리의 폴더에 공유를 마운트합니다.

예를 들어. 192.168.16.2도메인에 IP 주소 를 가진 Windows 시스템 mydomain이있는 폴더가 공유되어 shared있고 홈 디렉토리에 디렉토리가있는 mnt경우 공유를 마운트하고 mnt홈 디렉토리 내에있는 것처럼 액세스 할 수 있습니다 .

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공유 디렉토리에있는 파일 및 디렉토리를 나열 shared192.168.16.2이 내 모든 파일은 내 로컬 하드 드라이브에있는 파일처럼 마운트 포인트가 액세스 할 수 있습니다.

다음을 통해 SMB 공유 마운트에 대한 자세한 정보를 얻을 수 있습니다.

man mount.cifs

OP가 요청한 내용이 아닙니다.
enzotib 2014 년

2
그러나 kynan은 "하지만 명령 줄을 통해 액세스하고 싶어서 파일 시스템에 마운트 포인트가 필요한 이유"라고 말했습니다.
Stacey Richards

감사. 나는이 솔루션을 고려했다고 언급했지만 imho는 그것을 불가능하게 만드는 두 가지 주요 단점이 있습니다 .1) 자격 증명 파일에는 암호가 일반 텍스트로 포함되어 있어야하며 이는 공유 컴퓨터에서 허용되지 않습니다 .2) 루트 권한이 필요합니다 그리고 sudo가없는 머신에서도 작동하는 솔루션이 필요합니다
kynan

0

지금은 ...

#!/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

3
이 스크립트가 무엇을하는지에 대한 간단한 설명은 좋을 것입니다. 크론 작업은 언제 실행됩니까?
mook765
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.