Vous n'êtes pas identifié(e).
Exècution :
La différence est bien visible sur la conversion hexa du fichier source :
Le caractère parasite peut se produire aussi bien en tapant directement en tty qu'en émulateur. J'ai essayé différents éditeurs de texte (nano, geany,mousepad, .. ) pareil.
Je n'ai réussi à reproduire le process exact, mais le caractère apparait si la saisie est retouchée et peut-être supprimée "à l'aveugle" en éditant le texte et en supprimant / retapant....
Mes questions !
Est-ce que vous avez le même problème ?
Comment l'éviter?
SInon, comment supprimer ce caractère UTF8 . "no-breakspace" (c2a0) dans un fichier.
Merci -:)
Dernière modification par papy-tux (20-10-2017 15:29:21)
Hors ligne
Dernière modification par raleur (14-10-2017 10:48:12)
Il vaut mieux montrer que raconter.
Hors ligne
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
Hors ligne
…comment supprimer ce caractère UTF8 . "no-breakspace" (c2a0) dans un fichier.…
Pour remplacer dans leFichierAmodifier.txt
tous les caractères no-breakspace par un caractère space (0x20)
Je n'ai pas rencontré ce problème de saisie parasite.
Dernière modification par MicP (15-10-2017 08:03:20)
Hors ligne
Et la commande sed fait bien le filtre:
Avant :
Après :
Et encore merci à tous pour vos réponses. Problème résolu
Hors ligne
Bonjour
Tu peux taper ton texte sous writer libre office par exemple tu pourras afficher les caractères non imprimable en cliquant sur le symbole ¶ sur la barre du haut
Effectivement j'ai essayé, ça permet de voir très facilement le problème et d'intervenir. C'est un bon moyen d'investigation:)
Hors ligne
Depuis plusieurs versions de Debian, par défaut /bin/sh pointe vers l'interpréteur dash et non plus bash.
Bizarre.... sur Stretch, quand je fais
, c'est /bin/bash qui apparaît ...
Hors ligne
…
Comment l'éviter?
…
Tu pourrais créer un script qui, pour ton compte utilisateur,
modifie le caractère assigné à cette combinaison de touches.
Je crois que tu utilises xfwm4, il devrait être possible de lancer ce script
au moment de la connexion à ton compte utilisateur
en créant un fichier .desktop dans ~/.config/autostart
=======
Voir : https://wiki.archlinux.fr/Xmodmap
Le keycode de la touche Espace est 65
et je peux visualiser les caractères générés par la touche espace
en fonction des différentes combinaisons de touches et de la configuration de mon clavier
avec la ligne de commandes suivante :
Avec ma configuration clavier : Français (variante),
c'est la combinaison de touches Shift+AltGr+Espace qui permet de générer un caractère no-breakspace
=======
La ligne de commandes ci-dessous fait en sorte
que la combinaison de touches utilisant la touche Espace
qui permettait de générer un caractère no-breakspace
génère un caractère espace :
Après l'exécution de la ligne de commandes ci-dessus,
on peut voir les modifications apportées avec :
=======
Et si besoin, pour remettre mon clavier dans sa configuration initiale,
il me suffit de faire :
Dernière modification par MicP (15-10-2017 09:31:55)
Hors ligne
raleur a écrit :Depuis plusieurs versions de Debian, par défaut /bin/sh pointe vers l'interpréteur dash et non plus bash.
Bizarre.... sur Stretch, quand je faisecho $SHELL, c'est /bin/bash qui apparaît ...
/bin/bash
Ce n'est pas la même chose. La variable d'environnement $SHELL contient le shell de l'utilisateur courant. Le shell d'un utilisateur est défini dans le fichier /etc/passwd (pour les détails : man 5 passwd) :
Comme il s'agit d'un shell interactif, on utilise généralement un interpréteur "riche" comme bash.
Moi, je te parle de /bin/sh qui est le shell par défaut du système, utilisé par tous les scripts qui contiennent "#!/bin/sh" et qui est un lien symbolique pointant vers dash :
dash est un interpréteur plus simple et rapide que bash mais qui n'est pas très pratique comme shell interactif et qui convient mieux à l'exécution non interactive de scripts.
Il vaut mieux montrer que raconter.
Hors ligne
papy-tux a écrit :raleur a écrit :Depuis plusieurs versions de Debian, par défaut /bin/sh pointe vers l'interpréteur dash et non plus bash.
Bizarre.... sur Stretch, quand je faisecho $SHELL, c'est /bin/bash qui apparaît ...
/bin/bash
Ce n'est pas la même chose. La variable d'environnement $SHELL contient le shell de l'utilisateur courant. Le shell d'un utilisateur est défini dans le fichier /etc/passwd (pour les détails : man 5 passwd) :grep $USER /etc/passwd
raleur:x:1000:1000:Raleur,,,:/home/raleur:/bin/bash
Comme il s'agit d'un shell interactif, on utilise généralement un interpréteur "riche" comme bash.
Moi, je te parle de /bin/sh qui est le shell par défaut du système, utilisé par tous les scripts qui contiennent "#!/bin/sh" et qui est un lien symbolique pointant vers dash :file /bin/sh
/bin/sh: symbolic link to `dash'
dash est un interpréteur plus simple et rapide que bash mais qui n'est pas très pratique comme shell interactif et qui convient mieux à l'exécution non interactive de scripts.
Ok c'est clair. Merci
Et tout à fait d'accord, les doubles crochets sont spécifiques à bash et doit-être utilisée avec l'entête de script !# /bin/bash et non !#/bin/sh comme j'avais mis dans l'exemple...
Hors ligne
Tu pourrais créer un script qui, pour ton compte utilisateur,
modifie le caractère assigné à cette combinaison de touches.
Je crois que tu utilises xfwm4, il devrait être possible de lancer ce script
au moment de la connexion à ton compte utilisateur
en créant un fichier .desktop dans ~/.config/autostart
J'ai testé la commande de remplacement de caractère... Impeccable!!!!
Par contre, je n'ai pas réussi à l'automatiser avec un fichier desktop. Celui que j'ai créé (via l'interface graphique n'a pas d'effet ...). Il contient :
Est-ce qu'il y a quelque chose à faire de plus ou autre solution ?
Désolé, le sujet dérive mais je n'ai pas d'expérience en fichier desktop....
Hors ligne
Et ce fichier sera automatiquement pris en compte par la commande xmodmap au moment de la connexion au compte utilisateur.
=======
Si besoin, on peut aussi lancer une commande xmodmap qui prendra en compte le fichier ~/.Xomdmap (ou n'importe quel autre nom de fichier)
en utilisant un lanceur de l'interface graphique :
Dans le champ Commande : du lanceur, %U est équivalent à $HOME/ ou ~/
Dernière modification par MicP (17-10-2017 18:57:06)
Hors ligne
Bonsoir
Je viens tout juste de tester une méthode bien sympa :
Il suffit de créer un fichier ~/.Xmodmap (donc, dans le répertoire personnel de l'utilisateur)
dont le contenu sera :keycode 65 = space space space space space space space U202F
Et ce fichier sera automatiquement pris en compte par la commande xmodmap au moment de la connexion au compte utilisateur..
J'ai essayé cette méthode, ça marche très bien. Impeccable... J'ai beaucoup appris sur les touches qui étaient un sujet très mystérieux pour moi. Merci
Je marque comme résolu.
Hors ligne
Hors ligne