[gedit] création du fichier temp avant enregist (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
Avatar de l’utilisateur
mtb_s
Hankyu
Messages : 20
Inscription : sam. 23 mai 2009, 22:33

[gedit] création du fichier temp avant enregist (résolu)

Message par mtb_s »

Bonjour,

Je viens de migrer vers arch, précédemment sous ubuntu puis fedora.

J'ai récupéré mes fichiers dans ma home, puis :
chown -R moi:mon_groupe /home/moi
afin de me les réapproprier.

Quand j'utilise gedit sur un fichier de mon ancien système il m'affiche un message d'erreur :
gedit n'a pas pu sauvegarder l'ancienne copie du fichier avant d'enregistrer la nouvelle version. Vous pouvez ignorer cet avertissement et enregistrer le fichier quand même, mais si une erreur survient lors de l'enregistrement vous pourriez perdre l'ancienne copie du fichier. Souhaitez-vous enregistrer quand même ?

Lorsque je fais un nouveau fichier dans le répertoire pas de pb pour l'enregistrer.

Avez vous une idée pour résoudre ce problème ?

THX !
Dernière modification par mtb_s le jeu. 28 mai 2009, 18:17, modifié 6 fois.
Avatar de l’utilisateur
chipster
Maître du Kyudo
Messages : 2063
Inscription : ven. 11 août 2006, 22:25
Localisation : Saint-Étienne (42)
Contact :

Re: [systeme]

Message par chipster »

As-tu assez de place sur ton système ?

Regardes ma signature et modifies ton topic en conséquence
P.S.: Il n'y a pas grand chose à faire dans la modification ;)

[EDIT]
Ah oui, autre chose, merci d'écrire en bon Français sans faire des fautes d'orthographes et de grammaires dans tous les sens.
Je te conseille donc vivement de corriger celui du dessus ;)
Avatar de l’utilisateur
mtb_s
Hankyu
Messages : 20
Inscription : sam. 23 mai 2009, 22:33

Re: [gedit] création du fichier temp avant enregist (non résolu)

Message par mtb_s »

J'ai remis en ordre mon message :wink:

Sur mon problème j'ai toujours de l'espace disponible.
Merci de votre aide.
Avatar de l’utilisateur
mtb_s
Hankyu
Messages : 20
Inscription : sam. 23 mai 2009, 22:33

Re: [gedit] création du fichier temp avant enregist (non résolu)

Message par mtb_s »

Bonsoir,

pouvez vous m'aider svp.

voici un ls dans le répertoire ou sont mes fichiers :

-rwx------ 1 seb seb 2,0K mai 18 17:50 bkp_evolution
-rwxr----- 1 seb seb 2,3K mai 23 11:42 save_pas_tout
-rwxr----- 1 seb seb 3,6K mai 23 11:42 save_tout
-rw-r--r-- 1 seb seb 3,6K mai 24 18:02 nouveau fichier

Les fichiers bkp_evolution,save_pas_tout,save_tout sont de mon ancienne installation et provoquent l'erreur dans gedit.

Le fichier nouveau fichier ne pose aucun problème.

Afin d'être sur que les droits sont mis à jour par la commande chown j'ai réalisé :
chown mon_id *

A votre avis comment puis-je le résoudre ?

Merci !
Avatar de l’utilisateur
chipster
Maître du Kyudo
Messages : 2063
Inscription : ven. 11 août 2006, 22:25
Localisation : Saint-Étienne (42)
Contact :

Re: [gedit] création du fichier temp avant enregist (non résolu)

Message par chipster »

Un petit

Code : Tout sélectionner

chmod a+rw
sur tous tes fichiers, ça fait quelque chose ?
Avatar de l’utilisateur
mtb_s
Hankyu
Messages : 20
Inscription : sam. 23 mai 2009, 22:33

Re: [gedit] création du fichier temp avant enregist (non résolu)

Message par mtb_s »

