LINUX.ORG.RU

Clipboard vs Кириллица


0

1

Привет!

Проблема такая: есть Debian 6, локаль в системе ru_RU.UTF-8, не удается вытащить русский текст из терминала (urxvt) в любое графическое приложение, например, браузер. Вместо текста вставляются либо вопросики, либо квадраты с числами внутри. Пробовал менять локаль, пользоваться autocutsel для синхронизации буферов и xclipo'м, результатов не добился. В частности, копирование кириллицы в консоли тоже не всегда гладко происходит, если передать кириллицу какой-нибудь программе (как пример - checkout svn-репозитория, в названии которого присутствуют русские буквы), чаще всего символы вставляются в виде юникод-кодов.

★★★★★
Ответ на: комментарий от drBatty

Это было первое, что я попробовал.

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

Насколько мне известно, из линасковых эмуляторов терминала только urxvt умеет в ansi-код для курсива. Единственный его понт.

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

Не знаю, что такое «ansi-код для курсива», у меня он по двум причинам: можно каждому терминалу давать WM_NAME, что чрезвычайно полезно в тайлинговых WM, и второе - наличие вкладок, добавленное расширением tabbed.

alozovskoy ★★★★★
() автор топика

Как показали эксперименты, в Gnome такой проблемы нет (тестил на гномовском терминале). Поскольку в сабже копирование происходит средствами синхронизации буферов путем использования autocutsel, буду копать в направлении изменения кодировок в момент синхронизации буферов.

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

anonymous

умеет в ansi-код для курсива.

курсив в терминале? мусье знает толк в извращениях...

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

geekless

А еще это самая скоростная реализация эмулятора терминала для линукс.

konsole в KDE3 нормально работает на первом пне, из KDE4 нормально на третьем. Зачем нужна скорость терминала в 21ом веке?

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

Зачем нужна скорость терминала в 21ом веке?

...подумали разработчики vte и сделали терминал, в котором выхлоп от компиляции тормозит сильнее, чем сама компиляция.

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

geekless

...подумали разработчики vte и сделали терминал, в котором выхлоп от компиляции тормозит сильнее, чем сама компиляция.

это как я понял виджет для других программ? Ну компилируйте в gnome-terminal или даже вообще в CTRL+ALT+F1. А если этот виджет встроен в вашу любимую IDE, то претензия к разработчикам этой IDE.

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

это как я понял виджет для других программ? Ну компилируйте в gnome-terminal

Ну прочитай же матчасть — это виджет, который пилится вместе с gnome, gtk и прочими страшными словами на букву g. Все эти gnome-terminal, terminator, lxterminal, xfce-terminal, и бог-знает-еще-какой-терминал используют именно его.

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

geekless

Ну прочитай же матчасть — это виджет, который пилится вместе с gnome, gtk и прочими страшными словами на букву g. Все эти gnome-terminal, terminator, lxterminal, xfce-terminal, и бог-знает-еще-какой-терминал используют именно его.

я юзаю XFCE-терминал, который назывался Terminal (с большой буквы). Могу сказать, что это очень удобная и очень шустрая вещь, которая отлично работает даже на очень слабых системах типа Cel2000. А вывод на консоль всю жизнь(лет 20 точно) был не очень торопливый, и перенаправление его в файл почти всегда ускоряло работу почти любой программы. Этот файл вы ведь можете в любой момент почитать, и это куда как удобнее, чем бегущие строчки на экране (вы что, действительно их читаете???). Если вам надо только последние строчки - tail к вашим услугам - тоже не тормозит совсем, да вы и первых строчек при компиляции всё равно не увидите.

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

XFCE-терминал, который назывался Terminal

Same shit.

Могу сказать, что это очень удобная и очень шустрая вещь, которая отлично работает даже на очень слабых системах типа Cel2000.

Я тебе точно так же могу сказать, что очень не шустрая, и на Cel2000 он только впустую жрать процессор и не давать его под что-то более полезное.

А вывод на консоль всю жизнь(лет 20 точно) был не очень торопливый

Ну у кого как. Если пользоваться такими эмуляторами терминала, то да.

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

geekless

Именно поэтому я использую konsole

konsole на многих машинах ощутимо тормозит. Сейчас у меня таких машин почти не осталось.

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

geekless

Я тебе точно так же могу сказать, что очень не шустрая, и на Cel2000 он только впустую жрать процессор и не давать его под что-то более полезное.

на компиляции 99% отдано самой компиляции.

geekless

А вывод на консоль всю жизнь(лет 20 точно) был не очень торопливый

Ну у кого как. Если пользоваться такими эмуляторами терминала, то да.

ну у кого как - у меня 20 лет назад вообще никакого эмулятора не было :-)

потому к этому очень спокойно отношусь. Наверное сейчас следует отправлять в /dev/null команду, потому-что кодеры делают всё такие-же маленькие единицы компиляции, а программы стали большие. От этого и проблемы того-же ФФ, который требует кучу памяти на линковке, ибо собирается из Over9000 модулей. Ну или как-то думать о двухступенчатой компиляции, когда линковка происходит не один раз, а несколько. Но всё равно, это никак не проблема эмулятора терминала: когда программа выдаёт выхлоп _на экран_ в 100500 (и больше) строк, то их всё равно никто не читает, и всё только жутко тормозит.

