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ã®å Žåãšåãããã«æ©èœããã¯ãã§ãã
ãããããã¯çŸæç¹ã§æ¢ç¥ã®åé¡ã§ãã ããŠã¹ã®ãµããŒãã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è¿ éãªè¿ä¿¡ããããšãããããŸãã ãã®å Žåãä»ããä¿®æ£ãããããŒãžã§ã³ã«æåã§ã¢ããã°ã¬ãŒãããããã®æ£ããæ¹æ³ã¯ãããŸããããããšããã åŸ ã€æ¹ãè¯ãã§ããïŒ
ãã¡ããããªãªãŒã¹ããŒãžããææ°ãªãªãŒã¹ãããŠã³ããŒãããŠãã ããã
æãåèã«ãªãã³ã¡ã³ã
ç§ã¯ãããå°æ¥ã®ãªãªãŒã¹ã§çŸããã®ãå¿åŸ ã¡ã«ããŠããŸã-ããŠã¹ãæ©èœããããšãæåŸ ããŠtmuxãã€ã³ãã¯ãªãã¯ãç¶ããŸã:)