Двойная новая строка при копировании в консоль на xrdp

461
Stem

в начале, извините за мой плохой английский. Эта проблема, которая сводит меня с ума ... У меня есть сервер Debian Jessie, и я использую его для работы на X11-xrdp с моей машины win10. Когда я копирую из Windows и вставляю в консоль (или в любой другой терминал) в сеансе rdp, я получаю дополнительную новую строку в каждой строке. Например, когда я вставляю:

echo echo echo 

Я получаю

root@lismall:~$ echo enter code here  root@lismall:~$  root@lismall:~$ echo  root@lismall:~$  root@lismall:~$ echo 

Если я делаю то же самое в vim, после установки ": set list", я вижу это:

echo$ $ echo$ $ echo$ 

Если я вставлю те же строки в текстовом редакторе (например, medit), ничего страшного, двойной строки не будет.

Это мой вывод "stty -a":

speed 38400 baud; rows 48; columns 192; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl ixon -ixoff -iuclc -ixany imaxbel -iutf8 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke 

Не могли бы вы мне помочь? Заранее спасибо!

1
Причина в том, что Windows использует CR LF-последовательность для конца строки, в отличие от CR в Linux. Ваш текстовый редактор игнорирует LF, а терминал - нет. Я не знаю хорошего способа изменить это поведение; в некоторых случаях вам нужно преобразовывать окончания строк, но не в других. dirkt 7 лет назад 1
Та же проблема, когда я копирую с машины Ubuntu и вставляю в сеанс X11-RDP на сервере Debian, открытый с помощью rdesktop ... Stem 7 лет назад 0
Тогда вопрос в том, * что * вы скопировали с компьютера с Ubuntu - если это был, например, файл DOS или Windows в редакторе, это также будет содержать конец строки CR LF. Вы можете проверить, что на самом деле вставлено, используя `xclip -o | hexdump -C`, где CR = 0d, а LF = 0a. В Linux вы должны видеть только `0a` (то есть LF, а не CR, как я ошибочно написал выше). Если вы видите только «0a» и по-прежнему получаете две строки в терминале, значит что-то еще не так. dirkt 7 лет назад 0
Из Ubuntu я копирую 3 случайные строки терминала, и вижу только «0a»: Stem 7 лет назад 0
00000000 6d 6e 74 79 37 40 41 43 41 36 34 36 2d 6c 69 6e | mnty7 @ ACA646-lin | 00000010 75 78 3a 7e 24 20 0a 6d 6e 74 79 37 40 41 43 41 | ux: ~ $ .mnty7 @ ACA | 00000020 36 34 36 2d 6c 69 6e 75 78 3a 7e 24 20 0a 6d 6e | 646-linux: ~ $ .mn | 00000030 74 79 37 40 41 43 41 36 34 36 2d 6c 69 6e 75 78 | ty7 @ ACA646-linux | 00000040 3a 7e 24 |: ~ $ | 00000043 Stem 7 лет назад 0
На данный момент, я думаю, что-то не так в вставке в сеанс x11-RDP .... Stem 7 лет назад 0

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

0
parkydr

Ваш stty вывод показывает -icrnl (не переводите возврат каретки на новую строку)

Пытаться stty icrnl

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