Корень твоей проблемы в том, что раньше собрать модуль в 30К было дооолгооо, и можно было и вывести сообщение, что модуль собран. А сейчас это намного быстрее.

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

Я не знаю, что тут еще сказать. Можно конечно самоотверженно решать проблемы, а каждую компиляцию запуская с &>ololo.log. А можно взять софт, где проблем изначально нет. 10 там строчек при компиляции на консоль выплюнется или 10 тысяч, для urxvt абсолютно без разницы. А двухкратное замедление процесса сборки при запуске на vte — суровый факт.

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

Кстати, при выводе wget'ом ЛОРа в stdout кириллица отображается нормально, а вот при выводе, например, контакта или Google - крякозяблами.

alozovskoy ★★★★★
() автор топика

Подготовка к замене пакета libncurses5:i386 5.9-4 (используется файл .../libncurses5_5.9-5_i386.deb) ...
Распаковывается замена для пакета libncurses5:i386 ...
Настраивается пакет libncurses5:i386 (5.9-5) ...
Настраивается пакет libncursesw5:i386 (5.9-5) ...


urxvt, ru_RU.UTF-8, debian sid.. Вставлял средней кнопкой мыши. LXDE.

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

Эти пакеты есть в моей системе. Если вставлять в терминал, то все ОК. Проблема с обратным действием.

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

В смысле - с обратным действием? Из браузера в терминал?

Я не пакеты показывал. Я скопировал первый подвернувшийся выхлоп из терминала в браузер.

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

Если вставляешь текст в терминал, не важно откуда, проблем с русским текстом нет. Ну и вывод команд в терминале тоже без проблем. Но если я хочу текст с кириллицей из терминала вытащить в, например, браузер (да даже если просто в leafpad), русские символы заменяются вопросами или какой-нибудь ерундой. Аналогичный эффект имеет вывод кода страницы Google или VK при помощи wget.

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

Из браузера в терминал - тоже кирллица вставляется без крякозябров. Шрифт в urxvt - dejavu sans mono. Из дополнительных пакетов, имеющих отношение к кириллице в системе установлены librcc0 и librcd0. Даже не знаю, что может ещё повлиять.. dpkg-reconfigure locales может сделать и убрать всё лишнее?

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

Но если я хочу текст с кириллицей из терминала вытащить в, например, браузер (да даже если просто в leafpad), русские символы заменяются вопросами или какой-нибудь ерундой. Аналогичный эффект имеет вывод кода страницы Google или VK при помощи wget.

У меня если текст в терминале читается - то он читается и в браузере. Скажем, вывожу через cat любой юникодный текстовый кириллический документ, в терминале читается нормально. Вставляю в браузер - нормально.

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

librc.0

librcc0? Попробуй еще librcd0 установить. Но не думаю, что это оно. Попробуй dpkg-reconfigure locales и убрать всё лишнее? Просто не знаю, что ещё думать.

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

Может там какой-то urxvt поломанный?

На всякий случай, мой выхлоп

cat .Xdefaults

URxvt*font: xft:DejaVu Sans Mono:pixelsize=24:antialias=true:hinting=true
URxvt*boldFont: xft:DejaVu Sans Mono:bold:pixelsize=24:antialias=true:hinting=true
URxvt*background: black
URxvt*foreground: grey
URxvt*cursorColor: grey
URxvt*transparent: false
URxvt*tintColor: black
URxvt*shading: 70
URxvt*scrollBar: false
URxvt*cursorBlink: true
URxvt*pointerBlank: true
URxvt*pointerBlankDelay: 13
URxvt.perl-ext-common: default,tabbed
URxvt.tabbed.tabbar-fg: 6
URxvt.tabbed.tabbar-bg: 0
URxvt.tabbed.tab-fg: 0
URxvt.tabbed.tab-bg: 7

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

Конечно менялся =)

LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

Сравнивал с машиной под Gnome , все точно так.

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

При использовании wget можно делать так:

wget -O - google.ru | iconv -f cp1251
Тогда кириллический шрифт виден.

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

Сравнивал с машиной под Gnome , все точно так.

У меня стоит gdm в качестве dm. Может в этом дело? Мне он на ноутбуке нафиг ненужен, но без него всплывают весёлые глюки, вроде отказа монтировать внешни диски и т.пр. Может и на это влияет?

Или сам пакет сконфигурировали как то криво? Ивини, я спать иду. Завтра хрен всану. Да и в голову уже ничего не лезет..

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

Я в аналогичном состоянии.

Спасибо за помощь, хорошего отдыха!

P.S. Да, скорее всего дело в каких-то зависимостях WM/DE.

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

Что-то мне удобнее вкладками, чем screen. Просто периодически нужно несколько файлов сравнить, или быстро между несколькими выполняемыми командами переключаться, или «в этом терминале у меня 10 ssh - сессий, а в этом у меня мониторинг сети, а тут я в finch треплюсь и видео смотрю...»

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

screen ни в чем не проигрывает вкладкам по возможностям, а выигрывает универсальностью, возможностью без проблем менять кодировки на лету, а также отсоединяться от терминала

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

да, а tmux ещё и умеет перекидывать окна между сессиями

lazyklimm ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.