По какой-то причине сегодня, каждый раз, когда я нажимаю вкладку в терминале, это появляется:
cat bash: warning: setlocale: LC_CTYPE: cannot change locale (en_CA)
Display all 150 possibilities? (y or n)
Это происходит, когда я печатаю, а cat
затем нажимаю TAB. Я никогда не менял никаких настроек или чего-либо еще. Кто-нибудь знает, что происходит?
bash
autocomplete
locale
TAB Weirdness
источник
источник
en_CA
(например, канадский английский) языком, в котором вы ожидаете быть?locale
команды?en_CA
это допустимая локаль (то есть она существует в вашей системе и была сгенерированаlocaledef
или каким-либо другим подобным инструментом генерации локали)?ssh
илиputty
.Ответы:
У меня есть предчувствие, что что-то ваше bash_completion вызывает это. Попробуйте временно очистить завершение bash (до выхода), выполнив:
Если это проясняет ситуацию, то это что-то с завершением bash, если нет, то это может быть одна из встроенных команд bash.
источник
Аналогичная проблема при подключении через SSH к удаленному серверу (после установки oh-my-zsh на моем локальном компьютере, но я не уверен, что это актуально). Исправить это,
На моем локальном компьютере я отредактировал файл / etc / ssh / ssh_config, комментируя строку SendEnv
Завершение вкладки теперь работает без предупреждения на удаленной машине
источник
У меня была похожая проблема на моем сервере Ubuntu (FlexiScale), и я некоторое время искал решение, но не мог найти ничего подходящего ... Все еще не уверен, что то, что я сделал, - «правильный путь», но, похоже, оно работает.
Предупреждение, которое я видел, было:
Чтобы убедиться, что локали обновлены, я сделал это (не уверен, что это было необходимо):
locale
в моей системе показывалось,LC_CTYPE="UTF-8"
что мне не выглядело правильно, поэтому я изменил свой/etc/default/locale
вид так:(Я добавил вторую строку.) После повторного входа предупреждения исчезли.
источник
LC_CTYPE
чтобы быть действительным значением, сделало это. Вам не нужноLANG
(и на самом деле я рекомендую против этого ). Вы можете увидеть действительные имена локалей в вашей системе, запустивlocale -a
. В Ubuntu запуститеsudo localegen xx_YY
для генерацииxx_YY
локали (при условии, что она может быть сгенерирована).Если вы получаете сообщение об ошибке / предупреждение, подобное этому, когда нажимаете Tab для автозаполнения команды bash:
Решение:
Установите необходимую локаль. В моем случае это «id»:
Переконфигурируйте локали:
Теперь завершение bash Tab должно работать нормально. :-)
Источник: http://ubuntucomputing.blogspot.com/2011/12/how-to-fix-error-bash-warning-setlocale.html
источник
У меня была такая же проблема. Я попробовал некоторые решения здесь, но когда я попытался запустить
locale-gen
, моя система сказала, что не может найти команду. Оказывается, это частьlocales
пакета, который я не установил. Так что я установил его, запустилlocales-gen
, и теперь он работает!источник
Решено навсегда с созданием файла
С содержанием
Смотрите ответ на GitHub
источник