Gedit는 VirtualBox 공유에 파일을 저장하지 않습니다: 텍스트 파일 사용 중

Gedit는 VirtualBox 공유에 파일을 저장하지 않습니다: 텍스트 파일 사용 중

다른 응용 프로그램(예: )을 사용하여 변경할 수 있는 텍스트 파일이 있습니다 openoffice. 하지만 변경 사항을 사용하고 저장하려고 하면 gedit오류가 발생합니다 gedit.

Could not save the file /media/sf_Ubuntu/BuildNotes.txt.
Unexpected error: Error renaming temporary file: Text file busy

BuildNotes.txt의 권한은 다음과 같습니다.

-rwxrwx--- 1 root vboxsf  839 2012-10-26 12:08 BuildNotes.txt

사용자 ID는 다음과 같습니다:

m@m-Linux:/media/sf_Ubuntu$ id
uid=1000(m) gid=1000(m) groups=4(adm),20(dialout),24(cdrom),46(plugdev),105(lpadmin),119(admin),122(sambashare),1000(m),1001(vboxsf)

문제는 무엇이고 어떻게 해결하나요?

답변1

이 문제는 2009년부터 보고되었습니다([보관됨] ). 무서운 점은 아직 해결책이 없다는 점이다. VirtualBox 개발자나 Gedit 개발자 모두 이에 대해 책임을 지려 하지 않았으며 3년이 넘도록 서로를 비난하는 내용을 담고 있었습니다.

편집기 기본 설정을 "백업 생성"으로 설정하고 두 번 저장할 수 있습니다. 매우 고통스럽지만 효과가 있습니다.

일부 다른 편집자는 문제를 보고하지 않습니다. 그러나 예를 들어 Kate와 nano를 테스트했을 때 그들은 저장할 때마다 파일을 자동으로 삭제했습니다. 이것은 gedit 상황보다 더 나쁩니다 ...

답변2

여기서 "텍스트 파일 사용 중"은 혼란스러울 수 있습니다. 실제로는 텍스트 파일과 관련이 없고 실행 파일과 관련이 있습니다. 실행 파일을 텍스트 파일이라고 부르는 이유는...사실,왜인지는 모르겠지만.

이 메시지의 실제 의미는 "해당 파일을 사용하고 있는 다른 프로그램에 의해 파일이 잠겨 있어서 수정이 불가능하므로 파일에 쓸 수 없습니다."라는 것입니다. 텍스트 파일에서 이 메시지를 보는 것은 매우 이상합니다. 시스템은 일반적으로 파일을 강제로 잠그면 눈살을 찌푸리며, 응용 프로그램에는 다른 사람이 파일을 수정하는 것을 방지하는 도구가 없습니다. (Unix에는 권고 잠금이 있습니다. 협력 프로그램을 통해 파일에 대한 동시 액세스를 동기화하는 데 사용할 수 있습니다.) "텍스트 파일 사용 중"( ETXTBUSY)이 표시되면 가장 일반적인 상황은 실행 중인 실행 파일을 수정하려고 하는 것입니다. 커널 잠금 . 또 다른 가능성은마운트된 디스크 이미지, 커널에 의해 다시 잠겼습니다.

귀하의 경우 파일의 위치 /media/sf_Ubuntu와 그룹 소유권을 고려할 때 vboxsfVirtualBox 파일 공유 파일 시스템에 있는 파일이 호스트 운영 체제에 잠겨 있는 것 같습니다. 호스트가 Windows 컴퓨터이고 해당 컴퓨터의 편집기에서 파일을 열 수도 있다고 가정합니다. 가상 머신의 편집기에 파일을 저장하려면 먼저 호스트에서 파일을 닫아야 합니다.

답변3

문제는 근본적으로 glib와 임시 파일에 저장한 다음 이름을 바꾸는 방식에 있습니다. 오류는 다음과 같이 기록되었습니다.https://bugzilla.gnome.org/show_bug.cgi?id=656225

답변4

lsof다른 응용 프로그램에서 파일이 열려 있는지 확인

lsof /media/sf_Ubuntu/BuildNotes.txt

또는 다음을 사용하십시오 fuser.

fuser -km /media/sf_Ubuntu/BuildNotes.txt

관련 정보