Опять про эмулятор терминала

Модератор: /dev/random

Ответить
NikitaZaitsev
Сообщения: 18

Опять про эмулятор терминала

Сообщение NikitaZaitsev »

Приветствую. Тема довольно избитая, но, всё же, рискну :crazy: Хочется использовать эмулятор терминала с vte и чтобы табы были. И чтобы ещё были... ну, всякие эти там :crazy: ... И чтобы всё было, и было хорошо :laugh: Понятно, что много их, просто на вскидку - evilvte, termite, termit, gnome-terminal (вроде бы), lilyterm, sakura, ну, подумав, ещё штук пять-десять назову. В общем. Долгое время использовал urxvt (с жёсткой матерной бранью, конечно, но определённые достоинства он имел). Недостатков оказалось больше - например, если подключаешься по ssh на какой-нибудь AIX, то vi при попытке редактирования файла отказывается работать. И в целом множество неприятных глюков с отображением всего и вся. Ибо vte нет. Последнее время пытаюсь найти эмулятор терминала, который при той же функциональности вёл бы себя адекватно (vte base, естественно). Более всего порадовал lilyterm, но он, если я правильно понимаю, уже фсё - последняя версия где-то трёхлетней давности. Termit тоже очень даже, но смущает перспектива перманентного ковыряния в lua (да и вкладки там оставляют желать много лучшего). И непонятно, поддерживается ли проект. Roxterm тоже вполне юзабелен, но недавно где-то читал, будто его разработка прекращается (вроде бы из-за возможного перехода на gtk-4, типа, с обратной совместимостью проблемы будут). Собственно, сейчас юзаю lilyterm (доволен им просто аж до безобразия!) под debian jessie, на всякий случай скачал исходники с github (проверил - всё компилится, работает) - а то мало ли, обновлюсь на sid, а там уже опаньки - не будет в репозитории никакого lilyterm'a. Собственно, интересуюсь о том, какой эмулятор терминала сейчас более-менее актуален (в смысле, чтобы не получилось так, что начал его юзать, а через пару месяцев выясняется, что проект закрыт, в репозиториях нет, из исходников не собрать по причине отсутствия в системе каких-нибудь библиотек десятилетней давности). Да, и хочется независимости от DE/WM, в качестве WM юзаю awesome, прикручивать в него всякие там mate-terminal/terminator/konsole и иже с ними, ИМХО, не вполне правильно по религиозным соображениям :crazy:
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Опять про эмулятор терминала

Сообщение Bizdelnick »

NikitaZaitsev писал(а):
11.03.2016 18:56
Хочется использовать эмулятор терминала с vte

Долго гуглил. VTE — это GTKшный виджет? Почему именно его так хочется?

NikitaZaitsev писал(а):
11.03.2016 18:56
множество неприятных глюков с отображением всего и вся. Ибо vte нет.

Причём тут VTE? Или это всё-таки что-то другое?

NikitaZaitsev писал(а):
11.03.2016 18:56
чтобы табы были
NikitaZaitsev писал(а):
11.03.2016 18:56
в качестве VM юзаю awesome

Странное пожелание IMHO. Человек, незнакомый с тайлингом, может, конечно, считать, что табы — это удобно, но пользователь awesome...
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
NikitaZaitsev
Сообщения: 18

Re: Опять про эмулятор терминала

Сообщение NikitaZaitsev »

Долго гуглил. VTE — это GTKшный виджет? Почему именно его так хочется?

Причём тут VTE? Или это всё-таки что-то другое?

Это библиотека такая. Да, GTK-шная. А хочется её потому, что эмуляторы терминалов на базе vte нормально отображают вывод символов. В частности, о чём ниже писал:
если подключаешься по ssh на какой-нибудь AIX, то vi при попытке редактирования файла отказывается работать.

Вот это просто люто выбешивало в том же urxvt

Странное пожелание IMHO. Человек, незнакомый с тайлингом, может, конечно, считать, что табы — это удобно, но пользователь awesome...

А что тут, собственно, странного? Тайлинг, конечно, хорошо, но вот привычка такая - несколько вкладок в терминале, чтобы перед глазами всё было (много в терминале работаю). Что до тайлинга - awesome использую в основном из-за того, что удобно, если мониторов больше одного. Да и управление окнами всяко удобнее.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Опять про эмулятор терминала

