Этот вопрос является продолжением ответа на этот вопрос, касающийся изменения цвета приглашения ввода пользователя в терминале XFCE: Терминал Ubuntu (Xfce): создание команд ввода другой цвет шрифта из выходного текста
Поскольку мне не разрешено комментировать там (минимум 50 репутации), мне пришлось открыть новый вопрос.
После ответа я использовал следующую команду:
PS1='\e[1;36m\u@\h \W]\$\e[0m '
Это сохраняет формат таким же, как по умолчанию, но меняет цвет на голубой, как и ожидалось.
Однако я наблюдаю очень странное поведение. Иногда курсор возвращается в строку ввода, а иногда он показывает старый текст, которого там не должно быть. Иногда он разделяется на две строки, и я продолжаю печатать в строке выше. Например:
Скажите, что я хочу сделать:
$ cd /some/path/to/a/directory
, но по мере того, как я его набираю, он становится таким:
$ cd /some/pa/directoryath/to
если я набираю ввод, он все равно будет правильно читать команду, это просто неправильный дисплей .Когда это произойдет, если я попытаюсь использовать обратное пространство, оно превратится в что-то вроде этого:
$ cd /some/pa/directoryath/to
$ cd /some/pa/directo
$ cd /some/pa -------- at this point I cannot erase anything else,
in the display some of the characters are still
lingering, but if I type enter there is nothing on the input line
Другой пример, скажем, что у меня отображается следующее:
$ ls
folder1 folder2 folder3 folder4
и теперь я хочу ввести другую команду, тогда следующее может случается:
$ ls
folder1 folder2 folder3 folrectory
$ cd /some/path/to/a/di
Еще раз, если я ввожу ввод, ввод распознается правильно, но дисплей портится.
Проблема возникает наиболее часто, но не всегда, когда я набираю стрелку вверх, чтобы получить предыдущую команду, или когда строка ввода приближается к правому краю окна.