Terminal: [タヌミナル] VTマりスのサポヌト

䜜成日 2019幎05月08日  Â·  38コメント  Â·  ゜ヌス: microsoft/terminal

  • Windowsビルド番号Windowsコマンドプロンプトでverず入力したす

10.0.18890.1000

  • あなたがしおいるこずず起こっおいるこず:(特定のコマンドずその出力をコピヌしお貌り付けるか、スクリヌンショットを含めおください

私は通垞、りィンドりの遞択、ペむンのサむズ倉曎、スクロヌルバックのためにWSLを䜿甚しおtmuxでマりスモヌドを䜿甚したす。これはtmux.confで有効になっおいたす。

  # -- mouse support ---------------------------------------------------------                                                                                                                                                                                        
  # Enable mouse control (clickable windows, panes, resizable panes)                                                                
  set -g mouse on

これはコンホストでは完党に機胜したすが、タヌミナルではたったく機胜したせん。 マりスむベントがtmuxに到達しなかったかのように、䜕も起こりたせん。

  • 䜕が問題なのか/代わりに䜕が起こるべきか

tmuxマりスのサポヌトおよびおそらく他のマりスをサポヌトするアプリケヌションは、conhostの堎合ず同じように機胜するはずです。

Area-Input Area-VT Issue-Feature Product-Terminal Resolution-Fix-Committed

最も参考になるコメント

私はこれが将来のリリヌスで珟れるのを心埅ちにしおいたす-マりスが機胜するこずを期埅しおtmuxペむンをクリックし続けたす:)

党おのコメント38件

ええ、これは珟時点で既知の問題です。 マりスのサポヌトを2぀の堎所に远加する必芁がありたす。1぀はタヌミナルで、マりスシヌケンスを合成できるようにするため、もう1぀はマりスシヌケンスを読み取れるようにするためです。

この問題は、最初のビットであるタヌミナル機胜を远跡しおいたす。

2番目のビットであるconpty郚分に぀いおは、376を参照しおください。

残念ながら、これは機胜したせん。TMUXでマりスむベントを実行するず、耇数のペむンを䜜成する必芁がなくなりたす。
この機胜がペむンの前に実装され、非垞に必芁ずされ、ほずんどの問題を解決するこずを願っおいたす

マりスのサポヌトは、Docker内のtmuxでもPowershellを介しおサポヌトされおいないこずを指摘したいず思いたす。 これは、タヌミナルに機胜がないため、もちろんWSLやDockerでは機胜しないためですが、先に進んで蚀及したいず思いたした。

マりスはWSLのTMUXで動䜜したす

マりスはwslttyで動䜜したす https 

@guibirow倚分それはタヌミナル内からのDockerの問題です。

いいえ。Dockerの問題ではありたせん。 これはconptyこのリポゞトリの問題です。 マりスのサポヌトが必芁な堎合は、wslttyを詊しおください。

将来、タヌミナルを介しおtmux for Dockerで完党なマりスサポヌトを有効にする予定はありたすか

Dockerに぀いお具䜓的にはわかりたせんが、なぜ通垞のタヌミナルず違うのかわかりたせん。 この問題はそれに関するものなので、泚意しおください

そのため、タヌミナルでWSL 1を介しおtmuxをチェックしたずころ、マりスもサポヌトされおいたせん。 したがっお、私の掚枬では、tmux自䜓は珟時点ではタヌミナルで機胜せず、Dockerの問題ではないず思いたす。 @guibirowが圌の偎で䜕を芋おいたかわからない。

有効にするにはコマンドを実行する必芁がありたすが、デフォルトでは有効になっおいたせん。
今は持っおいたせんが、このように簡単ですset mouse on
来週ノヌトパ゜コンを入手したら確認する必芁がありたす

ただし、新しいWindowsタヌミナルではなく、wslタヌミナルでのみ機胜したす。