Сообщение Bizdelnick »

NikitaZaitsev писал(а):
11.03.2016 20:27
хочется её потому, что эмуляторы терминалов на базе vte нормально отображают вывод символов. В частности, о чём ниже писал:
если подключаешься по ssh на какой-нибудь AIX, то vi при попытке редактирования файла отказывается работать.

Вот это просто люто выбешивало в том же urxvt

Ну так тут дело не конкретно в VTE, а в том, какой терминал она эмулирует, и насколько хорошо он поддерживается системой на том конце. И с urxvt vi неплохо работает (на системах, с которыми мне доводилось иметь дело, по крайней мере), если обмануть его, сделав export TERM=xterm.

NikitaZaitsev писал(а):
11.03.2016 20:27
Странное пожелание IMHO. Человек, незнакомый с тайлингом, может, конечно, считать, что табы — это удобно, но пользователь awesome...

А что тут, собственно, странного? Тайлинг, конечно, хорошо, но вот привычка такая - несколько вкладок в терминале, чтобы перед глазами всё было (много в терминале работаю). Что до тайлинга - awesome использую в основном из-за того, что удобно, если мониторов больше одного. Да и управление окнами с всяко удобнее.

В awesome же есть стекинг, разве нет? Во вкладки мышью надо тыкать, а между окнами в нормальных WM с клавиатуры переключаться намного удобнее. У меня на работе urxvt + wmii, про вкладочные эмуляторы вспоминаю как про страшный сон.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
broom
Бывший модератор
Сообщения: 1629
Статус: мизантроп.ка
ОС: Gentoo

Re: Опять про эмулятор терминала

Сообщение broom »

Bizdelnick писал(а):
11.03.2016 22:06
Во вкладки мышью надо тыкать, а между окнами в нормальных WM с клавиатуры переключаться намного удобнее.

Справедливости ради, по-моему во всех графических терминалах (типа gnome-terminal, konsole и прочих) есть хоткеи для переключения между вкладками. :)
Для urxvt я использую расширение tabbed.
but in the darkness, behind your smile, you scream... © Dio
Спасибо сказали:
NikitaZaitsev
Сообщения: 18

Re: Опять про эмулятор терминала

Сообщение NikitaZaitsev »

broom писал(а):
11.03.2016 22:35
Bizdelnick писал(а):
11.03.2016 22:06
Во вкладки мышью надо тыкать, а между окнами в нормальных WM с клавиатуры переключаться намного удобнее.

Справедливости ради, по-моему во всех графических терминалах (типа gnome-terminal, konsole и прочих) есть хоткеи для переключения между вкладками. :)
Для urxvt я использую расширение tabbed.


Вот, кстати, да. Управление вкладками с клавиатуры. Вообще, потому и юзаю awesom (либо DWM), что за мышью тянуться лениво бывает.
Спасибо сказали:
NikitaZaitsev
Сообщения: 18

Re: Опять про эмулятор терминала

Сообщение NikitaZaitsev »

По поводу export TERM=xterm.
http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
Если пройти по этой ссылке, скачать текстовый файл и открыть его, например, в xterm/rxvt/urxvt и т. п., а потом открыть в termit/lilyterm и любом другом vte base, то разница будет очевидной. Открывать с помощью того же less. Станет понятно, что я имел в виду, говоря, что в urxvt всё наперекосяк отображается. В xterm, кстати, тоже. И именно поэтому хочется vte base terminal emulator.
Что касается urxvt, то при подключении по ssh к серверам под AIX оно вообще странные вещи делает. А если urxvt&screen - что-то с чем-то получается, жесть, короче. С AIX работать приходится много (работа у меня такая), putty под линухом для этого использовать как-то не очень удобно (да и странно при наличии эмуляторов терминала).
Спасибо сказали:
NikitaZaitsev
Сообщения: 18

Re: Опять про эмулятор терминала

Сообщение NikitaZaitsev »

