Terminal in OS X Lion: can't write åäö on remote machine

5

2

Can't type åäö on the command line when ssh'ing to a Debian machine. It works locally though.

Changing 'Declare terminal as' to 'xterm-color' doesn't seem to help, either.

Jonatan Littke

Posted 2011-07-26T11:23:39.380

Reputation: 375

Answers

9

Edit /etc/ssh_config and comment out the line:

SendEnv LANG LC_*

This config change was introduced by Lion. See man ssh_config for more information on SendEnv.

Another alternative may be to modify the machines you're accessing, as described in grawity's answer.

A related thread on this topic: http://mod16.org/hurfdurf/?p=189

Jonatan Littke

Posted 2011-07-26T11:23:39.380

Reputation: 375

3

Make sure the remote machine has correct locale settings:

  1. the value of $LANG (or $LC_CTYPE) should be an UTF-8 locale (en_US.utf-8 for example); on Debian, the default value is set in /etc/default/locale

  2. the chosen locale should be listed in locale -a – if not, edit /etc/locale.gen and run locale-gen.

user1686

Posted 2011-07-26T11:23:39.380

Reputation: 283 655

My locales was broken. Upgraded/reinstalled using apt-get install locales and then re-checked the locales using dpkg-reconfigure locales. After logging out and back in, the umlauts were working again. – rec – 2015-05-07T09:14:24.133

This worked before Lion though, so I'm guessing the problem is on my side. But I'll double check. – Jonatan Littke – 2011-07-26T12:22:16.560

locale-a gives me: locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_COLLATE to default locale: No such file or directory – Jonatan Littke – 2011-07-28T11:54:52.450

locale-gen is not a command, only a manpage, not sure what to run. – Jonatan Littke – 2011-07-28T11:55:57.287

@Jonatan: You might need the locales package on Debian. – user1686 – 2011-07-28T12:22:06.733

Already installed: http://cl.ly/8zrl

– Jonatan Littke – 2011-08-03T09:58:11.883

@Jonatan: locale-gen is supposed to be run by root, and is in /usr/sbin because of that. – user1686 – 2011-08-03T16:39:06.043

2

I had to comment out the line SendEnv LANG LC_* in /etc/ssh_config on a clean install of OS X Lion in order to get åäö to work on remote machines.

Just to make Google users happy: many of you probably want to configure this to make Irssi on remote servers work with special characters like åäö on Mac OS X Lion.

nybergh

Posted 2011-07-26T11:23:39.380

Reputation: 395

That's what I meant to write, updated my answer, thanks. :) – Jonatan Littke – 2011-08-05T11:05:58.307

1

Or even easier, you can uncheck the "Set locale environment variables on startup" setting in Terminal.app under Settings Windows > Settings Tab > Advanced and restart Terminal.app

Luis A.

Posted 2011-07-26T11:23:39.380

Reputation: 11

0

I have added:

LC_CTYPE=en_US.UTF-8
LANG=POSIX

in .bash_profile located in my home folder.

powerbart

Posted 2011-07-26T11:23:39.380

Reputation: 1

2If you meant this as an answer can you explain how this answers the question? See the [faq] and [about] pages for more information about how this site works. Thanks! – Seth – 2013-03-24T19:07:07.560