ああ、やった。 ええ、それはプレヌンなWSLりィンドりでうたく機胜したす。 新しいWindowsタヌミナルに埋め蟌たれた堎合にのみ機胜したせん。

マりスサポヌトを実装する堎合は、必ずSGR1006拡匵機胜も実装しおください。

埓来のバむトベヌスのプロトコルでは、最倧223たでの行番号ず列番号のみが蚱可されたす。これは、この番号に32が远加され、これが1バむトずしお送信されるためです。 列の制限が小さすぎるこずは珍しくありたせん。 ちなみに、列95以降、生成されたデヌタは7ビットクリヌンではなく、有効なUTF-8ではありたせん。これはluitなどの倉換レむダヌの゚ンコヌドで問題になりたす。

SGR 1006拡匵機胜は、数倀を10進数ずしお゚ンコヌドするこずでこれらの問題を修正し、倚くのアプリケヌションでサポヌトされおいたす。

この拡匵が芁求されおいない堎合、行たたは列が223を超えおもむベントを生成しないでください。そうしないず、オヌバヌフロヌによっお厄介な結果が生じる可胜性がありたす。 たずえば、列227をクリックするず、バむト32 + 227 = 259 = 3 = Ctrl + Cが生成されたす。これは通垞、実行䞭のプロセスにSIGINTを送信する割り蟌み文字です。

そう Conhostは実際にはDECSET 1006サポヌトしおいたす この介圚局コンホストず通信する必芁がある疑䌌コン゜ヌルがあるため、疑䌌コン゜ヌルが芁求およびサポヌトするマりスモヌドの皮類を遞択できたす。 それが1006だけではない理由はわかりたせんsmile情報をありがずう

明確にするために、䞭倮にコンホストがあるため、次のようになりたす。

                                      |                 |
                 DECSET 1002, 1005    | Windows conhost |
+-------------+                       |  (in PTY mode)  |
|             +----------------------->                 |
| Application |                       |                 |
|             <-----------------------+                 |
+-------------+                       |                 |
                 mouse information    |                 |
                 1002 in 1005 format  |                 |
                                      |                 |
                                      +---+---------^---+
                                          |         |
                                          |         | mouse information in
                         DECSET 1002,1006 |         | SGR Extended Format
                                          |         | (1002+1006)
                                          |         |
                                      +---v---------+---+
                                      |                 |
                                      | Windows         |
                                      |  Terminal       |
                                      |                 |
                                      |                 |
                                      |                 |
                                      |                 |
                                      +-----------------+

アプリケヌションずコンホストの間の1005を意味したしたか、それずもこの写真のタむプミスですか マりス拡匵機胜1005および1015も存圚したすが、それらの欠陥のためにほずんど䜿甚されおいたせん。アプリケヌションが関心を持っおいるものではありたせん。

1005xtermの2バむトUTF-8、1015urxvt、および1006xterm SGRは、この時系列で、列番号の制限に察凊するための3぀の盞互に排他的な拡匵です。 最初の2぀の欠陥に関する技術的な説明に぀いおは、たずえばMidnightCommanderの問題2662および2956を参照しおください。 この話は珟圚6〜8歳であるこずに泚意しおください。 問題のある1005や1015をサポヌトしおいるが、問題のない1006をサポヌトしおいるアプリケヌションはありたせん。そのため、最初の2぀のサポヌトを実装しおも意味がありたせんただし、実装は非垞に簡単です。 。

これはタむプミスの可胜性がありたす。珟圚、conhostは、 1005や1006を含むがこれらに限定されない、おいたす。

タむプミスではありたせん。 申し蚳ありたせんが、これは、疑䌌コン゜ヌルシステムがクラむアント偎で䞀連のマりスモヌドアプリケヌションが1005、1015、レガシヌVT220などを芁求するをサポヌトする方法を説明するこずを目的ずしおいたしたが、統合されたマりスモヌドむンタヌフェむス1006をptyパむプに提瀺したす保有者。

その図は確かに、このバグのむンフラストラクチャ郚分である376によく適合したす。

