
У меня возникли проблемы с приложением «Терминал» в Mac OS X Snow Leopard.
Я использую ssh для подключения к удаленному серверу Linux и редактирования файла конфигурации.
По какой-то причине он иногда пропускает символы, когда подключен к серверу Linux. У меня были проблемы с определением этого и с тем, чтобы это происходило повторяющимся образом - к сожалению, это лучший метод, который я придумал:
Подключиться к серверу Ubuntu 8.04
Редактируйте текстовый файл с помощью
nano
(полноэкранного приложения)В первой строке текстового файла отсутствует первый символ строки (самый левый символ). Например, если текстовый файл содержит строку "asdf", вы увидите "sdf".
Если переместить курсор в эту позицию, персонаж вернется туда (линия перерисовывается nano)
Изменение размера окна приложения «Терминал» не возвращает никаких символов.
Если вы нажмете «Обновить» (CTRL+L) в nano, символы снова пропадут.
Та же проблема наблюдается less
и в некоторых других терминальных приложениях.
Проблема не повторяется с терминалом Gnome или другим терминальным приложением, поэтому она не может быть связана с конфигурацией сервера. Однако у меня та же проблема на двух разных установках OS X, поэтому она может быть связана с моими настройками по умолчанию.
Подозреваю, что это может быть связано с кодировкой UTF-8 или настройками терминала, но мне пока не удалось выяснить, какая именно настройка вызывает это.
Используемый ssh-клиент:
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
Редактировать:
На самом деле это можно повторить и на локальной OSX, и это не привязано к Ubuntu.
Установил Macports (не уверен, нужен ли он) и использую следующую GNU nano для редактирования текстовых файлов:
GNU nano version 2.0.6 (compiled 11:42:28, May 18 2009)
Email: [email protected] Web: http://www.nano-editor.org/
Compiled options: --disable-nls --enable-color --enable-extra --enable-multibuffer --enable-nanorc
Устанавливаются следующие переменные среды, связанные с терминалом:
TERM=ansi
TERM_PROGRAM=Apple_Terminal
TERM_PROGRAM_VERSION=273.1
В Terminal.app указано, что эмуляция — ANSI, кодировка — UTF-8.
Пока не уверен, какая комбинация активирует это (какой режим терминала и т. д.)
решение1
Я решил похожую проблему, с которой я столкнулся, в настройках терминала OS X: Профили, Дополнительно, и изменил раскрывающееся поле «Объявить терминал как» на xterm-256color.
решение2
Проблема, которую вы описываете, типична для неправильного значения переменной среды TERM. В частности, значение переменной TERM в Ubuntu выбирает набор функций и возможностей терминала, которые не соответствуют таковым приложения OS X Terminal.
Если TERM установлен на что-то вроде xterm-color
или xterm-256color
попробуйте установить для него другие значения (например, другое из двух, которые я упомянул, или plain xterm
, ansi
или vt220
).
ОБНОВЛЯТЬ:
В OS X Terminal.app попробуйте выполнить следующие команды
TERM=ansi nano googlef916dafa821844e0.html
TERM=vt220 nano googlef916dafa821844e0.html
TERM=xterm nano googlef916dafa821844e0.html
TERM=xterm-color nano googlef916dafa821844e0.html
TERM=xterm-256color nano googlef916dafa821844e0.html
решение3
Похоже, Терминал просто глючит.
Я рекомендую использоватьiTerm 2вместо.
iTerm2 — это замена Terminal и преемник iTerm. Он работает на Mac с Leopard, Snow Leopard или Lion. Он фокусируется на производительности, интернационализации и поддержке инновационных функций, которые делают вашу жизнь лучше.