Gedit nie może zapisać w folderze współdzielonym (Virtualbox)

10

Otrzymuję komunikat „Nie można zapisać _ Nieoczekiwany błąd: Błąd zmiany nazwy pliku tymczasowego: Plik tekstowy zajęty” w Gedit 2, gdy próbuję zapisać w folderze współdzielonym z Virtualbox (Debian). Szukałem i najwyraźniej jest to problem Gedit. Żadne z rozwiązań nie wydaje mi się idealne ani nie działa.

Czy można utworzyć skrypt powłoki (wtyczka narzędzi zewnętrznych), który zapisze plik gdzie indziej, a następnie skopiuje go z powrotem do powłoki? Muszę więc pobrać gdziekolwiek Gedit przechowuje plik tymczasowy (na żywo?).

A jeśli nie jest to możliwe / nie zadziała / zła praktyka, czy ktoś zna dobry sposób na obejście tego? Naprawdę lubię Gedit i wolę go używać.


Obecnie jest to mój skrypt. Mówię zewnętrznym narzędziom, aby nie zapisywały, ale przekazują dokument jako dane wejściowe (standardowe wejście)

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

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

Działa dobrze, ale nie zachowuje zakładek. Ja tylko edytuję zwykłe pliki tekstowe. Edycja: wydaje się, że przeskakuje również ostatnią linię

Raekye
źródło
Potrzebujesz więcej cytatów.
jordanm
Jak to? Gdzie je dodać?
Raekye

Odpowiedzi:

1

Obecnie dostaję ten problem zarówno z gedit, jak i geany, w najnowszej wersji vm mint-lmde i fedora virtualbox na hoście Windows 7. Jednak nie ma to wpływu na Kate, kwrite, gvim / vim, Qtcreator, libre writer. Geany i gedit informują o błędzie podczas zmiany nazwy pliku tymczasowego: plik tekstowy zajęty. Używam wirtualnego pudełka 4.2.16. Przeszukując internet, podobne problemy zdają się istnieć od lat.

Znalazłem rozwiązanie dla geany.

z geany 1.23.1 na fedorze i 1.22 na mint-lmde

Edycja-> Preferencje-> Różne zaznaczenie use_atomic_file_saving

zgodnie z instrukcją powinno to być bezpieczniejsze. lub możesz odznaczyć opcję use_gio_unsafe_file_saving. Oba działa, wyjaśnienia znajdują się w instrukcji.

Na gedit niezupełnie.

W programie gedit 3.4.2 na mint-lmde znaleziono tylko jedno obejście.

Edycja-> Preferencje-> Odznacz edytor Utwórz kopię zapasową

Działa to raz, a potem przy drugim zapisie nie działa, chyba że zaczniesz bałagać się o tykaniu, zapisywaniu, odznaczaniu, zapisywaniu i będzie działać ponownie. Wygląda jak błąd. Z gedit 3.8.3 na fedorze można odznaczyć odznaczanie, ale oryginalny plik znika i pozostaje tylko kopia zapasowa, bez żadnych zmian.

Obrabować
źródło
0

„Plik tekstowy zajęty” oznacza, że ​​jądro odmawia przeniesienia / zmiany nazwy / usunięcia pliku wykonywalnego działającego jako program. Co próbujesz zapisać?

vonbrand
źródło
Nie ... to jest problem z gedit i virtualbox. Google it - ma to coś wspólnego ze sposobem, w jaki gedit zapisuje pliki tymczasowe i zmienia nazwę podczas zapisywania.
Raekye
0

Rozumiem, że to stary wątek, ale gdy go znalazłem, szukając rozwiązania dokładnie tego problemu, pomyślałem, że opublikuję moje obejście, być może może pomóc innym.

W moim przypadku folder współdzielony znajdował się na serwerze NAS w mojej sieci LAN, a oprócz problemów z geanią wydajność była naprawdę zła. Moim rozwiązaniem było zdefiniowanie zmostkowanej karty sieciowej w Virtualbox Manager / Ustawienia / Sieć dla mojej maszyny wirtualnej. Następnie maszyna wirtualna uzyskała dostęp do mojej sieci LAN w taki sam sposób jak zwykły komputer. Zamiast używać folderów współdzielonych w Virtualbox, mógłbym zamontować folder jako zwykły udział sieciowy, zdefiniowany w / etc / fstab. Dlatego nie miałem zdefiniowanych folderów w Virtualbox Manager / Ustawienia / Foldery współdzielone. Problemy z geanią zniknęły, a wydajność znacznie się poprawiła.

Anadyn
źródło