LINUX.ORG.RU

Странное поведение курсора в Konsole

 


0

2

Други, не подскажете, может кто сталкивался.

При наборе команд в Konsole в KDE Plasma в какой-то момент курсор перескакивает в начало той же строки и набор продолжается как бы поверх уже напечатанного текста в той же строке. т.е. я набирая дальше команду, как бы затираю ее. Хотя если потом запустить ее, то ошибок не будет. Команда отработает как и должна, если только она сама по себе не содержала ошибок.

Причем что интересно, чем больше у меня размер окна Konsole тем больше я могу набрать символов до момента когда курсор перескочит.

Что это такое, понять не могу. Может кто сталкивался?

Перемещено hobbit из general

Во-первых, Konsole, скорее всего, не при чём. Рисует промпт и читает ввод не Konsole, а шелл (который ты не посчитал нужным назвать).

Во-вторых, я бы начал с проверки PS1: есть ли там ANSI escape sequences и правильно ли они экранированы. Как экранировать непечатаемые символы в PS1 см. ман на свой шелл.

Потом я бы проверил, что шелл правильно понимает ширину окна. В баше надо распечатать $COLUMNS и убедиться что там правильное значение. Если там значение неправильное, то, возможно, виноват Konsole — не посылает клиентам WINCH или типа того.

debugger ★★★★★
()
Последнее исправление: debugger (всего исправлений: 1)
Ответ на: комментарий от debugger

Проблема точно не в konsole, потому что эта проблема есть и когда я не использую konsole

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

Проблема в bash

ITdreamer
() автор топика
Ответ на: комментарий от debugger

Соответственно я сразу полез в bashrc и вот мои настройки. Их совсем немного.

#
# ~/.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

alias ls='ls --color=auto'
alias grep='grep --color=auto'

BLACK="$(tput setaf 0)"
RED="$(tput setaf 1)"
GREEN="$(tput setaf 2)"
ORANGE="$(tput setaf 3)"
BLUE="$(tput setaf 4)"
PURPLE="$(tput setaf 5)"
CYAN="$(tput setaf 6)"
WHITE="$(tput setaf 7)"
GRAY="$(tput setaf 8)"
DEEPRED="$(tput setaf 9)"
SOFTGREEN="$(tput setaf 10)"

BOLD="$(tput bold)"
RESET="$(tput sgr0)"

# COMMAND PROMPT
PS1='${BOLD}${SOFTGREEN}\u@\h${RESET}:${BOLD}${BLUE} \W ${RESET}\$ '

# EDITOR
export EDITOR='/usr/bin/nvim'


Собственно это все. Но есть ощущение, что проблема в нем.
ITdreamer
() автор топика
Ответ на: комментарий от ITdreamer

bash через libreadline работает. Там может быть проблема. Хотя пока ничего не придумалось, что это может быть конкретно.

Дистрибутив какой? Установка свежая?

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от ITdreamer

Значит проблема в профиле Нееет )) Тут именно странное поведение bash

Проблема не в профиле, проблема в тебе. Я тебе русским языком писал:

Во-вторых, я бы начал с проверки PS1: есть ли там ANSI escape sequences и правильно ли они экранированы. Как экранировать непечатаемые символы в PS1 см. ман на свой шелл.

Вангую, что ты даже не пытался читать man bash.

Если ничто другое не помогает, прочтите, наконец, инструкцию!
— Аксиома Кана.

debugger ★★★★★
()
Ответ на: комментарий от debugger

Конечно проблема во мне, я же правил bashrc, ошибся в кавычках ))

Но вы не переживайте. Проблема найдена и устранена.

Если переживания и нервы не успокаиваются, ну займитесь сексом что ли. Ну или вздрочните на худой конец. Пар выпустите, так сказать))

ITdreamer
() автор топика
Ответ на: комментарий от debugger

Шёл 2023 год, а люди всё продолжали ковыряться в двадцати видах кавычек Bash’а и прочих дегенеративных шеллов, тратя ценное время на какую-то ерунду вместо решения прикладных задач.

А всё потому что какой-то какер-дид родил настолько убогий и нелогичный синтаксис Bash’а, что запомнить его невозможно, а скрипты на нём все называют лапшой и дурно пахнущими портянками.

Вот собрать бы все те человекочасы, которые потратили люди ковыряясь в этом дерьме, да подсчитать убытки как финансовые, так и временные.

EXL ★★★★★
()