Non rien de mieux.
Je suis en train de chercher où gedit enregistre les fichiers temp ...

[edit] en root ne problème ne se pose pas !
Avatar de l’utilisateur
trizolakai
archer
Messages : 103
Inscription : sam. 07 févr. 2009, 22:17
Localisation : Nantes

Re: [gedit] création du fichier temp avant enregist (non résolu)

Message par trizolakai »

Code : Tout sélectionner

ls -la 
plutôt non, histoire de boir si les fichiers de sauvegarde de gedit ne sont pas des fichiers caché.

Et qand tu fais chown <id> * c'est pas récursif. Pour rendre récursif :

Code : Tout sélectionner

chown <id> -R *
Avatar de l’utilisateur
aldevar
archer de cavalerie
Messages : 172
Inscription : sam. 25 nov. 2006, 10:55
Localisation : Cote d'armor

Re: [gedit] création du fichier temp avant enregist (non résolu)

Message par aldevar »

Salut,

Quelles sont les droits sur le dossier /home/toi en lui meme ? (ls -l /home)
Un blog inintéréssant
Avatar de l’utilisateur
mtb_s
Hankyu
Messages : 20
Inscription : sam. 23 mai 2009, 22:33

Re: [gedit] création du fichier temp avant enregist (non résolu)

Message par mtb_s »

ls -la

Code : Tout sélectionner

drwx------ 2 seb seb 4,0K mai   26 22:08 .
drwx------ 7 seb seb 4,0K mai   23 22:41 ..
-rwx------ 1 seb seb 2,0K mai   18 17:50 bkp_evolution
-rw------- 1 seb seb 3,6K mai   24 18:02 nouveau fichier
-rw-r--r-- 1 seb seb 2,3K mai   26 22:07 save_pas_tout
-rw------- 1 seb seb 2,3K mai   23 11:42 save_pas_tout~
-rwx------ 1 seb seb 3,6K mai   23 11:42 save_tout
ls -l /home

Code : Tout sélectionner

drwx------ 52 seb  seb  4,0K mai   26 22:08 seb
chown seb -R seb
en faisant ca directement dans la home ne change rien

Sur un autre forum un utilisateur remontait un problème avec Selinux, pourtant il n'est pas installé sur mon poste.
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Re: [gedit] création du fichier temp avant enregist (non résolu)

Message par mélodie »

Bonjour,

Chez moi (dans mon home) les fichiers ont _les droits_ en 644, les répertoires en 755, sauf Desktop qui est en 700 et mail qui est en 775. Et à part Gedit, si tu essaies avec Scite ou Geany qu'est-ce que ça donne ?

PS:
chown seb -R seb
je ne sais pas ce que ça veut dire.

La ligne de commande, lancée _depuis ton home_ est:

chown -R seb.users .

