web-dev-qa-db-ja.com

WSL(Ubuntu):bashターミナルからブラウザーでlocalhostを開く方法

WSL bashターミナルから(任意の)ブラウザーで http:// localhost を開こうとしています。

これまでのところ、私は試しました:

Xdg-openのBROWSER変数を設定することはできません。これは_xdg-open http://localhost_に_/usr/bin/xdg-open: 851: /usr/bin/xdg-open: /c/"Program: not found_で応答します。

_\_と_^_でエスケープしてみました。 %ProgramFiles(x86)%およびofcorse "Program Files (x86)"を使用します。多かれ少なかれそれは毎回同じ答えです... WSLでブラウザを開くためのワークフローを設定する方法のアイデアはありますか?

これまでのところ、私は次のようになりました:

/c/Program\ Files\ \(x86\)/Google/Chrome/Application/chrome.exe localhost

しかし、私はよりエレガントな解決策を探しています。

3
Mirosław

Bashターミナルからブラウザーでlocalhostを開くには、wslを構成して、
デフォルトは、Windows 10システムでデフォルトとして設定されているブラウザーです。

これを行うには、wsluからいくつかのツールを使用します(「WSLのユーティリティのコレクション」)。
この目的のために必要です。

  • wslview(-u、--unregister "remove wslview as the default WSL web browser。
    -r、--register "wslviewをデフォルトのWSL Webブラウザーとして登録します。)

  • wslpath(-a "結果を絶対パス形式に強制する"、
    -u "WindowsパスからWSLパスに変換(デフォルト)")

このように優先ブラウザを登録する必要があります...
Google Chromeの場合:
wslview -r $(wslpath -au 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe')

Microsoft Edgeの場合:
wslview -r $(wslpath -au 'C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe')

これで、localhostをx-www-browser localhost:8080またはwww-browser localhost:8080として開くことができ、x-www-browserまたはwww-browserは、上記のように登録されている場合、現在のWindows 10のデフォルトブラウザーにデフォルトで設定されます。
ポートを示すことを忘れないでください。 localhostだけではうまくいきませんでした。

ブラウザの登録を解除するには、-rフラグを-uに変更します。

Wslviewヘルプ:wslターミナルのinfo wslview <enter>とwslpathのヘルプはwslpath <enter>をご覧ください。

2

BashからWindowsコマンドラインを呼び出し、Windowsファイルの関連付けを使用して、デフォルトのWindowsブラウザでURLを開くことができます。

これを行うには、Bashと入力します。

cmd.exe /C start http://localhost

私の場合、これはlocalhostをChromeにロードします。Windowsが何をすべきかを決定するには、完全なURLが必要であることに注意してください。

これはopenがMacOSで行うことと似ているため、コマンドに直接エイリアスを付けて、他のタイプのファイルにも使用すると便利な場合があります。

# add this to .bash_aliases
open='cmd.exe /C start'

これでopen URLまたはopen file.pdf WSLから直接。

2
gibbone

あと少しです。ウィンドウのエイリアスを追加するだけですchrome実行可能ファイル http://www.linfo.org/alias.html

alias chrome="/c/Program\ Files\ \(x86\)/Google/Chrome/Application/chrome.exe"

これで、chrome localhostを実行して、必要なWebの場所でchromeを開くことができます。

2
Damo

基本的にxdg-openpowershell -c startに転送するスクリプトを作成しました

あまりテストされていません。

Sudo tee /usr/local/bin/xdg-open <<EOF
#!/bin/sh

powershell.exe -c start "'\$@'"
EOF
Sudo chmod +x /usr/local/bin/xdg-open

乾杯オリバー

0
Oliver Sorg

さて、まず第一に、私はウィンドウをもう使用しないので、個人的にテストした完全なソリューションを投稿することはできませんが、ウィンドウを使用していたときは、これを使用してこれを実行しました。 (これはおそらくコメントになるはずですが、しばらく前に私は受け入れられない回答をいくつか削除し、関連する評判をたくさん削除しました:/)

解決:

WSL内からWindowsプログラムを起動するのではなく、プログラムのLinuxバージョンと Xming などのXサーバーをインストールしてください。 これはチュートリアルの例です XアプリをWindowsのXmingに転送するために。

要約すると、Xming(Windows)をインストールします。次に、DISPLAY変数をエクスポートします。

export DISPLAY=:0

WSL内にgoogle-chromeをインストールし、CLI経由で起動します。デスクトップに表示されるはずです。

注:リモート表示のためにXMingと一緒にPuTTYを使用する方法もありますが、Windowsファイアウォールを無効にし、WSL内に完全なopenssh-serverを最初にインストールする必要があります。

0
taigrr