Gedit no guardará un archivo en un recurso compartido de VirtualBox: archivo de texto ocupado


29

Tengo un archivo de texto que puedo cambiar usando otras aplicaciones (por ejemplo openoffice). Pero cuando trato de cambiarlo y guardarlo usando gedit, recibo un error de gedit:

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

El permiso de BuildNotes.txt es el siguiente:

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

y la identificación de usuario es:

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)

¿Cuál es el problema y cómo puedo solucionarlo?


y vim funciona bien ...
Leon

Respuestas:


17

Este problema se ha informado desde 2009 (google para 'gedit virtualbox'). Es horrible que todavía no haya una solución. Ni los desarrolladores de VirtualBox ni Gedit están dispuestos a asumir la responsabilidad, y en su lugar se contentan con señalarse el uno al otro durante más de tres años.

Puede configurar las preferencias de su editor para 'Crear una copia de seguridad' y luego guardar dos veces. Increíblemente doloroso, pero funciona.

Algunos otros editores no informarán el problema. Sin embargo, cuando probé Kate y nano, por ejemplo, esos solo eliminaron el archivo en silencio en cada otro guardado. Eso es incluso peor que la situación de gedit ...


2
Sería útil si incluyera un enlace al informe de errores de 2009; podría ayudar a otros a rastrear el problema.
jasonwryan

Incluya en su respuesta: el sitio es un wiki ...
jasonwryan


2
Saludos desde el futuro. "Más de tres años" se ha convertido en "Más de ocho años" . Esto sigue siendo un problema.
tubería

asi que.....? ¿Tenemos una solución o algo?
Mohd Abdul Mujib el

6

"Archivo de texto ocupado" puede ser confuso aquí: en realidad no se trata de archivos de texto, sino de ejecutables. Los ejecutables se llaman archivos de texto porque ... hum, en realidad, no sé por qué .

Lo que el mensaje realmente significa es "este archivo está bloqueado por otro programa que lo está utilizando y no puede dejar que se modifique bajo su nariz, por lo que no puede escribir en él". Es bastante inusual ver este mensaje para un archivo de texto: los sistemas Unix generalmente desaprueban los bloqueos obligatorios en los archivos, y no hay ninguna posibilidad para que las aplicaciones impidan que otros modifiquen un archivo. (Unix tiene bloqueos de aviso: se pueden usar para sincronizar accesos concurrentes a un archivo mediante programas cooperantes). La circunstancia más común cuando verá "archivo de texto ocupado" ( ETXTBUSY) es si intenta modificar un ejecutable que se está ejecutando: el el núcleo lo bloquea. Otra posibilidad es una imagen de disco que está montada , nuevamente bloqueada por el núcleo.

En su caso, dada la ubicación del archivo /media/sf_Ubuntuy la propiedad del grupo vboxsf, supongo que el archivo, que está en un sistema de archivos de intercambio de archivos VirtualBox, está bloqueado en el sistema operativo host. Presumiblemente, el host es una máquina Windows y también tiene el archivo abierto en un editor allí. Deberá cerrar el archivo en el host antes de poder guardarlo en el editor en la VM.


44
Gracias. Estoy% 100 seguro de que el archivo no está oprn en Windows y tampoco otra aplicación lo está utilizando. Puedo abrirlo usando OpenOffice y, por lo tanto, estoy seguro de que otras aplicaciones no lo abren. Es solo gedit que no puede guardarlo.
user654019

2
Tengo el mismo problema. cada programa en os invitados funciona muy bien pero gedit, algo está pasando.
GlassGhost

2

Verifique lsofsi el archivo está abierto por otra aplicación

lsof /media/sf_Ubuntu/BuildNotes.txt

O use fuser:

fuser -km /media/sf_Ubuntu/BuildNotes.txt


1

Lo que me solucionó (todavía un poco molesto pero funciona), y es aplicable a gedit, es:

editar - preferencias - editor Marque "Crear copia de seguridad"

Al guardar de ahora en adelante, guarde el archivo una vez, ignore el error, guarde nuevamente. Funciona todo el tiempo.


En 2019, este error aún ocurre. Esta solución funciona.
David

0

usando la terminal de Linux, intente editar el archivo usando vi file_name y guárdelo. PD: No pude encontrar otra solución para este problema. vi trabajado

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.