L'un des serveurs que j'utilise très souvent ssh
utilise le codage occidental au lieu de utf-8 (et il n'y a aucun moyen que je puisse changer cela).
J'ai commencé à écrire un script bash pour me connecter à ce serveur, donc je n'aurai pas à taper l'adresse entière à chaque fois, mais je voudrais améliorer ce script pour qu'il modifie également l'encodage de la fenêtre de terminal correctement.
Le changement que je dois faire peut être effectué à l'aide de la souris en naviguant vers "Terminal" -> "Définir l'encodage des caractères ..." -> "Western (ISO-8859-1)". Existe-t-il une commande de terminal qui fait la même chose, pour la fenêtre / l'écran du terminal actuel?
Pour clarifier:
je ne suis pas intéressé par les moyens de changer les paramètres régionaux du système sur le site distant - ce système est administré par quelqu'un d'autre, et je n'ai aucune idée de ce qui pourrait dépendre de l'encodage latin-1. Ce que je veux faire, c'est laisser cette fenêtre de terminal sur mon côté changer de codage de caractères pour ce qui est mentionné ci-dessus, de la même manière que je peux le faire avec ma souris et les menus.
la source
Réponses:
Vous recherchez
luit
ce qui est conçu à cet effet:$ luit -encoding ISO-8859-1 ssh remote.host
Il convertira la sortie de la commande ssh en UTF-8 afin que vous n'ayez pas besoin de changer l'encodage du terminal.
la source
Modifiez d'abord les paramètres régionaux actuels dans votre éditeur préféré
sudo gedit /var/lib/locales/supported.d/local
à quelque chose commeEnsuite, exécutez
sudo dpkg-reconfigure locales
Réglez ensuite le terminal avec
LANG=en_GB.ISO-8859-1
J'espère que ça marche
la source
Gnome Terminal utilise gconf pour stocker les paramètres. Ceux-ci peuvent être manipulés avec
gconftool
So, vous pouvez utiliser:J'ai testé cela le 12.04. Pour une raison quelconque, le menu (
"Terminal"->"Set Character Encoding..."
) ne semble pas être mis à jour en temps réel, mais l'encodage réel des caractères est correctement mis à jour.la source
Je ne sais pas comment le tester, mais avec Konsole sur Kubuntu, je peux faire ce qui suit:
1) Trouver une application enregistrée sur dbus
J'utilise
konsole
donc un simpleqdbus | grep kons
me donneorg.kde.konsole
2) Trouvez les sessions en cours à Konsole
3) Trouvez des méthodes utiles
4) Vérifier l'encodage actuel
5) Définir l'encodage
6) Vérifiez l'encodage actuel
Ubuntu aura un programme de terminal similaire, mais vous devrez vous intriguer avec le nom de service, le chemin, la méthode et les arguments corrects.
la source
Voici une autre solution que j'ai utilisée pour changer le profil (pour la couleur d'arrière-plan) lors de la connexion à un serveur de production. Cela implique
xdotool
.xdotool
simulera les frappes nécessaires pour sélectionner l'élément de menu souhaité. Essayez-le d'abord avec votre clavier, puis notez la séquence:Il activera le premier codage de caractères. Ajoutez d'autres
Down
clés avant deReturn
pour en sélectionner une autre.Remarque: pour
ssh
, vous pouvez également utiliser un~/.ssh/config
fichier pour configurer les alias de vos serveurs.la source
Activé
xterm
, modifiez l'encodage à l'aide de séquences de contrôle . Par exemple, enbash
vous obtenez le jeu de caractères UTF-8 en exécutant:Le codage ISO 8859-1 est accessible en exécutant:
la source