Как отобразить приглашение bash при использовании SSH без псевдо-терминала -?

Where should I install global terminfo files?

На типичной машине GNU/Linux вы должны поместить их в /etc/terminfo, где они будут искаться по умолчанию.

Это относится к большинству дистрибутивов на базе Debian или Fedora/Redhat, а также к Gentoo, Alpine и т. д.--infocmp -Dскажет вам, действительно ли это так в вашей системе. В дистрибутивах на основе Debian -ticтакже будет записывать туда скомпилированные записи по умолчанию при запуске от имени пользователя root (проверьте с помощьюtic -D).

Каталог /etc/terminfoудобен, когда вы хотите переопределить запись terminfo --, например. чтобы заменить возможности cnormи cvvisв записи linuxна некоторые, которые не включают мигание курсора.

Другие системы не имеют такой хорошей встроенной -функции переопределения :, поэтому вам придется вручную создать этот (или другой )каталог и явно указать его с помощью TERMINFOили TERMINFO_DIRSпеременные окружения; также основной каталог terminfo может быть не /usr/share/terminfo/, а /usr/gnu/share/terminfo/или каким-то другим. Проверьте man ncursesв вашей системе, чтобы узнать все подробности.

Существуют также системы (, например. FreeBSD ), которые вообще не поддерживают terminfo и все еще используют формат termcap. И, что еще больше усложняет ситуацию, некоторые системы могут иметь как базовую, так и «портированную» реализацию ncurses, каждая со своим собственным представлением о том, какими должны быть значения по умолчанию.

1
10.11.2021, 10:59
1 ответ

Очевидно, что это не решает всех проблем, возникающих из-за отсутствия tty, но вы можете это сделать:

ssh -T user@example.com bash -i
2
10.11.2021, 12:57

Теги

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