Windows Terminal強制使用を制御する~ForceV2設定ガイド~

Windows Terminal強制使用を制御する~ForceV2設定ガイド~
Photo by Athul Cyriac Ajay / Unsplash

こんにちは!

最近のWindows 10/11では、従来のコマンドプロンプトの代わりにWindows Terminalが自動的に起動するようになっています。この動作を制御するのが「ForceV2」という設定です。この記事では、ForceV2の詳細と設定方法について解説します。

【ご注意】本稿ではレジストリ操作について扱っています。レジストリの変更は慎重に行う必要があり、誤った操作によってシステムに影響が出る可能性もございます。操作の前にはシステムのバックアップをお取りいただくことをお勧めいたします。 記事の内容は一般的な情報提供を目的としており、お客様の環境によっては動作が異なる場合もございます。操作の実行はご自身の判断と責任のもとでお願いいたします。

ForceV2とは?

ForceV2は、Windowsのレジストリで管理される設定値で、コマンドプロンプトの動作を制御することができます

  • 値が1(デフォルト):新しいWindows Terminalが強制的に使用されます
  • 値が0:従来のコマンドプロンプト(conhost.exe)が使用されます

この設定は以下のレジストリパスに存在します

HKEY_CURRENT_USER\Console

なぜForceV2を変更する必要があるのか?

Windows Terminalは多くの優れた機能を持っていますが、以下のような場合に従来のコマンドプロンプトが必要になることがあります:

  1. 特定のレガシーアプリケーションとの互換性問題
  2. カスタムコンソールアプリケーションのデバッグ
  3. 特定のコンソール機能が新しいターミナルで正しく動作しない場合

⚠️ご注意! WSLを使ってるとこれまでのバッチファイルが動作しなくなる場合があります(解決策あり)

ForceV2を0に設定(従来のコンソールを使用)すると、WSL使用時に問題が発生します:

発生する問題

WSLをバッチファイルから起動しようとすると、以下のエラーが表示されます:

サポートされていないコンソール設定です。この機能を使用するには、従来のコンソールを無効にする必要があります。

エラー コード: Wsl/Service/WSL_E_CONSOLE

なぜ問題が起きるのか

  • WSLは新しいWindows Terminal/ConPTYの機能に依存しています
  • 特に以下の機能が必要です
    • 改善されたUnicode対応
    • 今風の端末エミュレーション
    • WSL用の特別なコンソール機能

解決方法

  1. 推奨方法: ForceV2を1に設定する
reg add "HKEY_CURRENT_USER\Console" /v ForceV2 /t REG_DWORD /d 1 /f
  1. 代替方法: Windows Terminal直接からWSLを起動すれば、問題ありません(が、これだとバッチ化したいWSLユーザー的には意味が無いですね)

WSL利用時の推奨設定

WSLを使用する環境では、基本的にForceV2は1(有効)にしておくことを推奨します。これにより

  • WSLが正常に動作
  • 最新のターミナル機能が利用可能
  • Unicode文字の表示が改善
  • より良い開発体験が得られる

設定方法

方法1:バッチファイル(最も簡単)

以下の内容でバッチファイル(.bat)を作成します。

従来のコマンドプロンプトを使用する場合(ForceV2を無効化)

reg add "HKEY_CURRENT_USER\Console" /v ForceV2 /t REG_DWORD /d 0 /f

Windows Terminalを使用する場合(ForceV2を有効化)

reg add "HKEY_CURRENT_USER\Console" /v ForceV2 /t REG_DWORD /d 1 /f

方法2:C#プログラムで設定

より柔軟な制御が必要な場合は、C#でやってもいよいでしょう

