web-dev-qa-db-ja.com

GeditはVirtualBox共有にファイルを保存しません:テキストファイルがビジーです

他のアプリケーション(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

そしてユーザーIDは:

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)

何が問題で、どうすれば修正できますか?

30
user654019

この問題は2009年以降報告されています(「gedit virtualbox」のグーグル)。それに対する修正がまだないのは恐ろしいことです。 VirtualBoxとGeditのどちらの開発者も責任を負うつもりはありません。代わりに、3年間以上お互いを指差すことに満足しています。

エディターの設定を「バックアップの作成」に設定して、2回保存できます。信じられないほど苦痛ですが、うまくいきます。

他の一部の編集者は問題を報告しません。ただし、たとえばKateとnanoをテストしたところ、他のすべての保存時にファイルが静かに削除されました。それはgeditの状況よりもさらに悪いです...

19
David

「テキストファイルビジー」は、ここでは混乱する可能性があります。これは、実際にはテキストファイルではなく、実行可能ファイルに関するものです。実行可能ファイルはテキストファイルと呼ばれます。というのは…ハム、実際には 理由はわかりません です。

メッセージが実際に意味することは、「このファイルは、それを使用している別のプログラムによってロックされており、ノーズの下で変更できないため、書き込むことができません。」テキストファイルに対してこのメ​​ッセージが表示されることは非常にまれです。UNIXシステムは通常、ファイルの必須ロックに不快であり、アプリケーションが他のユーザーがファイルを変更できないようにロックする機能はありません。 (Unixにはアドバイザリロックがあります。それらは、連携プログラムによってファイルへの同時アクセスを同期するために使用できます。)「テキストファイルビジー」(ETXTBUSY)が表示される最も一般的な状況は、変更しようとした場合です実行中の実行可能ファイル:カーネルはそれをロックします。別の可能性は マウントされているディスクイメージ で、これもカーネルによってロックされます。

あなたの場合、ファイルの場所/media/sf_Ubuntuとグループvboxsfの所有権は、VirtualBoxファイル共有ファイルシステムにあるファイルがホストオペレーティングシステムでロックされていると思います。おそらく、ホストはWindowsマシンであり、ファイルをエディターで開いています。 VMのエディターで保存する前に、ホスト上のファイルを閉じる必要があります。

問題は基本的にglibとそれが一時ファイルに保存され、名前が変更される方法にあります。バグは次のように記録されています https://bugzilla.gnome.org/show_bug.cgi?id=656225

2
TimSC

ファイルが別のアプリケーションによって開かれているかどうかをlsofで確認します

lsof /media/sf_Ubuntu/BuildNotes.txt

または、fuserを使用します。

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

私にとってそれを修正しました(まだ少し厄介ですが動作します)、そしてgeditに適用できるのは、

編集-設定-エディタ「バックアップコピーの作成」にチェックを入れます

今後保存する場合は、一度ファイルを保存し、エラーを無視して再度保存してください。毎回動作します。

1

linuxターミナルを使用して、vi file_nameを使用してファイルを編集して保存します。 PS私はこの問題の別の解決策を見つけることができませんでした。 viは働いた

0
Hamsavardhini