Gedit는 공유 폴더(Virtualbox)에 저장할 수 없습니다.

Gedit는 공유 폴더(Virtualbox)에 저장할 수 없습니다.

알겠어요

Cannot save _____ Unexpected error: Error renaming temporary file: Text file busy

Gedit 2에서 Virtualbox(Debian)를 사용하여 공유 폴더에 저장하려고 할 때. 확인해 보니 Gedit에 문제가 있는 것 같습니다. 이러한 솔루션 중 어느 것도 나에게 이상적이거나 적합하지 않은 것 같습니다.

파일을 다른 곳에 저장한 다음 다시 셸에 복사하는 셸 스크립트(외부 도구 플러그인)를 만드는 것이 가능합니까? 그래서 Gedit가 임시(라이브?) 파일을 저장하는 위치를 파악해야 합니다.

또는 이것이 가능하지 않거나 작동하지 않거나 나쁜 습관인 경우 이 문제를 해결할 수 있는 좋은 방법을 아는 사람이 있습니까? 나는 Gedit를 정말 좋아하고 그것을 사용하는 것을 선호합니다.


현재 이것은 내 스크립트입니다. 외부 도구에 저장하지 않고 문서를 입력(stdin)으로 전달하도록 지시합니다.

bin=""
while read LINE; do
    echo ${LINE}    # do something with it here
    bin="${bin}${LINE}\n"
done

echo $bin > /home/me/data2/test.txt

탭을 유지하지 않는다는 점을 제외하면 잘 작동합니다. 저는 일반 텍스트 파일만 편집합니다. 편집: 이것은 또한 마지막 줄을 건너뛰는 것 같습니다

답변1

현재 Windows 7 호스트의 최신 mint-lmde 및 fedora virtualbox 가상 머신에서 gedit 및 geany를 사용할 때 이 문제가 발생합니다. 그러나 Kate, kwrite, gvim/vim, Qtcreator, libre 작가는 영향을 받지 않습니다. Geany와 gedit 모두 임시 파일 이름 바꾸기 오류가 발생합니다. 텍스트 파일 사용 중입니다. 저는 버추얼박스 4.2.16을 사용하고 있습니다. 온라인으로 확인한 결과, 비슷한 문제가 수년 동안 존재해 온 것으로 보입니다.

Geany의 솔루션을 찾았습니다.

Fedora에서는 geany 1.23.1을 사용하고 mint-lmde에서는 1.22를 사용합니다.

편집->기본 설정->use_atomic_file_saving에 대한 다양한 확인란

설명서에 따르면 이것이 더 안전할 것입니다. 또는 use_gio_unsafe_file_saving을 선택 취소할 수 있습니다. 두 작업 모두 지침이 설명서에 나와 있습니다.

gedit에서는 그렇지 않습니다.

mint-lmde에서 gedit 3.4.2를 사용할 때 일회성 해결 방법만 찾았습니다.

편집->기본 설정->편집기 백업 복사본 생성을 선택 취소합니다.

이 작업은 한 번만 작동하고 두 번째 저장에서는 작동하지 않습니다. 단, 선택하고, 저장하고, 선택 취소하고, 저장하고 다시 작동하지 않는 한 두 번째 저장에서는 작동하지 않습니다. 버그인 것 같습니다. Fedora의 gedit 3.8.3을 사용하면 선택을 취소할 수 있지만 원본 파일은 사라지고 변경 사항 없이 백업만 남습니다.

답변2

"텍스트 파일 사용 중"은 커널이 프로그램으로 실행되는 실행 파일의 이동/이름 바꾸기/삭제를 거부한다는 의미입니다. 무엇을 저장하고 싶으신가요?

답변3

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

답변4

나는 이것이 오래된 주제라는 것을 알고 있지만 이 문제에 대한 해결책을 찾는 동안 이 주제를 발견했을 때 해결 방법을 게시하면 다른 사람에게 도움이 될 수 있다고 생각했습니다.

제 경우에는 공유폴더가 LAN상의 NAS에 있었는데 geany의 문제와는 별개로 성능이 형편없었습니다. 내 해결책은브리지 네트워크 어댑터내 가상 머신의 Virtualbox Manager/설정/네트워크에서. 그러면 가상 머신이 일반 컴퓨터처럼 내 LAN에 액세스할 수 있습니다. Virtualbox에서 공유 폴더를 사용하는 대신 폴더를 일반 네트워크 공유(/etc/fstab에 정의됨)로 마운트할 수 있습니다. 따라서 Virtualbox Manager/Settings/Shared 폴더에 정의된 폴더가 없습니다. geany 문제가 사라지고 성능이 크게 향상되었습니다.

관련 정보