Gedit speichert keine Datei auf einer VirtualBox-Freigabe: Textdatei ausgelastet

29

Ich habe eine Textdatei, die ich mit anderen Anwendungen (zum Beispiel openoffice) ändern kann . Aber wenn ich versuche, es zu ändern und zu speichern, erhalte geditich eine Fehlermeldung von gedit:

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

Die Berechtigung von BuildNotes.txt lautet wie folgt:

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

und Benutzer-ID ist:

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)

Was ist das Problem und wie kann ich es beheben?

user654019
quelle
und vim funktioniert gut ...
Leon

Antworten:

17

Dieses Problem wurde seit 2009 gemeldet (google for 'gedit virtualbox'). Es ist schrecklich, dass es noch keine Lösung dafür gibt. Weder VirtualBox noch Gedit-Entwickler sind bereit, Verantwortung dafür zu übernehmen, sondern geben sich damit zufrieden, seit über drei Jahren die Finger aufeinander zu richten.

Sie können Ihre Editoreinstellungen auf "Backup erstellen" setzen und dann zweimal speichern. Unglaublich schmerzhaft, aber es funktioniert.

Einige andere Editoren melden das Problem nicht. Als ich zum Beispiel Kate und Nano testete, löschten diese die Datei bei jedem weiteren Speichervorgang. Das ist noch schlimmer als die gedit Situation ...

David
quelle
2
Es wäre hilfreich, wenn Sie einen Link zum Fehlerbericht 2009 einfügen würden. Es könnte anderen helfen, das Problem zu verfolgen.
Jasonwryan
Bitte geben Sie in Ihrer Antwort an: Die Website ist ein Wiki ...
jasonwryan
2
Grüße aus der Zukunft. "Über drei Jahre" ist jetzt zu "Über acht Jahre" geworden . Das ist immer noch ein Problem.
Rohr
so.....? Haben wir eine Lösung oder so?
Mohd Abdul Mujib
6

"Textdatei ausgelastet" kann hier verwirrend sein: Es geht eigentlich nicht um Textdateien, sondern um ausführbare Dateien. Ausführbare Dateien werden als Textdateien bezeichnet, weil… ich eigentlich nicht weiß, warum .

Was die Meldung wirklich bedeutet, ist: "Diese Datei ist von einem anderen Programm gesperrt, das sie verwendet, und kann nicht unter der Nase geändert werden, sodass Sie nicht darauf schreiben können." Textdatei: Unix-Systeme sehen im Allgemeinen keine verbindlichen Sperren für Dateien vor, und es gibt keine Möglichkeit für Anwendungen, andere daran zu hindern, eine Datei zu ändern. (Unix hat Hinweissperren: Sie können verwendet werden, um gleichzeitige Zugriffe auf eine Datei durch kooperierende Programme zu synchronisieren.) Der häufigste Fall, in dem "text file busy" ( ETXTBUSY) angezeigt wird, ist, wenn Sie versuchen, eine ausgeführte ausführbare Datei zu ändern: Kernel sperrt es. Eine andere Möglichkeit ist ein Disk-Image, das gemountet und vom Kernel wieder gesperrt wird.

In Ihrem Fall ist angesichts des Speicherorts der Datei /media/sf_Ubuntuund des Eigentums an der Gruppe vboxsfdie Datei, die sich auf einem VirtualBox-Dateifreigabedateisystem befindet, im Host-Betriebssystem gesperrt. Vermutlich ist der Host ein Windows-Rechner und Sie haben die Datei dort auch in einem Editor geöffnet. Sie müssen die Datei auf dem Host schließen, bevor Sie sie im Editor in der VM speichern können.

Gilles 'SO - hör auf böse zu sein'
quelle
4
Vielen Dank. Ich bin% 100 sicher, dass die Datei nicht in Windows geöffnet ist und auch keine andere Anwendung sie verwendet. Ich kann es mit OpenOffice öffnen und bin mir daher sicher, dass es nicht von anderen Anwendungen geöffnet wird. Es ist nur Gedit, das es nicht speichern kann.
user654019
2
Ich habe das gleiche Problem. Jedes Programm in guest os funktioniert super, aber gedit, irgendwas ist nicht in Ordnung.
GlassGhost
2

Prüfen Sie mit, lsofob die Datei von einer anderen Anwendung geöffnet wurde

lsof /media/sf_Ubuntu/BuildNotes.txt

Oder benutze fuser:

fuser -km /media/sf_Ubuntu/BuildNotes.txt
Pankaj Sain
quelle
2

Das Problem liegt grundsätzlich bei glib und der Art und Weise, wie es in einer temporären Datei gespeichert und dann umbenannt wird. Der Fehler wurde aufgezeichnet als: https://bugzilla.gnome.org/show_bug.cgi?id=656225

TimSC
quelle
1

Was es für mich behoben hat (immer noch ein bisschen nervig, aber funktioniert) und auf gedit zutrifft, ist:

Bearbeiten - Einstellungen - Editor Aktivieren Sie "Sicherungskopie erstellen"

Speichern Sie die Datei ab jetzt einmal, ignorieren Sie den Fehler und speichern Sie sie erneut. funktioniert jedes mal.

Martin Levasseur
quelle
Im Jahr 2019 tritt dieser Fehler immer noch auf. Diese Problemumgehung funktioniert.
David
0

Versuchen Sie mit dem Linux-Terminal, die Datei mit vi dateiname zu bearbeiten und zu speichern. ps Ich konnte keine andere Lösung für dieses Problem finden. vi arbeitete

Hamsavardhini
quelle