Gedit ne peut pas enregistrer dans un dossier partagé (Virtualbox)

10

J'obtiens le message "Impossible d'enregistrer _ Erreur inattendue: erreur de changement de nom du fichier temporaire: fichier texte occupé" dans Gedit 2 lorsque j'essaie d'enregistrer dans un dossier partagé avec Virtualbox (Debian). J'ai cherché et apparemment c'est un problème de Gedit. Aucune des solutions ne semble idéale ou ne fonctionne pour moi.

Serait-il possible de créer un script shell (plugin d'outils externes) qui enregistre le fichier ailleurs, puis le recopie en shell? Je vais donc devoir récupérer où Gedit a stocké le fichier temporaire (en direct?).

Ou si cela n'est pas possible / ne fonctionnera pas / mauvaise pratique, quelqu'un connaît-il un bon moyen de contourner cela? J'aime vraiment Gedit et je préfère l'utiliser.


Actuellement, voici mon script. Je dis aux outils externes de ne pas enregistrer mais de passer le document en entrée (stdin)

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

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

Cela fonctionne bien, sauf qu'il ne conserve pas les onglets. Je n'édite que des fichiers en texte brut. Edit: cela semble également sauter la dernière ligne

Raekye
la source
Vous avez besoin de plus de devis.
jordanm
Comment? Où dois-je les ajouter?
Raekye

Réponses:

1

Je reçois actuellement ce problème avec gedit et geany, sur les dernières vms mint-lmde et fedora virtualbox sur l'hôte Windows 7. Cependant Kate, kwrite, gvim / vim, Qtcreator, libre writer ne sont pas affectés. Geany et gedit donnent tous deux Erreur lors du renommage du fichier temporaire: fichier texte occupé. J'utilise la boîte virtuelle 4.2.16. En cherchant sur Internet, des problèmes similaires semblent exister depuis des années.

J'ai trouvé une solution pour geany.

avec geany 1.23.1 sur fedora et 1.22 sur mint-lmde

Édition-> Préférences-> Divers cochez use_atomic_file_saving

cela est censé être plus sûr selon le manuel. ou vous pouvez décocher use_gio_unsafe_file_saving. Soit fonctionne, les explications sont dans le manuel.

Pour gedit pas vraiment.

Avec gedit 3.4.2 sur mint-lmde n'a trouvé qu'une solution de contournement unique.

Édition-> Préférences-> Décocher l'éditeur Créer une copie de sauvegarde

Cela fonctionne une fois, par la suite sur une deuxième sauvegarde, ce n'est pas le cas, à moins que vous ne commenciez à vous soucier de cocher, sauvegarder, décocher, sauvegarder et cela fonctionnera à nouveau. On dirait un bug. Avec gedit 3.8.3 sur fedora, la décoche peut être effectuée, mais le fichier d'origine disparaît et seule une sauvegarde est laissée, sans aucune modification.

Rob
la source
0

"Fichier texte occupé" signifie que le noyau refuse de déplacer / renommer / supprimer un fichier exécutable qui s'exécute en tant que programme. Qu'essayez-vous de sauver?

vonbrand
la source
Non ... c'est un problème avec gedit et virtualbox. Google it - c'est quelque chose à voir avec la façon dont gedit enregistre les fichiers temporaires et les renomme lors de l'enregistrement.
Raekye
0

Je reconnais que c'est un vieux fil, mais comme je l'ai trouvé en recherchant une solution pour exactement ce problème, j'ai pensé publier ma solution de contournement, peut-être que cela pourrait aider les autres.

Dans mon cas, le dossier partagé était sur un NAS dans mon réseau local, et en plus des problèmes de geany, les performances étaient vraiment mauvaises. Ma solution a été de définir une carte réseau pontée dans Virtualbox Manager / Paramètres / Réseau pour ma VM. Ensuite, la machine virtuelle a eu accès à mon réseau local de la même manière qu'un ordinateur ordinaire. Au lieu d'utiliser les dossiers partagés dans Virtualbox, j'ai pu monter le dossier en tant que partage réseau ordinaire, défini dans / etc / fstab. Ainsi, je n'avais aucun dossier défini dans Virtualbox Manager / Paramètres / Dossiers partagés. Les problèmes de Geany ont disparu et les performances ont été considérablement améliorées.

Anadyn
la source