Windows ターミナルでのトラブルシューティング

このガイドでは、Windows ターミナルを使用するときに発生する可能性のある一般的なエラーと障害について説明します。

設定を開いても何も実行されない (または予期しないアプリケーションが開く)

ドロップダウン リストの [設定] ボタンをクリックすると、ターミナルは設定ファイル (settings.json) を開こうとします。 その結果、OS は構成済みの .json ファイル エディターを起動しようとします。 たとえば、Visual Studio やメモ帳などですが、まったく予期しないその他のアプリケーションが起動する可能性もあります。 コンピューターに構成済みの .json エディターがない場合は、最終的に [このファイルを開く方法を選んでください。] というダイアログが表示されます。

ヒント

設定 UI を使用して設定を構成することもできます。 設定 UI を開く方法については、アクションに関するページを参照してください。

以前のバージョンの Windows ターミナルでの起動時にホーム ~ ディレクトリで開始するように WSL ディストリビューションを設定する

既定では、プロファイルの startingDirectory%USERPROFILE% (C:\Users\<YourUsername>) です。 これは Windows パスです。 新しいバージョンの Windows ターミナルを実行する WSL ディストリビューションの場合、ファイル システムが ~ を入力してこのホーム パスを設定できます。 以前のバージョンの Windows ターミナルでは、/home/<Your Ubuntu Username> を使用して、ホーム フォルダーを直接参照できます。 たとえば、次の設定では、"Ubuntu-20.04" のディストリビューションがそのホーム ファイル パスで開始されます。

{
    "name": "Ubuntu-20.04",
    "commandline" : "wsl -d Ubuntu-20.04",
    "startingDirectory" : "/home/<Your Ubuntu Username>"
}

かなり前のバージョンの Windows ターミナルを使用している場合は、startingDirectory 設定用のディストリビューションのホーム パスの参照時に WSL で \\wsl$\ プレフィックスを使用する必要がある場合があります。 たとえば、次の設定では、"Ubuntu-18.04" のディストリビューションがそのホーム ファイル パスで開始されます。

{
    "name": "Ubuntu-18.04",
    "commandline" : "wsl -d Ubuntu-18.04",
    "startingDirectory" : "//wsl$/Ubuntu-18.04/home/<Your Ubuntu Username>"
}

重要

新しいバージョンの Windows では、startingDirectory に Linux スタイルのパスを指定することもできます。

タブ タイトルを設定する

シェルでタブ タイトルを自動的に設定するには、タブ タイトルの設定のチュートリアルを参照してください。 独自のタブ タイトルを設定する場合は、次の手順に従って、settings.json ファイルを開きます。

  1. 任意のコマンド ラインのプロファイルで、"suppressApplicationTitle": true を追加して、シェルから送信されるタイトル変更イベントを抑制します。 この設定 "のみ" をプロファイルに追加すると、タブ タイトルがプロファイルの名前に設定されます。

  2. プロファイルの名前ではないカスタム タブ タイトルが必要な場合は、"tabTitle": "TITLE" を追加します。 "TITLE" を任意のタブ タイトルに置き換えます。

PowerShell のコマンド ライン引数

PowerShell でコマンドライン引数を操作する方法については、コマンド ライン引数に関するページを参照してください。

WSL のコマンド ライン引数

WSL でコマンドライン引数を操作する方法については、コマンド ライン引数に関するページを参照してください。

問題の設定 startingDirectory

プロファイルで startingDirectory が無視されている場合は、まず、settings.json ファイルで構文が正しいことを確認してください。 この構文を確認するために、"$schema": "https://aka.ms/terminal-profiles-schema" が自動的に挿入されます。 Visual Studio Code などの一部のアプリケーションでは、挿入されたスキーマを使用して、編集を行うときに json ファイルを検証できます。

設定が正しい場合は、ターミナルの開始ディレクトリを個別に設定するスタートアップ スクリプトを実行している可能性があります。 たとえば、PowerShell には独自のプロファイルの概念があります。 開始ディレクトリを変更すると、Windows ターミナルで定義されている設定よりも優先されます。

