Подтвердить что ты не робот

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

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


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

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

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

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

4b9b3361

Ответ 2

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

Ответ 3

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

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

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

Ответ 4

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

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

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

Ответ 5

Будучи четырьмя годами, на момент написания, мясо вопроса ушло: по умолчанию терминал Cygwin теперь принимает вставку и отображает не-Ascii персонажи без формальности, по крайней мере для меня. Терминал Cygwin по умолчанию теперь монетный, и 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, является функцией поиска.

Ответ 6

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

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

$ 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. Это хорошо сработало для меня.

Ответ 7

Я использовал Console, который очень хорошо работает с Cygwin (а ​​также с PowerShell и простым старым cmd.exe).

Ответ 8

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

Ответ 9

Стандартный Cygwin/X с xterm для меня достаточно хорош. Установите пакет Cygwin X.org, затем запустите script 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

Ответ 10

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

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

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

Ответ 11

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

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

Ответ 12

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

Ответ 13

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

Ответ 14

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

Мне нравится использовать Babun в Windows в качестве среды Cygwin, это почти идеально для меня.

Ответ 15

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

Ответ 16

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

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

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

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

Ответ 17

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

Ответ 18

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

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

Ответ 19

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

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

Ответ 20

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

https://conemu.github.io/