using (RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Console"))
{
    // ForceV2を無効化(0)または有効化(1)
    key.SetValue("ForceV2", 0, RegistryValueKind.DWord);
}

方法3:レジストリエディタで手動設定

  1. Windowsキー + R を押して「regedit」と入力
  2. HKEY_CURRENT_USER\Console に移動
  3. 右クリックで新規 → DWORD (32ビット) 値
  4. 名前を「ForceV2」に設定
  5. 値を0または1に設定

設定の確認方法

設定が正しく適用されているか確認するには

  1. 設定変更後、すべてのコマンドプロンプトを一度閉じる
  2. 新しくコマンドプロンプトを開く
  3. ウィンドウのタイトルバーとデザインで判断可能

注意事項

  • この設定はユーザーごとの設定です(HKEY_CURRENT_USER)
  • 管理者権限は「不要」
  • 設定変更後は新しく開くコマンドプロンプトから適用されます
  • すでに開いているウィンドウには影響しません

まとめ

ForceV2設定は、Windowsのコンソール環境をカスタマイズする重要な機能ですが、WSLユーザーはこの設定を1(有効)にしておくのが無難です。

開発やデバッグの際には、必要に応じて従来のコマンドプロンプトと新しいWindows Terminalを適切に切り替えることで、より効率的な作業が可能になりそうです

Read more

【解説】Tekken トークナイザーとは何か? 〜 Mistral が採用する新世代トークナイザーの特徴

【解説】Tekken トークナイザーとは何か? 〜 Mistral が採用する新世代トークナイザーの特徴

こんにちは! 本日は、Tekkenについて解説いたします! 皆さま Tekken と聞いて何を思い浮かべますか? 格ゲーの鉄拳でしょうか? 私は、昔プレイした Age of Empires に登場する鉄剣戦士を思い浮かべました🤗 ちょっと古いかもしれませんが、名作です! さてつかみはこのくらいにして、、 LLMはご存じのとおり驚異的なスピードで進化しています。そんな中でひそかに注目されているのが、トークナイザーの改善です。 たとえば、Meta の Llama 系モデルのトークナイザーは Sentence Piece から BPE系へ進化するなど、LLM業界では従来よりも高効率なトークナイズ(テキスト分割)の方法を導入し始めています。 そして Mistral AI もまた、新たに「Tekken トークナイザー」という仕組みを採用し、大規模言語モデルの性能を底上げしています。 本記事では、Tekken トークナイザーの登場背景や技術的特徴、他のトークナイザーとの違い、さらには Mistral との関係などをわかりやすく解説していきます。 1. Tekken トーク

By Qualiteg プロダクト開発部
[AI新規事業創出]Qualitegオリジナル、アイディア評価、事業アイディア選定方法

[AI新規事業創出]Qualitegオリジナル、アイディア評価、事業アイディア選定方法

Qualiteg blogを訪問してくださった皆様、こんにちは。Micheleです。AIを活用した新規事業やマーケティングを手がけている私には、クライアントからよく寄せられる質問があります。AIを用いた事業展開を検討されている方々が共通して直面するであろう課題に対して、このブログを通じて私なりの解答をご提供したいと思います。 はじめに AI技術の急速な発展は、スタートアップから大企業まで、あらゆるビジネスに新たな可能性をもたらしています。クライアントとの会話の中でも、AIを活用した革新的な事業アイディアに関する相談が増えています。 しかし、多くの企業が「素晴らしいアイディアを思いついた!」と興奮しながらも、そのアイディアを具体化し、成功に導くための方法論に悩んでいるのも事実です。特にAIを用いた事業展開においては、従来のビジネスモデルとは異なる視点が必要となるため、その難しさはさらに増します。 本記事では、Qualitegオリジナルのアイディア評価、事業アイディア選定方法について解説します。特に、AIを用いた事業展開を検討されている方々が共通して直面するであろう課題に対して、

By Join us, Michele on Qualiteg's adventure to innovation
日本語対応!Mistral Small v3 解説

日本語対応!Mistral Small v3 解説

こんにちは! Mistral AIは2025年1月30日、新しい言語モデル「Mistral Small v3」を発表しました。このモデルは、24Bという比較的小規模なパラメータ数ながら、70B以上の大規模モデルに匹敵する性能を実現しています。また日本語対応も謳われており期待の高い小型モデルです! https://huggingface.co/mistralai/Mistral-Small-24B-Instruct-2501 動画 こちら本ブログの解説動画もご覧いただけます😊 きわだってるのは、レイテンシー最適化 Mistral Small 3のめだった特徴は、その処理性能とレイテンシーの絶妙なバランスではないでしょうか。 公開されている以下の性能評価のグラフによると、トークンあたり約11ミリ秒という業界最速レベルのレイテンシーを達成しています。これは、Qwen-2.5 32Bの約15ミリ秒やGemma-2 27Bの約14ミリ秒と比較して、明確な優位性を示しています。さらに注目すべきは、GPT-4o Miniと比較しても、より低いレイテンシーで同等以上の性能を実現し

By Qualiteg プロダクト開発部
[vLLM] To use CUDA with multiprocessing, you must use the 'spawn' start method の対処法

[vLLM] To use CUDA with multiprocessing, you must use the 'spawn' start method の対処法

WSLで vLLM を使用するとき、 tensor parallel を使って複数枚のGPUで1つのLLMをサーブしようとしたとき以下のようなエラーが発生しがちです RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method 遭遇するシーンとしてはvLLMの起動オプションに以下のようにテンソル並列化オプションを指定したときです。 --tensor-parallel-size 2 つまり、マルチプロセッシングでCUDA使うときは、 "fork"じゃなくて"spawn" 使ってね、というエラーです。 これを vLLM に教えるために、以下の2行目のように環境変数を設定してあげるとvLLMが "spawn" を使ってくれるようになります。 export

By Qualiteg プロダクト開発部