質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.61%

  • Linux

    3632questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • Windows

    1399questions

    Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

  • Ubuntu

    1315questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

  • bash

    621questions

    bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Windows subsystem for linux で windowsのプログラムを動かす

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 241

Yhaya

score 66

 やりたいこと

最近、Windows機に"Windows subsystem for linux"を入れました。linuxですとさまざまなアプリ(Google ChromeやThunderbird)をbashの画面からコマンドを打つだけで実行できたと思うのですが、WSLでも同様なことができるのでしょうか?

つまり、WSLのbashから$ thunderbirdなどと打ってwindwows内に存在するthunderbirdを起動することなどはできますでしょうか?

よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+3

デフォルトでは、Windows環境でPATHが通っていればできます。なお、PATHが通っているとは、環境変数PATHにそのアプリまでのフォルダーのパスが記載されていると言うこととです。

コマンドプロンプトではnotepad.exeと打つとメモ帳が起動します。それと同じく、WSLのbashでもnotepad.exeと打つとメモ帳が起動します。ただ、逆に言うと、PATHが取っていなければ動きません。つまり、コマンドプロンプトでthunderbird.exeと打ってThunderbirdが起動できるような状態でなければ、bashでも起動しません。

なお、コマンドプロンプトではnotepadと拡張子".exe"を省略することができますが、bashでは省略せずに、".exe"を含めて書かなくてはいけません。コマンドプロンプトには実行ファイルの拡張子を補完する機能(拡張子PATHEXTで設定されている)がありますが、bashにはないからです。

通常、ThunderbirdなどのアプリはインストールしてもPATHを通しません。スタートメニューやデスクトップにあるショートカットを使うというのがWindowsの文化であり、コマンドプロンプト等から起動するという習慣がないからです。PATHがなければ、Windowsは実行すべきexeファイルがどこにあるのかというのを知ることができません。ですので、thunderbird.exeと打っても実行すべきexeファイルがどこにあるのかわからないのです。もし、そのようなアプリをコマンドで起動したい場合は、環境変数PATHを手動で追加する必要があります。

まとめますと

  • コマンドプロンプトから起動できるなら、bashでも起動できる。
  • コマンドプロンプトから起動できないなら、bashでも起動できない。
  • コマンドプロンプトで起動できるかどうかは、PATHが通っているか、つまり、環境変数PATHにパスが存在するかどうかによって決まる。
  • bashでは拡張子を省略せずに".exe"(バッチなどであれば".bat"等)を含めたファイル名を書く必要がある。(コマンドプロンプトでは省略可能)

なお、bash上で独自にthunderbirdへPATHを通すようにすればbashだけ起動することができます。また、特定のレジストリ値を設定することで、コマンドプロンプトで設定されるWindowsの環境PATHをbashで引き継がないようにすることもでき、その場合は、bash上でPATHを設定しないと、Windows関係のコマンドは一切使えません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/04/14 23:36

    コマンドプロンプトでnotepadは通りますがbashでは通りません。何か問題があるのでしょうか?

    キャンセル

  • 2018/04/14 23:41

    また、コマンドプロンプトでpythonと打つとpython3.6.4が起動しますがbashで同じことをしますと2系が起動します。使っているpathが違う気がしているのですがどうなのでしょうか?

    キャンセル

  • 2018/04/14 23:50

    すいません。`nodepad`ではなく`notepad.exe`と拡張子を省略せずに入力する必要がありました。回答を書き換えてきます。

    pythonについては、WSLにあるpythonが使われていると思われます。両方が存在する場合、`echo $PATH`で表示された順番にファイルを探していき、最初に見つかったものを実行します。WSL上(/binや/usr/bin)の方がWindows上(/mnt/c/...)よりも優先されるため、WSLにコマンドがあれば、WSLのコマンドが実行されます。

    キャンセル

  • 2018/04/15 08:38

    なるほど、わかりやすい説明ありがとうございました

    キャンセル

0

/mnt/c


がWindowsのCドライブを指すパスになっているので
この先の絶対パスを指定してやれば、
全てアプリケーションを実行できるはずです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    linuxスクリプトについて

    今、ubuntu12.04にてスクリプトを作っているのですが、 文字を入力して、入力した文字の拡張子を判別して実行する スクリプトを考えているんですが詰まってしまいました。 何かい

  • 受付中

    cronの設定についてどなたか教えていただけませんか

    何卒よろしくお願いいたします。 前提・実現したいこと Linuxのパソコンを使っています。 自作したshell scriptを毎回決まった時間に自動で動作させたいと思って

  • 解決済

    特定の文字を含むファイルを抽出する

    現在、特定のファイル配下にあるファイルの中でredirect::responseという記載があるファイルを抽出したいと考えております。 その際に 色々調べた結果、下記を試し

  • 解決済

    for文で使われる#の意味について

    前提・実現したいこと 特に問題でもエラーでもなく急いでもいません。お時間のあるときにご教示いただきたく。 以下のようにfor文で#を使っているコマンドを教えてもらったのですが、

  • 受付中

    ヒアドキュメントにおけるwhile readについて

    ヒアドキュメントでwhile read文を使用する方法を模索しているのですが、以下のように実行すると、4行空白が出力されるだけでした。。。 以下のような出力結果を期待しているので

  • 解決済

    linux vm と Windows Subsystemの違い

    題名のとおりですが、 windowsにlinuxのvmを入れるのと、windows subsystem for  linuxを有効にするのではどう違ってきますか?

  • 受付中

    シェルコマンド内の一部ソースコードの説明をお願いします。

     前提・実現したいこと Linux初心者です。 該当のソースコードの認識あってますでしょうか? 指定ディレクトリ内の.xml.を含むファイルを表示後、ファイル内に指定文字列を含

  • 解決済

    WindowsでLinxの環境構築

     質問内容 プログラミング初心者です。先月からRubyを学び始めました。基本的な文法についてはある程度学習したので、Railsの勉強に移りたいなと思っています。 まずなにから勉強し

同じタグがついた質問を見る

  • Linux

    3632questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • Windows

    1399questions

    Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

  • Ubuntu

    1315questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

  • bash

    621questions

    bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。