Настройка типа терминала для удаленного доступа-SSH в VSCode

0

Вопрос

Я использую удаленный SSH для VSCode для подключения к серверу Linux для разработки. Мне нужно, чтобы мой тип терминала по умолчанию был xterm вместо xterm-256color, который, по-видимому, является типом терминала по умолчанию при использовании удаленного SSH.

Я попытался добавить SetEnv TERM=xterm так же как SendEnv TERM=xterm в конфигурационный файл SSH, но ни то, ни другое не работает. Единственный способ заставить его работать - это запустить его вручную export TERM=xterm в терминале bash, как только я подключусь, но эта настройка теряется, когда я открываю новый bash.

В VSCode я вижу, что мой терминал для linux настроен на xterm, поэтому я не уверен, почему он по-прежнему по умолчанию использует xterm-256color при использовании удаленного SSH. У меня нет этой проблемы при использовании шпатлевки за пределами VSCode.

Есть какие-нибудь идеи?

ssh visual-studio-code
2021-11-24 04:38:30
1

Лучший ответ

0

Параметр, на который вы ссылаетесь на своем снимке экрана, не устанавливает TERM переменная, но исполняемый файл, который запускается, если вы используете внешний терминал.

Похоже, что TERM значение для встроенного терминала жестко закодировано в xterm-256color.

Простым обходным решением должно быть установить его в вашем ~/.profile или ~/.bash_profile на пульте дистанционного управления:

export TERM=xterm
2021-11-24 09:44:55

Спасибо за это. К сожалению, даже после того, как я добавлю export TERM=xterm как для ~/.профиля, так и для ~/.bash_profile у меня по-прежнему одна и та же проблема. Является ли жесткое кодирование или что-то в конфигурации удаленного ssh перезаписью этого? Как уже упоминалось, у меня нет этой проблемы при использовании шпатлевки.
nix1016

Хм, это странно. ЗАМАЗКА, очевидно, использует xterm в вашем случае (можно настроить в настройках ШПАТЛЕВКИ), вероятно, поэтому он там работает. Если он также работает при настройке вручную после входа в систему, он определенно должен работать в вашем .profile также. Можете ли вы проверить свой .bashrc досье? Обычно существует оператор if, который проверяет TERM переменная. Окончательный взлом состоял бы в том, чтобы установить его прямо перед этим.
carlfriedrich

Ура, вот и все! По какой-то причине у меня в профиле не было файла .bashrc, я создал его и добавил export TERM=xterm и теперь по умолчанию это так. Спасибо за вашу помощь!
nix1016

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................