seb : ton login (je suppose)
users : ton groupe (par défaut à l'installation)

. ->le point à la fin, ça veut dire le répertoire courant.

PS: que te retourne un "file le_fichier.txt" sur un de tes fichiers ?
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [gedit] création du fichier temp avant enregist (non résolu)

Message par tuxce »

tu peux poster la sortie de:

Code : Tout sélectionner

GEDIT_DEBUG=1 gedit save_tout
?
Avatar de l’utilisateur
mtb_s
Hankyu
Messages : 20
Inscription : sam. 23 mai 2009, 22:33

Re: [gedit] création du fichier temp avant enregist (non résolu)

Message par mtb_s »

Voici la réponse aux commandes :

file bkp_evolution

Code : Tout sélectionner

bkp_evolution: Bourne-Again shell script text executable
GEDIT_DEBUG=1 gedit bkp_evolution

Code : Tout sélectionner

[1,864813 (0,000045)] gedit-tab.c:1092 (document_saving) 0/0
[1,864891 (0,000078)] gedit-local-document-saver.c:310 (save_existing_local_file)
[1,864946 (0,000055)] gedit-local-document-saver.c:405 (save_existing_local_file) tmp file moving strategy
[1,865052 (0,000106)] gedit-local-document-saver.c:457 (save_existing_local_file) could not set xattrs
[1,865114 (0,000063)] gedit-local-document-saver.c:561 (save_existing_local_file) fallback strategy
[1,865158 (0,000044)] gedit-local-document-saver.c:571 (save_existing_local_file) copying to backup
[1,865215 (0,000057)] gedit-local-document-saver.c:658 (save_existing_local_file) could not set xattrs
[1,865276 (0,000061)] gedit-document.c:1207 (document_saver_saving)
...
[3,195511 (0,000013)] gedit-view.c:177 (document_read_only_notify_handler)
...
[3,208356 (0,000051)] gedit-document-saver.c:431 (gedit_document_saver_saving) save completed
Je googleise pour analyse ces réponses.

[EDIT] dans le code source de : gedit-local-document-saver.c

Code : Tout sélectionner

This is fast but doesn't work
	 * when the file is a link (hard or symbolic) or when we can't
	 * write to the current dir or can't set the permissions on the
	 * new file.
Avatar de l’utilisateur
mtb_s
Hankyu
Messages : 20
Inscription : sam. 23 mai 2009, 22:33

Re: [gedit] création du fichier temp avant enregist (non résolu)

Message par mtb_s »

Code : Tout sélectionner

/* copy the xattrs, like user.mime_type, over. Also ACLs and
		 * SELinux context. */
		if ((attr_copy_fd (lsaver->priv->local_path,
				   lsaver->priv->fd,
				   tmp_filename,
				   tmpfd,
				   all_xattrs,
				   NULL) == -1) &&
		    (errno != EOPNOTSUPP) && (errno != ENOSYS))
		{
			gedit_debug_message (DEBUG_SAVER, "could not set xattrs");

			close (tmpfd);
			unlink (tmp_filename);
			g_free (tmp_filename);

			goto fallback_strategy;
		}

La commande "copy the xattrs" semble poser problème.
Je commence a comprendre (enfin :shock:)
J'était sur Fedora avec selinux installé, existe t'il un attribu sur le fichier pour selinux ? si oui comment le retirer ?
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [gedit] création du fichier temp avant enregist (non résolu)

Message par tuxce »

pour enlever les attributs selinux:

Code : Tout sélectionner

find /home -xdev -exec setfattr -x security.selinux {} \;
essais d'abord sur le fichier en question pour voir si c'est ce qui pose problème:

Code : Tout sélectionner

setfattr -x security.selinux save_tout
Avatar de l’utilisateur
mtb_s
Hankyu
Messages : 20
Inscription : sam. 23 mai 2009, 22:33

Re: [gedit] création du fichier temp avant enregist (résolu)

Message par mtb_s »

C'est résolu, merci :!:

find /home -xdev -exec setfattr -x security.selinux {} \;

tuxce : peux-tu m'expliquer la strucutre de ta commande stp
Avatar de l’utilisateur
akira86
Hankyu
Messages : 26
Inscription : mar. 09 déc. 2008, 17:53

Re: [gedit] création du fichier temp avant enregist (résolu)

Message par akira86 »

find /home -xdev -exec setfattr -x security.selinux {} \;

find /home : trouver tout les fichier|dossier dans le home (de façon récursive)
-xdev : ne pas descendre dans les dossier qui ne serait pas sur la même partition que home (je croie)

-exec : pour chaque élément retourné par "find /home -xdev" appliqué la commande suivante :
setfattr -x security.selinux {} \;
Le {} va être remplacé par le nom du fichier|dossier courant retourné par find (généralement on met '{}' pour être sur que les accolades ne soit pas interprété par le shell)
le \; marque la fin de la commande, on met \ devant le ; (qui est le caractère habituel pour marquer la fin d'une ligne de commande) pour ne pas que ce caractère ne soit interprété par le shell comme la fin de la commande find.
Répondre