Лучшая терминальная среда для Cygwin / Windows?



сегодня я запускаю Cygwin с rxvt используя следующую строку запуска:





это дает мне изменяемый размер собственного окна Windows, который намного лучше, чем стандартный "DOS box" по умолчанию cygwin.bat обеспечивает.



однако, текущая конфигурация имеет несколько проблем:




  1. я не могу вводить символы, отличные от ASCII, в окно терминала (т. е. æ, ø, å и Æ, Ø, Å, которые я использую полу-часто. Фактически, терминал даже не будет принимать их, когда я вставляю их в окно. Если я вставляю строку типа " bølle "(норвежский для" bulley"), все, что я получаю, это"blle".

  2. я не могу сделать символ UTF-8, они только показывают, как ?, даже если они поддерживаются шрифтом (т. е. при рендеринге одних и тех же символов в ISO-8859-1 они показывают просто отлично.).


я запускаю английскую Windows Vista с языковым стандартом и раскладкой клавиатуры, установленной на норвежский (набор символов ISO-8859-1?), но У меня была точно такая же проблема на Windows 2000 и XP.



кто-нибудь знает как это исправить (т. е. лучший способ, чтобы настроить rxvt)?



помимо проблем, упомянутых выше, я очень доволен rxvt, поэтому, если я найду способ решить их, я хотел бы продолжить его использовать. Однако, если проблемы не (легко) разрешимы, есть ли другие хорошие Терминальные решения для Cygwin?



обновление



решение, предоставленное Энди и Маттиас (редактирование .inputrc file) решил проблему ввода, но вывод рендеринга по-прежнему является проблемой. Выход в порядке, когда я рендеринг в ISO-8859-1, но при использовании UTF-8 я только получаю ? для символов, отличных от ASCII. Это поведение согласуется между rxvt,urxvt (под Cygwin XFree X Server),mintty и PuttyCyg.



есть ли подобный конфигурационный файл, в котором можно установить кодировку вывода (т. е. эквивалент настройки локали вывода в системе Linux)?

696   21  

21 ответов:

добавьте следующие две строки в файл конфигурации readline~/.inputrc

set convert-meta off
set output-meta on

должен работать как в rxvt, так и в mintty. Подробнее здесь:

http://www.gnu.org/software/bash/manual/bashref.html#Readline-Init-File-Syntax

Минти тоже довольно хорошо. Вы можете найти его в настройках cygwin. Поддерживает повторную калибровку, вставку и прозрачность.

в настоящее время я использую PuttyCyg (http://code.google.com/p/puttycyg/). Я не уверен, если он будет содержать исправления нужен, Но он имеет и ряд других интересных функций, например конфигурациях, хранящихся в типичных профилей шпатлевка, которая может применяться как: шпатлевка нагрузки mycygwin1. Такой профиль может настроить такие вещи, как:

  • запись сеансов в файл,
  • последовательности символов для удаления, дома и других ключей,
  • цвета окон и шрифты.

Edit: можно ввести символы, которые вы упомянули. Также предусмотрена поддержка UTF-8 (она должна быть включена в конфигурации).

Я использую консоль как хорошо. Консоль позволяет настраивать шрифт, фон и т. д., а также имеет интерфейс с вкладками (отлично, если вы используете более одного окна терминала одновременно).

чтобы иметь возможность использовать символы, отличные от ASCII, я поместил следующее в свой .inputrc файл в моем домашнем каталоге:

set meta-flag on
set convert-meta off
set output-meta on
set completion-ignore-case on

будучи четырехлетним, на момент написания, мясо вопроса ушло: терминал Cygwin по умолчанию теперь принимает вставку и отображает символы, отличные от Ascii, без формальности, по крайней мере для меня. Терминал Cygwin по умолчанию теперь mintty и Cygwin теперь работает с UTF-8 по умолчанию. (Например, /etc/profile.d/lang.sh теперь устанавливает кодировку набора символов UTF-8 по умолчанию.) Теперь есть 64-битная версия Cygwin, но за http://www.cygwin.com/ml/cygwin/2013-09/msg00029.html, нет 64-битного порта rxvt.

даже вопрос в названии менее важен, чем когда-то, так как mintty не натирает, как старая подсистема командной консоли Windows windows. Тем не менее, я подключу проект, который я поддерживаю:https://code.google.com/p/jessies/wiki/Terminator, который был написан для UTF-8, возможно, с первого дня, хотя его основной точкой продажи, imo, является функция Find.

возможно, Вам потребуется установить кодовую страницу.

Проверьте ток :

$ set | grep CYGWIN
CYGWIN='codepage:oem nodosfilewarning'

если у вас нет кодовой страницы, то добавьте в свой ~/.файл bashrc:

CYGWIN='codepage:oem nodosfilewarning'

содержимое моей партии Cygwin (Cygwin.bat) файл, запущенный ярлыком, являются:

start C:\cygwin\bin\rxvt.exe -sb -sl 3000 -fg gray -bg black -fn "Lucida Console-14" -e /bin/bash --login -i

обратите внимание, что для переменной среды CYGWIN вы можете иметь несколько элементов, каждый из которых разделен пробелом. Другие элементы, которые можно использовать: {tty binmode title }.

больше информации можно прочитать здесь: http://www.cygwin.com/cygwin-ug-net/setup-env.html

соответствующее примечание: вы также можете использовать mrxvt для Cygwin. Для этого требуется X-сервер, и хорошее твердое/легкое решение-использовать Xming. Я скомпилировал mrxvt и установил его - не очень сложно сделать, и он отлично работает.

я использую rxvt в качестве начального окна, затем запускаю mrxvt как отдельный процесс из rxvt с помощью команды alias, а затем закрываю rxvt. Это делает mrxvt своим собственным родительским процессом и не имеет УМК сеансов прилагается.

Я сделал псевдоним, чтобы сделать это:

alias mrx='export DISPLAY="127.0.0.1:0.0"; $(/usr/local/bin/mrxvt &); echo -e "3c"'

для удобства я создал пакетный файл для запуска Xming и rxvt:

@echo off
start C:\cygwin\bin\rxvt.exe -sb -sl 3000 -fg gray -bg black -fn "Lucida Console-14" -e /bin/bash --login -i
start C:\Xming\Xming.exe :0 -clipboard -multiwindow -trayicon
exit

этот пакетный файл запускается с помощью ярлыка windows. Это хорошо сработало для меня.

Я использую консоль который довольно хорошо работает с Cygwin (а также PowerShell и простой старый cmd.исполняемый.)

когда я разрабатывал на Windows, я нашел Poderosa быть хорошим выбором для Cygwin.

стандартный Cygwin / X с xterm достаточно хорош для меня. Установите Cygwin X.org пакет, затем запустите скрипт C:\cygwin\bin\startxwin.bat (предполагая путь установки по умолчанию). Он начнет X, а затем xterm.

Я .Xdefaults С этими вариантами для лучшего удобства использования:

*VT100*scrollbar.width:         14
*VT100*scrollbar.background:    gray60
*VT100*scrollbar.foreground:    rgb:a/5/5
*VT100*scrollbar.borderWidth:   0
*VT100*scrollbar.displayList:\
foreground      gray90;\
lines           1,-1,-1,-1,-1,1;\
foreground      gray60;\
lines           -1,1,1,1,1,-1
*VT100*rightScrollBar: true
*VT100*scrollBar: true
*VT100*scrollLines: 1000
xterm*toolBar: false

Я бы настроил вашу страну в windows (Панель управления -> региональные настройки -> последняя вкладка (управление) -> язык для unicode-несовместимые языки -> ваш выбор (норвежский)). После перезагрузки запустите Start - >Cyqwin->rxvt-native. Для русского языка это работает (без редактирования .bashrc или что-то еще).

Он даже (как я предполагаю) преобразует вывод soft в utf-8, потому что кодировка по умолчанию-C. UTF-8. Чтобы проверить это, введите "echo $LANG".

на тему альтернативных терминальных эмуляторов для cygwin-проверьте Console2; Он имеет все функции, вам необходимо.

Если вы используете ls с определенным arg, он показывает имена файлов OK Я предлагаю вам поместить псевдоним ls в/etc / profile:

alias ls='ls -F --color=auto --show-control-chars'

работает для меня в msys на WinXP.

rxvt не способен к unicode, поэтому вы не можете заставить его работать правильно, если вы входите в машины, которые используют UTF-8 для кодирования. Вы можете использовать rxvt Для iso-8859-1/15, но большинство машин теперь UTF-8.

замена unicode для rxvt в Cygwin-urxvt, имя пакета под Cygwin-rxvt-unicode-X. urxvt также имеет другие приятные функции, такие как множество загружаемых плагинов, включая тот, который дает вам несколько вкладок в окне, и архитектуру клиент / сервер, которая делает его использовать намного меньше ресурсов, если у вас много окон (urxvtc/urxvtd).

вам также может потребоваться убедиться, что ваши переменные readline указывают, что ваша оболочка должна проходить через 8-битные символы, т. е. добавить это к вашему $HOME/.bashrc или $HOME/.profile:

set convert-meta off
set output-meta on
set input-meta on

вы должны будете установить правильные ресурсы в $HOME/.Xdefaults: в частности, вам понадобится шрифт, который имеет символы, которые вы хотите. Имя группы ресурсов для urxvt -URxvt. обратите внимание на капитализацию, имеет значение!

URxvt.font: xft:Lucida Console:size=8:style=normal:weight=50:antialias=true:hinting=true:minspace=true
URxvt.boldFont: xft:Lucida Console:size=8:style=bold:weight=100:antialias=true:hinting=true:minspace=true

я также рекомендую установить:

URxvt*termName: xterm

этот ресурс определяет значение $TERM переменные среды. Если он не установлен правильно, то правильный файл termcap не может быть найден, в результате чего программы, такие как less выдавать предупреждения в стиле:WARNING: terminal is not fully functional. К сожалению, по умолчанию термин rxvt-unicode не известно во многих дистрибутивах Linux, поэтому, если вы часто используете ssh для удаленных машин, вы столкнетесь с проблемой. Решение либо установить termName к чему-то более распространенному (например xterm), или загрузите файл termcap для rxvt-unicode на все серверы, на которые вы входите.

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

Мне нравится использовать Babun на Windows, Как Cygwin окружающей среды, это почти идеально подходит для меня.

пожалуйста, попробуйте ConEmu, который является эмулятором консоли с открытым исходным кодом с вкладками, который представляет собой несколько консолей и простых приложений GUI в качестве одного настраиваемого окна GUI.

https://conemu.github.io/

xfce4-терминал (доступно в Cygwin setup.exe) является лучшим для меня, потому что он отлично выглядит (легко читается), и если он запущен с XLaunch (также доступен из setup.exe), Я могу запустить другие приложения Cygwin GUI из него. По какой-то причине я не могу запускать приложения GUI из mintty. Я нашел этот поток, ищущий менее уродливый терминал, чем xterm (который отлично работает для запуска GUI приложений). В конце концов, я нашел лучший (xfce4-terminal) просто путем поиска на терминале в программе установки.исполняемый. xfce4-терминал - один из моих фаворитов на Linux уже более 7 лет.

Guake также в setup.exe, но я должен запустить его с другого терминала и нажать на этот другой терминал, прежде чем использовать нажатия клавиш, чтобы сбить Guake. Итак, это не так практично, как в Linux.

на аналогичной ноте к emg-2, Lifehacker недавно была статья о MinTTY, не уверен, что он содержит исправления, необходимые вам.

Если вы довольствуетесь только запуском Cygwin-приложений, то rxvt должен работать нормально. Rxvt должен иметь поддержку UTF-8. Вы пробовали гуглить для решения?

Если Вам также нужно запускать собственные приложения Windows, вам не повезло, если вы не запустите bash внутри консоли Windows. Есть два вопроса, которые я не верю, что они (или даже могут быть) решены:

  • Ctrl-C не работает должным образом. Если вы запускаете собственное приложение windows изнутри rxvt (или xterm), нажатие Ctrl-C вернет вам приглашение, но оно не прерывает программу, часто оставляя ее работать в фоновом режиме.
  • буферизация вывода терминала не работает. Выходные данные из собственных приложений windows отображаются не так, как они печатаются, а скорее, когда какой-то внутренний буфер заполнен.

эти две проблемы одинаковы со всеми эмуляторами терминалов, которые я пробовал (rxvt, xterm, Emacs и некоторые другие).

помимо полной изменяемости размера, какие функции rxvt gice вы, что окно консоли Windows не делает? И вы посмотрели на разницу в использовании памяти-rxvt-это свинья. Я использую rxvt в течение нескольких недель и переключился обратно в окно консоли windows, без сожалений.

да, mintty кажется более удобным, легким и быстрым, но есть одна функция, которой у него нет, и консоль по умолчанию (windows), то есть функция поиска: из консоли по умолчанию вы можете искать строку, отображаемую на консоли, весело ?

до сих пор я не нашел ни одной другой консоли с этой функцией... я вы знаете, скажите мне, мне действительно не нравится консоль по умолчанию.

Я использовал несколько терминалов, таких как putty, console, rxvt, mintty, teraterm. лучший-это тератерм. он бесплатный, полностью совместим с lang и tty, полностью настраивается с помощью макроса, ярлыка и дает cygterm для Cygwin.

однако, если вы освещаете пользователя, просто используйте mintty, который является термином по умолчанию в эти дни или rxvt.

Comments

    Ничего не найдено.