Вход в удалённые оболочки из консоли на Debian 9 приводит к "'screen.xterm-256color': unknown terminal type",

Вы можете попробовать примерно так:

Это ваши файлы:

$ cd Project
$ find . -type f
./Part2/audio.mp3
./Part3/audio.mp3
./Part1/audio.mp3

Использование dirname вернет имя их каталога (при условии, что у вас есть только один уровень подкаталогов). Таким образом:

$ find . -type f \
   | while read i ; do \
       d=$(dirname $i); echo renaming "$i" to "$d.mp3" ; \
     done
renaming ./Part2/audio.mp3 to ./Part2.mp3
renaming ./Part3/audio.mp3 to ./Part3.mp3
renaming ./Part1/audio.mp3 to ./Part1.mp3

И это переименует их:

$ find . -type f | while read i ; do d=$(dirname $i); mv "$i" "$d.mp3" ; done
2
14.10.2018, 19:12
1 ответ

Когда вы запускаете screen, он устанавливает переменную среды TERMдля внутренней оболочки, предпочитая использовать переменную внешней оболочки TERMв качестве отправной точки, например,

screen.$TERM

Ваша внешняя оболочка была установлена ​​на xterm-256color(, что на самом деле неверно ), и screenнашел описание терминала дляscreen.xterm-256color(из пакета ncurses-term. Когда вы подключаете (вscreen)к удаленной машине без установленного описания терминала, вы столкнетесь с проблемами, подобными перечисленным в вопросе.

(Сообщение об ошибке относится к делу, но основная проблема в этой длинной ветке заключается в том, что репортер не понял, что различные терминалы на самом деле не действуют одинаково — сопровождающие пакета дали разумные ответы ).

Между прочим, в ncurses 6.1 есть функция , которую можно легко использовать для передачи описаний терминалов другим машинам, использующим ncurses 6.1. Но это не поможет с (a )приложениями, которые не используют ncurses, или (b )машинами, на которых не установлен ncurses 6.1. На самом деле, для последнего это создало бы новые проблемы. Когда это произойдет, обсуждение плюсов и минусов появится в FAQ по ncurses.

2
27.01.2020, 22:08

Теги

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