Сегодня, можно было получить лучший из первых (dvcs) и второй (Dropbox) ответы с sparkleshare, который предоставляет подобному Dropbox пользовательскому опыту с основанным на мерзавце устройством хранения данных негласно.
Что-то, что выполняет внутренний экран GNU, решило, что он работал в xterm (или подобный) вместо этого и включил режим Application Mouse. (Или что-то, что Вы выполняете в том терминале перед присоединением к экрану GNU, возможно даже прежде ssh, который правильно не сбрасывал себя.) Это часто имеет место, если $TERM не является “экраном”, но например, “xterm” или “screen.xterm”. Последний замечен в системах Debian (и производные), которые имеют ncurses-term
установленный; попытайтесь произвести чистку того пакета (на хосте и скрипучий).
Иначе, reset
(как был уже сказан), или printf \\x033c
может помочь временно. Или, конечно, надлежащие escape-последовательности, чтобы сказать Вашему эмулятору терминала отключать режим мыши.
reset
имеет свое место, но очищает экран. Если вы используете xterm
или что-нибудь совместимое, то самым коротким и наименее навязчивым будет
printf '\033[?9l'
Это не указано явно в Отслеживание мыши разделе Последовательности управления XTerm, но xterm
позволяет вам сбросить (отключить) режим мыши, выключив любой из возможных режимов, которые могут быть включены. Они документированы как именованные константы:
#define SET_X10_MOUSE 9
#define SET_VT200_MOUSE 1000
#define SET_VT200_HIGHLIGHT_MOUSE 1001
#define SET_BTN_EVENT_MOUSE 1002
#define SET_ANY_EVENT_MOUSE 1003
и 9
- самая короткая.
Режим мыши включается многими приложениями. Если выйти из приложения, не выключив его, это приведет к появлению странных символов, которые вы видели. Приложения ncurses выключают режим мыши в endwin
, который вызывают все хорошо воспитанные приложения curses. Другие приложения могут не использовать (n)curses, или забыть вызвать endwin
.
ncurses-приложения проверяют, доступен ли режим xterm-mouse, тестируя возможность kmous
(которая является частью screen
описания терминала). Это стандартный способ проверки наличия данной возможности с 1999 года, поэтому маловероятно, что приложение включило режим мыши случайно. Скорее, это указывает на приложение, которое забыло выполнить свою работу.
Кстати, в пакете ncurses-term
Debian нет записи screen.xterm
(его сохранение более полезно, чем удаление). Вот список всех связанных с экраном записей в этом пакете. Большинство из них используется для исправления несоответствий в поведении экрана
для различных терминалов:
/usr/share/terminfo/s/screen.konsole
/usr/share/terminfo/s/screen-16color-bce
/usr/share/terminfo/s/screen-16color
/usr/share/terminfo/s/screen3
/usr/share/terminfo/s/screen.mrxvt
/usr/share/terminfo/s/screen-bce.Eterm
/usr/share/terminfo/s/screen-bce.gnome
/usr/share/terminfo/s/screen.xterm-xfree86
/usr/share/terminfo/s/screen-bce.konsole
/usr/share/terminfo/s/screen-bce.mlterm
/usr/share/terminfo/s/screen-256color-s
/usr/share/terminfo/s/screen-bce.mrxvt
/usr/share/terminfo/s/screen-bce.rxvt
/usr/share/terminfo/s/screen.linux
/usr/share/terminfo/s/screen.vte
/usr/share/terminfo/s/screen-bce.xterm-new
/usr/share/terminfo/s/screen.teraterm
/usr/share/terminfo/s/screen-16color-bce-s
/usr/share/terminfo/s/screen.xterm-r6
/usr/share/terminfo/s/screen+fkeys
/usr/share/terminfo/s/screen-256color-bce-s
/usr/share/terminfo/s/screen.mlterm
/usr/share/terminfo/s/screen-16color-s
/usr/share/terminfo/s/screen-bce.linux
/usr/share/terminfo/s/screen.gnome
/usr/share/terminfo/s/screen.rxvt
/usr/share/terminfo/s/screen2
/usr/share/terminfo/s/screen.Eterm
/usr/share/terminfo/s/screen.xterm-new