Я могу измениться, терминальный тип раньше входил в систему через SSH?

Vim ожидает находить свои файлы установки (например, система справочной информации, определения для подсветки синтаксиса) в конкретном месте, но может работать без многих из них. Возможно, что, в то время как можно выполнить Vim, он не может определить местоположение этих файлов установки.

Vim попробует несколько методов для определения местоположения этих файлов, но если у Вас будет необычная установка затем, то они не будут найдены.

Если можно получить доступ к системе справочной информации, считайте эти темы: :help $VIM и :help $VIMRUNTIME. Вы, вероятно, не найдете их со своей текущей конфигурацией, поэтому считать версии в сети, например: $VIM справки и: $VIMRUNTIME справки.

Я подозреваю, что можно решить проблему путем корректной установки один или оба из VIM и переменных среды VIMRUNTIME.

Вы могли бы обнаружить что vim двоичные и файлы во время выполнения существуют в разрозненных деревьях каталогов и что необходимо будет искать для файлов во время выполнения ниже некоторого пути, например: find /path -type d -name 'vim[0-9]*'

Пример

Я полагаюсь на экземпляр Vim, который связывается пакетом разработки Studio Sun, который наш SysAdmin обеспечил через удаленное монтирование. vim двоичный файл расположен в /remote/sunstudio12/SUNWspro/contrib/vim/bin/vim (например, which vim) и файлы во время выполнения расположены в /remote/sunstudio12/SUNWspro/contrib/vim/share/vim/vim63.

У меня была подобная проблема к Вашему. Во-первых, я пытался экспортировать VIM=/remote/sunstudio12/SUNWspro/contrib/vim, но это не работало. Отдельно, я пытался экспортировать VIMRUNTIME=/remote/sunstudio12/SUNWspro/contrib/vim/share/vim/vim63, который работает правильно (в то время как VIM остается сброшенным). VIMRUNTIME должен указать на каталог, содержащий файлы такой как menu.vim, scripts.vim и каталоги такой как colors, doc, syntax и т.д. (возможно иждивенец версии, YMMV).

Я также изменил мой PATH располагаться vim двоичный файл, однако, уже можно успешно выполнить двоичный файл.

(Обновленный...)

Я пересмотрел свои настройки среды оболочки для вышеупомянутого и нашел тот экспорт VIM=/remote/sunstudio12/SUNWspro/contrib/vim/share/vim (и сбрасывание VIMRUNTIME) также работавший - моя начальная буква экспериментирует с установкой VIM были дезинформированы. Местоположение, которым указывают VIM содержит каталог, vim63, содержа файлы во время выполнения, в которых я нуждаюсь.

Я все еще полагаюсь PATH располагаться vim двоичный файл.

8
28.04.2015, 10:42
4 ответа

После входа в систему вы можете выполнить что-то вроде:

export TERM=vt100
-121--48350-

Если у вас есть корневой доступ к удаленному поле, установите пакет NCURSS-TERM . Это обеспечит RXVT-256COLOR TERMINFO.

Как пользователь без корня, вы также можете скопировать записи RXVT Terminfo для $ Home / .terminfo / R / на удаленном компьютере и экспорте TERMINFO = $ HOME / .terminfo .

ssh <host> 'mkdir -p .terminfo/r'
scp /usr/share/terminfo/r/rxvt-unicode-256color <host>:~/.terminfo/r/
7
27.01.2020, 20:10

Процесс SSHD (от SSHD (8)) будет читать ...

6.   Reads the file ~/.ssh/environment, if it exists, and users are
allowed to change their environment.  See the PermitUserEnvironment 
option in sshd_config(5).

и

8.   If ~/.ssh/rc exists, runs it; else if /etc/ssh/sshrc exists, 
runs it; otherwise runs xauth.  The “rc” files are given the X11 
authentication protocol and cookie in standard input.  See SSHRC, below.

Вы можете изменить для редактирования ~ / .ssh / rc , чтобы настроить значение этого слова, поскольку этот файл будет прочитан до Профиль раковины.

2
27.01.2020, 20:10

после входа в систему можно выполнить что-то вроде:

export TERM=vt100
4
27.01.2020, 20:10

Обычно TERM передается из вашей локальной среды без изменений в удаленную среду. Если вы установите TERM на локальной стороне при вызове ssh , это сделает то, что необходимо.

Например, если на удаленном конце есть описание терминала для rxvt (но не rxvt-unicode ), этого будет достаточно для функциональных клавиш и т. Д.

Предполагая, что bash или какая-либо оболочка, совместимая с POSIX, вы можете сделать это с помощью

TERM = rxvt ssh remotehost

. Это повлияет только на команду ssh , а не на вашу локальную среду. . Я использую эту функцию для работы с типичными машинами, у которых нет описания для screen.xterm-new .В зависимости от удаленной машины может быть подходящий пакет, который можно установить для полной базы данных терминала , а может и не быть. Некоторые (например, Solaris и FreeBSD) требуют обходного пути.

Дополнительная литература:

1
27.01.2020, 20:10

Теги

Похожие вопросы