###前提・実現したいこと
cmderでBash on Ubuntu on Windowsを動かしたいです。Windows 10 Creators Update で正常に(平仮名や漢字がおかしな動きがせずに)動かす方法が見つかりません。
###発生している問題・エラーメッセージ
Windows 10 Creators Update (バージョン 1703)からコマンドプロントのコンソール機能が拡張されました。ただし、互換性のために「従来のコンソール」の設定があり、有効・無効を選択できます。この設定はユーザー毎に設定(レジストリ"HKCU\Console"のForceV2の値)され、アプリケーション毎に設定することはできません。また、コマンドプロンプトだけではなく、PowerShellやBash on Ubuntu on Windows、ConEmuおよびConEmuを内部で使用するcmderにも影響を与えます。そして、次のような問題があります。
- Bash on Ubuntu on Windowsは「従来のコンソール」には対応せず、起動すらしません。「従来のコンソール」のままでは、下記メッセージが表示されるだけです(キーを押したらそのまま終了しまう)。
サポートされていないコンソール設定です。この機能を使用するには、従来のコンソールを無効にする必要があります。 続行するには何かキーを押してください...
- ConEmu(およびそれを使用するcmder)は「従来のコンソール」を有効にしないと全角文字を入力したときにカーソル位置がずれます。等幅フォントを使っていても、フォント幅がおかしくなったり、正常な表示になりません。
つまり、cmder上でBash on Ubuntu on Windowsを使いたい場合は、「従来のコンソール」を無効に設定するしかありませんが、その場合はcmderでの全角文字がおかしな動きをしてしまい、正常な表示がされなくなってしまいます。
###該当の問題の情報やIssueなど
- Windows Creaters Update(バージョン1703)でconemuの全角文字のカーソル位置がずれる - Qiita
- WriteConsoleW used with ConEmu duplicates Chinese characters output · Issue #945 · Maximus5/ConEmu · GitHub
- display error with non-ASCII characters on windows 1703 · Issue #1339 · cmderdev/cmder · GitHub
###試したこと
Windows 10 Anniversary Update (バージョン 1607)までは問題ありませんでした。
ConEmu設定のTasksでは下記のように設定しています。
%SystemRoot%\System32\bash.exe ~ --login -new_console:d:%USERPROFILE%
妥協案として、Bash on Ubuntu on Windowsでの日本語使用をあきらめて、そこでだけ「従来のコンソール」を無効にしたいと考えました。cmedrでPowerShell等を使うときは「従来のコンソール」が有効、Bash on Ubuntu on Windowsを使うときは「従来のコンソール」が無効になればいいと言うことです。しかし、切り替えがユーザーのレジストリで行っており、どのようにすれば実現できるのかがわかりませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
Windows 10 バージョン 1703 (Creators Update) ※ 1607までは発生せず、HomeでもProでも発生。
ConEmu version 161206
cmdermini 1.3.2 (Chocolateyでインストール)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。