Этот вопрос является продолжением ответа на этот вопрос об изменении цвета подсказки пользовательского ввода в терминале XFCE: Терминал Ubuntu (Xfce): изменение цвета шрифта команд ввода по сравнению с выходным текстом
Поскольку мне не разрешено комментировать там (минимум 50 репутации), мне пришлось открыть новый вопрос.
После ответа я использовал следующую команду:
PS1='\e[1;36m\u@\h \W]\$\e[0m '
Это сохраняет формат по умолчанию, но меняет цвет на голубой, как и ожидалось.
Тем не менее, я получаю очень странное поведение. Иногда курсор будет возвращаться к строке ввода, а иногда будет показывать старый текст, которого там быть не должно. Иногда он разбивается на две строки, так что я продолжаю печатать строку выше. Например:
Скажи, что я хочу сделать:
$ cd /some/путь/к/каталогу
но когда я набираю это становится таким:
$ cd /some/pa/directoryath/to
если я наберу ввод, он все равно будет правильно читать команду, это просто неправильное отображение. Когда это произойдет, если я попытаюсь использовать backspace, это превратится в что-то вроде этого:
$ cd /some/pa/directoryath/to
$ cd /some/pa/directo
$ cd /some/pa -------- на данный момент я больше ничего не могу стереть,
на дисплее некоторые символы все еще
затяжной, но если я наберу ввод, в строке ввода ничего не будет
Другой пример, скажем, что у меня отображается следующее:
$ лс
папка1 папка2 папка3 папка4
и теперь я хочу ввести какую-то другую команду, тогда может произойти следующее:
$ лс
папка1 папка2 папка3 каталог
$ cd /some/path/to/a/di
Еще раз, если я набираю ввод, ввод распознается правильно, но дисплей испорчен.
Проблема возникает чаще всего, но не всегда, когда я набираю стрелку вверх, чтобы получить предыдущую команду, или когда строка ввода приближается к правому краю окна.