Как избавиться от сообщения об ошибке при входе в систему через ssh -> «setterm: терминал xterm не поддерживает --blength»

1989
Sven M.

Всякий раз, когда я захожу в свой архив с Linux, я получаю следующее сообщение об ошибке:

setterm: terminal xterm does not support --blength 

Также при выполнении:

$ sudo su - 

Интересно не при использовании

$ sudo su 

Я просматривал различные страницы руководства, пытаясь найти, где устанавливается этот атрибут терминала. В том числе settermи terminfo. Я пошел даже так далеко, делая

find / -type f -iname "terminfo" -exec grep -i blength {} \;

Это вернуло 0 результатов. Также смотрел /etc/.bashrcи, /etc/bash.basrcно нигде я не обнаружил ничего, что вызывает settermили даже включает *blength*в свое заявление.

Эта проблема на самом деле просто небольшая неприятность, но я нахожу ее очень раздражающей просто потому, что мне не нравится видеть сообщения об ошибках системы, которая находится в состоянии runningпри запросе systemctl status --system. Кроме того, я убедился, что PuTTY (использующий SuperPuTTY в качестве внешнего интерфейса) не передает никаких команд. Я был бы очень признателен за некоторые советы по этому вопросу. Большое спасибо.

5
Я получаю эту ошибку каждый раз, когда создаю оболочку после обновления с Ubuntu 14.04 до Ubuntu 16.04. Я попытался удалить соответствующие части / usr / share / bash-завершению / завершений / setterm, но это не помогло. Andrew Wagner 7 лет назад 0
чтобы помочь сузить, вы можете попробовать один или несколько из них: * отключение пересылки X11 `ssh -o ForwardX11 = no` * переименовать .bash_profile * переименовать .bashrc strobelight 7 лет назад 0
о, и вы могли бы попытаться установить настройки вашего терминала, чтобы использовать визуальный звонок вместо слышимого. В любом случае setterm хочет `-blength`, а не` -blength`. / etc / profile и /etc/profile.d/* также являются возможными способами ввода настроек терминала, а также stty. strobelight 7 лет назад 1
@strobelight Не переименовывал файлы из-за беспокойства из-за путаницы, но я просмотрел каждый файл с именем `bash_profile`, но нигде не смог найти grep` blength`. Каково значение отключения пересылки X11? Sven M. 7 лет назад 0
«Отключение X11» было просто чем-то другим, чтобы попробовать ssh, если это была проблема ssh. strobelight 7 лет назад 0

2 ответа на вопрос

2
Sven M.

О, дорогой, после долгого времени я нашел это благодаря одному из комментариев стробелайта, указывающего на то, что возможные кандидаты на настройку находятся в/etc/profile.d/

[..] / etc / profile и /etc/profile.d/* также являются возможными способами ввода настроек терминала [..]

Затем я быстро сделал это grep -e "blength" /etc/profile.d/*. Выход которого был:

disable-beep.sh:setterm -blength 0 

Поэтому я сначала закомментировал это, вышел из системы, снова вернулся, и ошибка исчезла .

Затем я посмотрел на команду во второй раз, так как она не имела двойных черточек, --а только одну.

Таким образом, я предположил, что поскольку закомментирование строки исправляет ошибку¹, команда settermожидает пары значений ключа и обрабатывает дефисы сама, insert another implementation detailно в любом случае я должна предоставить команду как таковую:

setterm blength 0 

Сказано, сделано, сохранено, перезагружено, и ошибка все еще исчезает, и звонок, скорее всего, хранит молчание. Опять бы не нашел это без комментария строблайта .

¹ но, возможно, снова включает звонок, чего я не мог сказать, так как я RDP'd в машину, которая выполняет сессию ssh без переадресации звуков - почему дополнительный уровень вы можете спросить, на который я отвечаю корпоративный ноутбук без o права делать дерьмо, что да, глупо, учитывая мою работу

рад, что помог указать путь! Так много разновидностей Linux и не все имеют одинаковые сценарии. strobelight 7 лет назад 0
0
Jakub Sistek

Я была такая же проблема. Оказывается, это происходит по-моему .bashrc. После комментирования строки:

setterm -blength 0 

Я больше не получаю сообщение об ошибке.

Это забавная вещь. Я также слабо помню, как в какой-то момент я сам устанавливал это значение в прошлом. Я вошел в систему как root и сделал `find / -type f -name" * ashr * "-exec grep -e" blength "{} \;`, но ничего не нашел. Не уверен, что другие файлы могут быть кандидатами на поиск. Есть идеи? Sven M. 7 лет назад 0
ну, вы можете попробовать `'* ashr *'`, поскольку `" * ashr * "` будет расширяться до каждого файла в текущем каталоге, содержащего "ashr" вместо того, что вы действительно хотели, а именно, чтобы найти все файлы, содержащие "ashr" ». По сути, вы не хотите, чтобы звездочка расширялась, поэтому она должна быть в одинарных кавычках. strobelight 7 лет назад 0
@strobelight Наверное, стоит посмотреть на расширение команд для этого, но я до сих пор не понимаю, как эти две команды отличаются. Я чувствую, что даже ваше объяснение в основном говорит, что обе команды эквивалентны. Буду признателен, если вы могли бы уточнить или просто дать несколько ссылок на эту тему. Извините за то, что так глупо. ;) Sven M. 7 лет назад 0

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