または、commandline プロファイル設定を使用してスクリプトを実行している場合は、そこに場所を設定している可能性があります。 PowerShell プロファイルと同様に、そこのコマンドが startingDirectory プロファイル設定よりも優先されます。

startingDirectory の目的は、指定されたディレクトリで新しい Windows ターミナル インスタンスを起動することです。 ターミナルで、そのディレクトリを変更するコードが実行されている場合は、調べてみることをお勧めします。

Ctrl+= でフォント サイズが大きくならない

ドイツ語のキーボード レイアウトを使用している場合は、この問題が発生する可能性があります。 メインのキーボード レイアウトがドイツ語に設定されている場合、Ctrl+=Ctrl+Shift+0 に逆シリアル化されます。 これは、ドイツ語のキーボードの正しいマッピングです。

さらに重要なことに、アプリは Ctrl+Shift+0 というキーストロークを受け取りません。 これは、複数のキーボード レイアウトをアクティブにしている場合、Ctrl+Shift+0 は Windows によって予約されるためです。

Ctrl+= を正常に機能させるためにこの機能を無効にする場合は、このブログ記事の「Change Hotkeys to Switch Keyboard Layout in Windows 10」 (Windows 10 でホットキーを変更してキーボード レイアウトを切り替える) の手順に従ってください。

'キーボード レイアウトの切り替え' オプションを '未割り当て' (または Ctrl+Shift をオフ) に変更した後、[OK][適用] の順に選択します。 Ctrl+Shift+0 はキー バインドとして機能せず、ターミナルに渡されるようになったはずです。

一方、複数の入力言語に対してこのホットキー機能を使用する場合は、settings.json ファイル独自のカスタム キー バインドを構成できます。

テキストがぼやけている

一部のディスプレイ ドライバーとハードウェアの組み合わせでは、スクロールやダーティ領域の処理で、前のフレームのデータがぼやけてしまいます。 この問題を軽減するには、これらのグローバル レンダリングの設定の組み合わせを追加して、ターミナル テキスト レンダラーによるハードウェアの負荷を軽減します。

色の表示がおかしく、 画面に黒いバーが表示される

重要

これは、バージョン 1.2 以降の Windows ターミナルにのみ当てはまります。 Windows ターミナル 1.0 または 1.1 で色の問題が発生している場合や、ここでは取り上げられていない問題が発生している場合は、バグを報告してください。

Windows ターミナル 1.2 以降では、特定のアプリケーション カラー設定に対する解釈性能が向上しています。 この改善によって、ユーザー エクスペリエンスを低下させる多くの互換性障壁を解消できるようになりました。 ただし残念ながら、ごく一部のアプリケーションでは問題が発生する可能性があります。

このトラブルシューティング項目については、既知の問題とその回避策の一覧を通じて、情報を随時更新していく予定です。

PowerShell で の黒い線 (5.1、6.x、7.0)

ターミナルでは、PowerShell の行編集ライブラリ PSReadline と組み合わせて使用した場合、画面上に黒い線が描画される場合があります。 これらの誤った色の領域は、コマンド パラメーター、文字列、または演算子がある場所で、プロンプトを超えて画面全体に広がります。

この問題に対する修正を含んだ、PSReadline バージョン 2.0.3 がリリースされています。 PSReadline のプレリリース版を使用している場合は、修正プログラムがまだ提供されていないことに注意してください。

PSReadline の最新バージョンに更新するには、次のコマンドを実行します。

Update-Module PSReadline

ジャンプリストで、絵文字がアイコンとして表示されない

ジャンプリストでは、ファイルの場所からリンクされた画像のみをプロファイル アイコンとして表示できます。 絵文字は、ジャンプリストのアイコンとしてはサポートされていません。

テクニカル ノート

