Gedit不会在VirtualBox共享上保存文件:文本文件忙


29

我有一个文本文件,可以使用其他应用程序进行更改(例如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

用户标识为:

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)

有什么问题,我该如何解决?


和vim可以正常工作...
Leon

Answers:


17

自2009年以来就已经报告了此问题(Google表示“ gedit virtualbox”)。还没有解决的办法太糟糕了。VirtualBox和Gedit开发人员都不愿意为此承担责任,而是满足于三年来互相指责。

您可以将编辑器首选项设置为“创建备份”,然后保存两次。令人难以置信的痛苦,但确实有效。

其他一些编辑器不会报告此问题。但是,例如,当我测试Kate和nano时,它们只是在每一次保存时都默默地删除了文件。这比打赌的情况还要糟糕...


2
如果您包含2009错误报告的链接,将很有帮助;它可能会帮助其他人跟踪问题。
jasonwryan 2012年

请在您的答案中包括:该网站是Wiki ...
jasonwryan 2012年


2
来自未来的问候。“三年以上”现在变成了“八年以上”。这仍然是一个问题。
管道

所以.....?我们有解决方案吗?
Mohd Abdul Mujib '18

6

“文本文件繁忙”在这里可能令人困惑:它实际上与文本文件无关,而与可执行文件有关。可执行文件之所以称为文本文件,是因为……哼,实际上,我不知道为什么

该消息的真正含义是“该文件已被正在使用该文件的另一个程序锁定,并且不允许在其鼻子下对其进行修改,因此您无法对其进行写入。”看到此消息是非常不寻常的。文本文件:UNIX系统通常对文件的强制性锁定不满意,并且应用程序无法阻止其他人修改文件。(Unix具有咨询锁:它们可用于通过协作程序来同步对文件的并发访问。)当您看到“文本文件繁忙”(ETXTBUSY)时,最常见的情况是尝试修改正在运行的可执行文件:内核将其锁定。另一种可能是已挂载磁盘映像,再次被内核锁定。

在您的情况下,给定文件的位置/media/sf_Ubuntu和组的所有权vboxsf,我的猜测是,位于VirtualBox文件共享文件系统上的文件已锁定在主机操作系统中。假定主机是Windows计算机,您也可以在其中的编辑器中打开文件。您需要先关闭主机上的文件,然后才能保存在VM中的编辑器中。


4
谢谢。我%100确保文件不在Windows中运行,也没有其他应用程序在使用它。我可以使用OpenOffice来打开它,因此,我确定它不会被其他应用程序打开。只是gedit无法保存它。
user654019

2
我有同样的问题。来宾操作系统中的每个程序都运行良好,但gedit却出现了问题。
GlassGhost

2

检查lsof文件是否被其他应用程序打开

lsof /media/sf_Ubuntu/BuildNotes.txt

或使用fuser

fuser -km /media/sf_Ubuntu/BuildNotes.txt


1

对我来说修复它(仍然有些烦人,但仍然有效)并且适用于gedit的原因是:

编辑-首选项-编辑器选中“创建备份副本”

从现在开始保存时,保存一次文件,忽略错误,然后再次保存。每次都能工作。


在2019年,此错误仍然会发生。此解决方法有效。
David

0

使用linux终端,尝试使用vi file_name编辑文件并保存。ps我找不到此问题的另一种解决方案。vi工作

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.