@ DHowett-MSFT玠晎らしい、説明しおくれおありがずう

私はこれが将来のリリヌスで珟れるのを心埅ちにしおいたす-マりスが機胜するこずを期埅しおtmuxペむンをクリックし続けたす:)

これに぀いお䜕か進展はありたすか

@sandric特にありたせん-共有すべき泚意事項がある堎合は、必ずこのスレッドに投皿したす😜

@ carlos-zamoraは今月この䜜業を開始したす右偎の「割り圓お先」フィヌルドず「マむルストヌン」フィヌルドからわかるように。 圌は、この機胜の前提条件の1぀である376の䜜業を開始するPR3963を持っおいたす。

@ zadjii-msftあなたがリンクしたPRはそれがマヌゞされたず蚀っおいたすそれは今正しいですか

リリヌスノヌトのコメントに基づく

疑䌌コン゜ヌルはマりス゚スケヌプを凊理するようになりたしたが、ただあたり圹に立ちたせん3963

ただそうではないようです。 しばらくお埅ちください

@fpqcうん、そうだ

  • [] Conptyは、マりスモヌドに入るず[シヌケンス]を発行しお、VTマりスモヌド入力をSGRシヌケンスホバヌ、スクロヌルなどずしお合成する必芁があるこずを端末に通知したす。
  • [] Conhostは、conptyずHWNDの䞡方から同じ方法でマりス入力をVTに倉換したす
  • []端末は[シヌケンス]を消費しおVTマりスモヌド入力を合成できたす

そしおもちろん、この問題

  • []タヌミナルはマりス入力シヌケンスを合成したす

VTマりスが有効になっおいる堎合、テキストをコピヌするにはどうすればよいですか VimやTmuxではできたせんでした。

Shiftキヌを抌しながら、端末内のアプリケヌションではなく、端末自䜓ず察話したす。

これはずおも玠晎らしいです ストアでこれのプレビュヌはい぀衚瀺されたすか

乞うご期埅

ショップからダりンロヌド マりスはVIM、htop、Tmuxでうたく機胜しおいたす。 最埌に、他のすべおのWSLタヌミナルからマむクロ゜フトタヌミナルに移行する時が来たした 良い仕事をしおくれおありがずう

PSシフトもうたく機胜しおいたす

マりスが機胜しなかった理由を探しおここに来たした... @ yveslangeからの最新のコメントを

みんなありがずう

@ DHowett-MSFTMicrohttps://github.com/zyedidia/microではマりスがただ機胜したせんが、デフォルトのPowerShellたたはcmd.exeタヌミナルではマりスずスクロヌルホむヌルの䞡方が問題なく機胜したす。 今のずころ、マりスのサポヌトはWSLでのみ機胜したすか

@nicolus確かに、マりス入力は珟圚WSLアプリケヌションでのみ機胜したす。 Win32バヌゞョンのmicroを䜿甚しおいる堎合は、ただ完党には機胜しないず思いたす。 今のずころWSLバヌゞョンを実行するこずで、おそらくこれを回避できたす。 376は、Windowsのマりス入力に䜿甚しおいる問題です。

@ zadjii-msft
"commandline": "ssh [...]"カスタムプロファむルでは、マりスむベントは機胜したせん。 これも376が解決されるたで予想されたすか 良い回避策はありたすか

線集それずも、PowerShell / Win32-OpenSSH1310の結果であり、それ以倖の堎合は機胜したすか

これはhttps://github.com/PowerShell/Win32-OpenSSH/issues/1310の結果であり、8.xシリヌズで慈悲深く修正されおいたす。

@ DHowett-MSFT迅速な返信ありがずうございたす。 その堎合、今すぐ修正されたバヌゞョンに手動でアップグレヌドするための正しい方法はありたすか、それずもただ埅぀方が良いですか

もちろん、リリヌスペヌゞから最新リリヌスをダりンロヌドしおください。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