web-dev-qa-db-ja.com

Ubuntuを実行しているWindowsターミナルで、デフォルトのディレクトリを/(ルート)ではなく〜(/ home / jake)にするにはどうすればよいですか?

WindowsターミナルとUbuntuの両方をWindows 10内のMicrosoft Storeからインストールしました(これがWSLバージョン1であるかバージョン2であるかはわかりません。wsl -l -vコマンドは失敗しました)。

デフォルトのディレクトリは正しいディレクトリに設定されていますが、常にルートまで開かれています。この構成を修正するにはどうすればよいですか?

enter image description here

8
Jake Nixon

これは、Windowsターミナルの MicrosoftターミナルのGitHubページwslプロファイル#592のstartingDirectory設定の問題 として発生する問題です。そして 物事を尊重しない は物事の趣味です。

実際、startingDirectory Windowsターミナルは、WSL fsパスの下では$HOMEに固有の問題ではないため、/のすべてのフォルダーに存在するため、うまく機能しないようです。

ser3140225のアプローチ は良いスタートですが、 DHowett-MSFTのコメント によると:

これは、マシンでbashを使用する他のすべてのもので奇妙で予期しない動作をするための優れた方法でもあります。 ????

Ubuntuのプロファイルでは、コマンドラインwsl.exe -d Ubuntuを指定しています。このコマンドラインはWSLを呼び出し、現在のディレクトリで実行される「Ubuntu」を開始するように要求します。つまり、Windowsのデスクトップでwsl.exe -d Ubuntuを実行すると、UbuntuはWindowsのデスクトップで開始されます。

回避策として、コマンドラインを変更して、以下のいずれかを使用できます。

  1. WSLは特にLinux用であるため、 Tilde Expansion が期待できます。したがって、コマンドラインで「開始ディレクトリ」を指定し、コマンドラインの値として次を使用できます。

    wsl.exe ~ -d ubuntu
    
  2. Ubuntuアプリをインストールすると、ubuntuコマンドが自動的に登録されます。したがって、ubuntuコマンドはUbuntuアプリを呼び出します。これの利点は、常に$HOMEから始まることです。したがって、コマンドラインの値を次のように変更できます。

    ubuntu
    

    注:Ubuntu 18.04または16.04アプリを使用している場合、コマンドはそれに応じて異なります。上記は、Ubuntuアプリ専用です。

  3. コマンドラインの変更に不安がある場合でも、startDirectoryを次のように変更することで機能させることができます。

    "startingDirectory":"//wsl$/Ubuntu/home/jake/"
    

    クレジット:caksoylarのコメント

7
Kulfy

WSLを開き、cdをホームディレクトリに開きます。

cd ~

次に、nanoを使用して.bashrcファイルを編集します。

nano .bashrc

ファイルの下部に次の行を追加します。

cd ~

最後に、WSLを再起動します。

1
user3140225