web-dev-qa-db-ja.com

Cygwin / Windowsに最適な端末環境ですか?

今日、次の起動行を使用してrxvtでCygwinを実行します。


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

これにより、標準の「DOSボックス」よりもはるかに優れたサイズ変更可能なネイティブWindowsウィンドウがデフォルトのcygwin.batは提供します。

ただし、現在の構成にはいくつかの問題があります。

  1. ターミナルウィンドウにASCII以外の文字を入力することはできません(つまり、æ、ø、åおよびÆ、Ø、Å、これらは半頻度で使用します。実際、ターミナルはそれらを貼り付けるときにも受け入れません。 「bølle」(ノルウェー語で「bulley」)のような文字列を貼り付けると、「blle」しか得られません。
  2. UTF-8文字をレンダリングできません。フォントでサポートされていても、それらは?としてのみ表示されます(つまり、ISO-8859-1で同じ文字をレンダリングする場合、うまく表示されます)。

ロケールとキーボードレイアウトをノルウェー語(ISO-8859-1文字セット?)に設定して英語版Windows Vistaを実行していますが、Windows 2000とXPでもまったく同じ問題があります。

誰もこれを修正する方法を知っています(つまり、rxvtを設定するより良い方法)?

上記の問題は別として、私はrxvtに非常に満足しているので、それらを解決する方法を見つけたら、それを使い続けたいと思います。ただし、問題が(簡単に)解決できない場合、Cygwinの他の適切な端末ソリューションはありますか?

更新

アンディとマティアスが提供するソリューション(.inputrc file)は入力の問題を解決しましたが、出力のレンダリングは依然として問題です。 ISO-8859-1でレンダリングすると出力は問題ありませんが、UTF-8を使用すると、?非ASCII文字の場合。この動作は、rxvturxvt(Cygwin XFree X Serverの下)、minttyおよびPuttyCygの間で一貫しています。

出力エンコードを設定できる同様の構成ファイルがありますか(つまり、Linuxシステムで出力ロケールを設定するのと同等)?

52
Anders Sandvig

Readline構成ファイル〜/ .inputrcに次の2行を追加します

set convert-meta off
set output-meta on

Rxvtとminttyの両方で動作するはずです。詳細はこちら:

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

9
Andy

minTTYもかなり良いです。 cygwinのセットアップで見つけることができます。サイズ変更、貼り付け、および透明性をサポートします。

36
debugme

現在、PuttyCygを使用しています( http://code.google.com/p/puttycyg/ )。必要な修正が含まれるかどうかはわかりませんが、他のクールな機能がいくつかあります。たとえば、典型的なPuTTYプロファイルに保存された構成は、PuTTY -load mycygwin1のように呼び出すことができます。そのようなプロファイルは、次のようなものを構成できます。

  • セッションをファイルに記録する、
  • 削除、ホーム、およびその他のキーの文字シーケンス、
  • ウィンドウの色とフォント。

編集:言及した文字を入力できます。 UTF-8サポートも提供されます(構成で有効にする必要があります)。

12
anon

Console も使用しています。コンソールでは、フォント、背景などをカスタマイズできます。また、タブ付きのインターフェイスもあります(一度に複数のターミナルウィンドウを使用する場合に最適です)。

非ASCII文字を使用できるようにするために、ホームディレクトリの.inputrcファイルに以下を追加しました。

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

執筆時点で4歳であるため、質問の要点はなくなりました。デフォルトのCygwinターミナルは、少なくとも私にとっては、非形式的な非ASCII文字の貼り付けを受け入れ、レンダリングします。 Cygwinのデフォルトのターミナルはminttyになり、CygwinはデフォルトでUTF-8で動作するようになりました。 (たとえば、/ etc/profile.d/lang.shは現在、デフォルトでUTF-8文字セットエンコーディングを設定します。)Cygwinの64ビットバージョンがありますが、 http://www.cygwin。 com/ml/cygwin/2013-09/msg00029.html 、rxvtの64ビットポートなし。

タイトルの質問でさえ、minttyは古いWindowsコマンドコンソールサブシステムウィンドウのようにすりおろされないため、以前ほど重要ではありません。それでも、私が共同管理しているプロジェクトをプラグインします。 https://code.google.com/p/jessies/wiki/Terminator 。UTF-8用に作成されたもので、おそらく初日から、主なセールスポイントであるimoは検索機能です。

7
Martin Dorey

コードページを設定する必要がある場合があります。

あなたの現在を確認してください:

$ 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

関連するメモ:Cygwinにはmrxvtも使用できます。 Xサーバーが必要であり、ニースの堅牢/軽量ソリューションはXmingを使用することです。私はmrxvtをコンパイルしてインストールしました-本当に難しいことではありません。

Rxvtを初期ウィンドウとして使用し、mrxvtをエイリアスコマンドを使用してrxvtとは別のプロセスとして起動し、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ショートカットによって起動されます。これは私にとってはうまくいきました。

3
Matt

私は Console を使用していますが、これはCygwin(およびPowerShellおよびプレーンな古いcmd.exeと同様)で非常にうまく機能します。

2
Dan Vinton

Windowsで開発していたとき、Cygwinには Poderosa が適していることがわかりました。

2
Dan Dyer

rxvtはUnicodeに対応していないため、エンコードにUTF-8を使用するマシンにログインした場合、正しく動作させることはできません。 iso-8859-1/15にはrxvtを使用できますが、ほとんどのマシンは現在UTF-8です。

Cygwinのrxvtのユニコード置換はurxvtで、Cygwinの下のパッケージ名はrxvt-unicode-Xです。 urxvtには、ダウンロード可能なプラグインなど、ウィンドウごとに複数のタブを提供するプラグインや、ウィンドウが多い場合に使用するリソースを大幅に削減するクライアント/サーバーアーキテクチャなど、その他のNice機能もあります(urxvtc/urxvtd)。

また、シェルが8ビット文字を通過するようにreadline変数を指定する必要があります。つまり、これを$HOME/.bashrcまたは$HOME/.profileに追加します。

 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のデフォルトのtermNameは、多くのLinuxディストリビューションでは知られていないため、リモートマシンに頻繁にsshを実行すると、問題が発生します。解決策は、termNameをより一般的なもの(xtermなど)に設定するか、rxvt-unicodeのtermcap-fileをログインするすべてのサーバーにアップロードすることです。

1
00prometheus

タイトルは何らかの形で誤解を招くものであり、検索結果が何度もここに来たので、タイトルを読んで答えるだけです。

Cygwin EnvironmentとしてWindowsで Babun を使用するのが好きで、私にはほぼ完璧です。

1
Arda

特定の引数でlsを使用する場合、ファイル名は表示されますがOK/etc/profileにlsエイリアスを配置することをお勧めします。

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

WinXP上のmsysで動作します。

1
AFIRAN

Cygwinの代替端末エミュレーターのトピックについては、 Console2 ;をご覧ください。必要なすべての機能を備えています。

1
wulfgarpro

タブ付きのオープンソースコンソールエミュレーターであるConEmuを試してください。ConEmuは、複数のコンソールとシンプルなGUIアプリケーションを1つのカスタマイズ可能なGUIウィンドウとして表します。

https://conemu.github.io/

1
false9striker

Xtermを備えた標準のCygwin/Xで十分です。 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
spoulson

xfce4-terminal(Cygwin setup.exeから入手可能)は見栄えがよく(読みやすい)、XLaunchで開始した場合(setup.exeから入手可能)、他のcygwin GUIアプリケーションをそこから起動できます。何らかの理由で、minttyからGUIアプリケーションを起動できません。このスレッドは、xterm(GUIアプリケーションの起動に適しています)よりも見苦しい端末を探していることがわかりました。最終的に、setup.exeで端末を検索するだけで、最適なもの(xfce4-terminal)を見つけました。 xfce4-terminalは、Linuxで私のお気に入りの1つになり、7年以上になります。

Guakesetup.exeでも使用できますが、キーストロークを使用してGuakeを停止する前に、別の端末から起動し、他の端末をクリックする必要があります。そのため、Linuxほど実用的ではありません。

1
Colin Keenan

Windowsで国を設定します(コントロールパネル->地域の設定->最後のタブ(コントロール)-> Unicode非対応言語の言語->選択(ノルウェー語))。再起動後、Start-> Cyqwin-> rxvt-nativeを起動します。ロシア語の場合は機能します(.bashrcなどを編集せずに)。

デフォルトのエンコーディングはC.UTF-8であるため、ソフトの出力も(推測どおり)utf-8に変換します。確認するには、「echo $ LANG」と入力します。

1
Sergey

Cygwin-applicationsのみを実行することに満足している場合、rxvtは正常に動作するはずです。 RxvtはUTF-8をサポートする必要があります。解決策のためにグーグルで試しましたか?

ネイティブのWindowsアプリケーションも実行する必要がある場合は、Windowsコンソール内でbashを実行しない限り、うまくいきません。解決できないと思われる(または解決できる)2つの問題があります。

  • Ctrl-Cは正しく機能しません。 rxvt(またはxterm)内からネイティブWindowsアプリケーションを実行する場合、Ctrl-Cを押すとプロンプトが返されますが、プログラムを中断せず、バックグラウンドで実行することがよくあります。
  • 端末出力のバッファリングは機能しません。ネイティブWindowsアプリケーションからの出力は、印刷時に表示されるのではなく、内部バッファーがいっぱいになったときに表示されます。

これらの2つの問題は、私が試したすべてのターミナルエミュレーター(rxvt、xterm、Emacs、および他のいくつか)で同じです。

0
JesperE

完全なサイズ変更可能性とは別に、rxvtはWindowsコンソールウィンドウにはない機能をどのように認識しますか?また、メモリ使用量の違いを見ましたか?rxvtは独り占めです。数週間rxvtを使用し、後悔することなくWindowsコンソールウィンドウに切り替えました。

0
anon

PuTTY、コンソール、rxvt、mintty、teratermなどのいくつかの端末を使用しました。最高はテラタームです。これは無料で、langとttyに完全に互換性があり、マクロ、ショートカットで完全に構成可能で、Cygwinにcygtermを提供します。

ただし、ユーザーを軽くする場合は、最近のデフォルト用語であるminttyまたはrxvtを使用してください。

0
OfusJK

はい、minttyはより快適で、軽くて速いように見えますが、持っていない機能が1つあり、デフォルト(Windows)コンソールには検索機能があります。デフォルトのコンソールから、コンソールに表示される文字列を検索できます楽しい?

今まで、この機能を備えた他のコンソールは見つかりませんでした。

0
jerry.lee

Emg-2と同様のメモで、Lifehackerは最近 MinTTY に関する記事を掲載しましたが、必要な修正が含まれているかどうかはわかりません。

0
rlb.usa