Лучшая терминальная среда для Cygwin / Windows? - PullRequest
52 голосов
/ 31 марта 2009

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

rxvt -bg black -sl 8192 -fg white -sr -g 150x56 -fn "Fixedsys" -e /usr/bin/bash --login -i

Это дает мне изменяемое в размерах собственное окно Windows, которое намного лучше, чем стандартное «окно DOS», которое по умолчанию обеспечивает 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), действительно решило проблему ввода, но визуализация вывода все еще остается проблемой. Вывод в порядке, когда я рендеринга в ISO-8859-1, но при использовании UTF-8 я получаю только? для не-ASCII символов. Это поведение согласуется между rxvt, urxvt (в Cygwin XFree X Server), mintty и PuttyCyg.

Существует ли аналогичный файл конфигурации, в котором можно установить выходную кодировку (т. Е. Эквивалент установки языкового стандарта вывода в системе Linux)?

Ответы [ 21 ]

36 голосов
/ 31 марта 2009

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

12 голосов
/ 31 марта 2009

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

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

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

9 голосов
/ 01 апреля 2009

Добавьте следующие две строки в файл конфигурации 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

8 голосов
/ 01 апреля 2009

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

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

set meta-flag on
set convert-meta off
set output-meta on
set completion-ignore-case on
7 голосов
/ 23 сентября 2013

На момент написания статьи мне исполнилось четыре года, суть вопроса пошла на убыль: терминал 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. Тем не менее, я подключу проект, который я поддерживаю: https://code.google.com/p/jessies/wiki/Terminator,, который был написан для UTF-8, возможно, с первого дня, хотя его основной ценой продажи, imo, является функция поиска.

3 голосов
/ 28 мая 2010

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

Проверьте ваш текущий:

$ 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 своим собственным родительским процессом и к нему не присоединяются сеансы cmd.

Я сделал псевдоним для этого:

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

Для простоты я создал командный файл для запуска 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. Это хорошо сработало для меня.

2 голосов
/ 01 апреля 2009

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

2 голосов
/ 01 апреля 2009

Я использую Консоль , которая прекрасно работает с Cygwin (а ​​также с PowerShell и простым старым cmd.exe).

1 голос
/ 01 апреля 2009

Стандартный 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
1 голос
/ 31 марта 2018

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

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

...