API の GetConsoleScreenBufferInfo ファミリを使用してアクティブなコンソールの色を Win32 形式で取得し、それをクロスプラットフォームの VT シーケンスに変換しようとする (たとえば、BACKGROUND_RED\x1b[41m に変換する) アプリケーションがある場合は、ターミナルで、そのアプリケーションがどの背景色を使おうとしているかを検出する機能に障害が発生する可能性があります。

アプリケーション開発者は、色を調整する手段として、Windows API 関数 または VT シーケンスのいずれかを選択することをお勧めします。これらを組み合わせて使用することは避けてください。

キーボード サービスの警告

Windows ターミナル 1.5 以降では、"Touch Keyboard and Handwriting Panel Service" が無効になっている場合、ターミナルで警告が表示されます。 このサービスは、オペレーティング システムが入力イベントをターミナル アプリケーション (および Windows の他の多くのアプリケーション) に適切にルーティングするために必要です。 この警告が表示された場合は、次の手順に従ってサービスを再度有効にすることができます。

  1. [ファイル名を指定して実行] ダイアログ ボックスで、services.msc を実行します

    services.msc in the run dialog

  2. "Touch Keyboard and Handwriting Panel Service" を探します

    Touch Keyboard and Handwriting Panel Service in Services.msc

  3. このサービスの "プロパティ" を開きます

    service properties

  4. [スタートアップの種類] を [自動] に変更します

    service startup type

  5. [OK] をクリックし、PC を再起動します。

コンピューターを再起動すると、サービスが自動的に起動し、ダイアログが表示されなくなります。

git bash コマンド ラインを使用しているときに点滅やフラッシュが起こる

Windows ターミナル内で git bash コマンド ラインを使用すると、点滅やフラッシュが発生することがあります。 この動作は仕様によるものです。 ターミナルは git bash からの指示に従おうとします (bell-style が visible に設定されるため、ベルの応答に関連するフラッシュが発生します) が、これは確かに作業の邪魔になることもあります。 この問題を解決するには、Git bash の .inputrc ファイルをテキスト エディターで開きます。 このファイルは多くの場合、パス C:\Program Files\Git\etc に置かれています。 Nano テキスト エディターを使用して開くには、次のように指定します: nano ~/.inputrc

既定の設定を次のように変更します。

# none, visible or audible
set bell-style visible

bell-style を none または audible に設定して、フラッシュが表示されないようにします。

set bell-style none

Ctrl + O キーと Ctrl + X キーを押して保存し、終了します。

Windows ターミナルの設定を既定の設定にリセットする方法がわからない

設定を既定の設定にリセットするには、settings.json ファイルを削除します。 そうすると、Windows ターミナルによって、settings.json ファイルが既定の設定で再生成されます。

重要

Windows ターミナル バージョン 1.10 以降では、設定を既定値に完全にリセットするために、settings.json ファイルと同じディレクトリにある state.json ファイルも削除する必要があります。

アクリルの不透明度で Windows ターミナルの背景が透明にならないのはなぜですか。

ターミナル ウィンドウの透明度を設定するには、useAcrylic プロパティを使用できます。 不透明度の設定がアクリルに機能しない理由は、次のようにいくつか考えられます。

  • システム全体のポリシーとして、アクリルは前景ウィンドウでのみ有効になります。 そのため、ターミナル以外の他のウィンドウをアクティブにすると、ターミナルのアクリルがオフになります。
  • お使いの GPU ハードウェアでサポートされていない場合、アクリルは機能しません。 仮想マシン (VM) で、またはリモート デスクトップ経由でアプリを実行している場合、アクリルは機能しない可能性があります。
  • アクリルは、省電力 (低バッテリ) モードであったり、リモート デスクトップを使用してマシンにアクセスしたりするときなど、さまざまな理由でオペレーティング システムによって無効にされる場合があります。

ウィンドウの上にマウス ポインターを置いて入力すると、マウス ポインターが消えるのはなぜですか。

このカーソルの自動非表示動作は設計によるものですが、Windows 設定で "マウス設定" > "追加のマウス設定" > "マウスのプロパティ" > "ポインター オプション" を見つけて、"文字の入力中にポインターを非表示にする" をオフにして無効にすることができます。 この変更を有効にするには、Windows ターミナルの再起動が必要になる場合があります。