Windows Tips

WSL のターミナルから Windows側のGUIアプリを実行する

投稿日:2019年1月17日 更新日:

WSL のターミナルエミュレータ(以下「ターミナル」と記述します)上から、Windows側のGUIアプリを起動する場合は、以下のようなコマンドで実行することをお勧めします。

$ {Windows側の実行ファイル} [引数] 1>/dev/null 2>&1 &

私は、このやり方で Windows側のエディタを起動しています。

説明

単に {Windows側の実行ファイル} のみ指定して実行するのでは、以下の点で面倒なことになります。

  • 現在の開いているターミナルとWindowsアプリケーションが接続されたままになり、Windowsアプリケーションを終了させないとターミナルが再開できない(次のコマンドが実行できない状態になる)。
  • 標準出力と標準エラー出力がターミナル上に出力されてしまう。

これを防ぐため、「1>/dev/null 2>&1 &」を指定しています。この部分の意味は以下です。

 
コマンド内の部分 意味
1>/dev/null 2>&1 標準出力と標準エラー出力を /dev/null にリダイレクトして捨てる。
& バックグラウンドで起動する(ターミナルのプロセスから切り離す)。

この指定により、元のターミナルとは無関係に Windows側のプログラムを起動することができます。

また、[引数] の部分が指定できませんが、~/.bashrc ファイルに、alias 登録しておくのも便利です。

alias mycmd='{Windows側の実行ファイル} 1>/dev/null 2>&1 &'
  • {Windows側の実行ファイル} の部分は、Windows 側の実行ファイルに置き換えて下さい。

📂-Windows Tips

執筆者:labo


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Git

Git for Windows のインストール手順

Git for Windows のインストール手順について説明します。

Windows

Windows で音声ファイルを扱う

Windows で音声ファイルを扱う基本事項について説明します。

Windows

Cmder のバージョンを上げる方法

目次1. Cmder とは?2. Cmder のバージョンを上げる必要性3. Cmder の更新手順4. おわりに関連 1. Cmder とは? Cmder は、Windows用のコンソールエミュレー …

Windows

テキストファイルの文字エンコーディングを変更する

テキストファイルの文字エンコーディングを変更する方法について説明しています。

Windows

【Windows 10】スタートメニューからアプリの一覧を消して、アプリを素早く起動する

目次1. はじめにスタートメニューのデフォルトの状態2. アプリの一覧を消す3. タイルをカスタマイズする4. ショートカットキーでアプリを起動する5. まとめ 1. はじめに スタートメニューのデフ …