Должен признать, что по поводу терминала в AIX был неправ - export TERM=xterm помогло, спасибо, не подумал об этом :stupid: Но тест на юникод он всё-равно не проходит. Хотя, с другой стороны, а нафига мне эфиопские шрифты в юникоде? :unsure: Но, кроме того, прокрутка по Ctrl+PgUp/PgDown криво работает. Вроде не критично, но все вот эти мелочи в итоге достают и хочется с urxvt уйти. Хотя... надо снова мануалы перечитать, может быть в руках всё дело.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Опять про эмулятор терминала

Сообщение Bizdelnick »

NikitaZaitsev писал(а):
12.03.2016 08:37
тест на юникод он всё-равно не проходит

Что ещё за тест на юникод? Да ещё такой, что urxvt его не проходит? Если шрифт хочется другой, так его поменять никто не запрещает.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
NikitaZaitsev
Сообщения: 18

Re: Опять про эмулятор терминала

Сообщение NikitaZaitsev »

Bizdelnick писал(а):
12.03.2016 11:46
NikitaZaitsev писал(а):
12.03.2016 08:37
тест на юникод он всё-равно не проходит

Что ещё за тест на юникод? Да ещё такой, что urxvt его не проходит? Если шрифт хочется другой, так его поменять никто не запрещает.

В одном из моих постов выше была ссылка на текстовый файл. Точнее, на текст, где используется юникод во всех своих проявлениях. Вот ссылка ещё раз:
http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
Если этот текст сохранить в файл, а потом less'ом попытаться его просмотреть, то в urxvt и прочем эфиопские кракозябры будут отображаться как кракозябры (точнее, как прямоугольники). Вне зависимости от установленных шрифтов. А в каком-нибудь termit'e будет текст (правда, по-эфиопски). Вот в этом и смысл теста. Мне, конечно, эфиопский в юникоде, ну, понимаете, как сильно нужен, просто жизненно необходим, можно сказать, но факт остаётся фактом. И факт этот не в пользу urxvt.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Опять про эмулятор терминала

Сообщение Bizdelnick »

NikitaZaitsev писал(а):
12.03.2016 23:32
Вне зависимости от установленных шрифтов.

urxvt пофиг, какие шрифты установлены. Он использует тот шрифт, который указан в настройках.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
NikitaZaitsev
Сообщения: 18

Re: Опять про эмулятор терминала

Сообщение NikitaZaitsev »

Спасибо за ответы. В итоге сделал такое:

[user@debian] $ TERM=rxvt-unicode-256color command man -Pcat urxvt | sed -n '/depth: b/,/^BA/p'|sed '$d'|sed '/^ [a-z]/s/^ */^/g'|sed -e :a -e 'N;s/\n/@@/g;ta;P;D'|sed 's,\^\([^@]\+\)@*[\t ]*\([^\^]\+\),! \2\n! URxvt*\1\n\n,g'|sed 's,@@\( \+\),\n\1,g'|sed 's,@*$,,g'|sed '/^[^!]/d'|tr -d "'\`" > ~/.Xdefaults

Допилил напильником, вроде всё нормально. Проблема была как обычно в прокладке между креслом и монитором. Дело в том, что несколько лет назад настроил urxvt и с тех пор конфиг не трогал. Со временем задачи и потребности изменились, а .Xdefaults не изменился ;) В общем, нормально всё ;)

P. S. 2 Bizdelnick.
urxvt пофиг, какие шрифты установлены. Он использует тот шрифт, который указан в настройках.

Просто ради любопытства попробуй сделать так:
wget http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
less UTF-8-demo.txt

Что будет отображаться в urxvt? У меня, например, Ethiopian отображается прямоугольниками (а в xterm весь файл в нечитабельном виде). В .Xdefaults прописано:
URxvt.font: xft: Terminus-14
или, как вариант:
URxvt*font: Terminus-18

Это, кагбэ, не троллинг, если что, просто любопытно. Дело в том, что termit, lilyterm, roxterm и прочие vte base эмуляторы терминалов отображают всё нормально без каких-то дополнительных телодвижений. Это касается, кстати, и сессий ssh (ну, когда тот же vi под AIX'ом не работал), из-за чего как раз хотел с urxvt уходить. Честно говоря, в тонкости настроек не вникал, т. к. надо работать, а не конфиги пилить, о том, что для urxvt надо делать export TERM=xterm (или соответствующую опцию в .Xdefaults прописывать) узнал только вчера (или позавчера?) от тебя, а тот же termit искаропки работает.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Опять про эмулятор терминала

Сообщение Bizdelnick »

NikitaZaitsev писал(а):
13.03.2016 13:39
Просто ради любопытства попробуй сделать так:

Завтра попробую. Скорее всего будет то же самое, потому что тоже пользую terminus.

NikitaZaitsev писал(а):
13.03.2016 13:39
Дело в том, что termit, lilyterm, roxterm и прочие vte base эмуляторы терминалов отображают всё нормально без каких-то дополнительных телодвижений.

Это не VTE, и вроде бы даже не GTK, а на ещё более низком уровне кто-то (freetype?) берёт глифы из другого шрифта, если их нет.

NikitaZaitsev писал(а):
13.03.2016 13:39
о том, что для urxvt надо делать export TERM=xterm (или соответствующую опцию в .Xdefaults прописывать) узнал только вчера

Так делать не надо, это просто костыль для систем, которые ничего не знают про rxvt.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
NikitaZaitsev
Сообщения: 18

Re: Опять про эмулятор терминала

Сообщение NikitaZaitsev »

Так делать не надо, это просто костыль для систем, которые ничего не знают про rxvt.


Фсьо! С этого момента я выхватил неиллюзорный когнитивный диссонанс :crazy: А как же тогда надо? Чтобы работало?!
Это не VTE, и вроде бы даже не GTK, а на ещё более низком уровне кто-то (freetype?) берёт глифы из другого шрифта, если их нет.

Вот, опять задумался о том, что lilyterm etc никаких дополнительных движух не требует, а просто работает. И это, всё-таки, vte. Я почему про vte запарился - пока искал адекватный эмулятор терминала, прочитал где-то (по-моему даже на LOR'е) о том, что vte base терминалы таких проблем не имеют. Так же читал, что у людей похожие проблему с urxvt были. И, кстати, на сайте urxvt (то ли официальном, то ли в arch wiki - не помню), было по поводу unknown terminal type (дословно не помню, но это то, о чём я писал) и, как вариант решения - TERM=xterm.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Опять про эмулятор терминала

Сообщение Bizdelnick »

NikitaZaitsev писал(а):
13.03.2016 17:37
А как же тогда надо? Чтобы работало?!

Если программа нормально себя ведёт с тем значением TERM, которое устанавливает эмулятор терминала, то ничего делать не надо. Если на какой-то системе начинаются проблемы, то там можно подменить значение TERM на то, которое ей знакомо. Большинству знаком xterm, и от rxvt он не сильно отличается в плане управления им.

NikitaZaitsev писал(а):
13.03.2016 17:37
И это, всё-таки, vte.

Ещё раз: VTE тут ни при чём. Возьмите для сравнения какой-нибудь эмулятор терминала на Qt, скажем, и проверьте, как будет там. Я это не к тому, что urxvt такой прекрасный, а к тому, что не стоит зацикливаться именно на VTE: может Вам и что-то другое подойдёт.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
NikitaZaitsev
Сообщения: 18

Re: Опять про эмулятор терминала

Сообщение NikitaZaitsev »

Поэкспериментировал. Пришёл к выводу, что мне подойдёт любой терминал, хоть тот же xterm & tmux. Ну, хоть что-то новое узнал ;)

Хотя изначально вопрос был не совсем об этом. Типа, эмулятор терминала на Qt, как ниже было предложено, уже предполагает привязку к qt-шным всяким вещам. То есть, теоретически, оно потянет за собой половину KDE, грубо говоря. С эмуляторами терминала на базе vte в этом отношении попроще. Например, для lilyterm:
Depends: libc6 (>= 2.2.5), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.14.0), libgtk2.0-0 (>= 2.20.0), libpango-1.0-0
(>= 1.14.0), libvte9 (>= 1:0.28.0), libx11-6
То есть, интересовало именно отсутствие зависимости от конкретной среды DE/WM. Нет, у меня, конечно, под awesome (dwm, а также fluxbox, windowmaker, openbox и всем остальным, что когда-то использовал) много софта и qt-шного, и gtk-шного, но всё же...
Спасибо сказали:
Ответить