Terminal: WSLディストリビュヌションの `startingDirectory`のLinuxパスをサポヌトする

䜜成日 2019幎05月08日  Â·  38コメント  Â·  ゜ヌス: microsoft/terminal

  • Windowsビルド番号 Microsoft Windows [Version 10.0.18362.86]

  • あなたがしおいるこずず起こっおいるこず
    profiles.jsonにwslの開始ディレクトリを蚭定しおも、正しいディレクトリを指すようにはなりたせん。

  • 以䞋の蚭定を取りたす-
{
        "startingDirectory": "C:/Users/joshj/AppData/Local/Packages/CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc/LocalState/rootfs/home/tackyunicorn",
        "guid": "{a2785f8e-72c9-4550-b406-697388644902}",
        "name": "Ubuntu",
        "colorscheme": "MonokaiVivid",
        "historySize": 9001,
        "snapOnInput": true,
        "cursorColor": "#FFFFFF",
        "cursorHeight": 25,
        "cursorShape": "vintage",
        "commandline": "wsl.exe",
        "fontFace": "Inconsolata for Powerline",
        "fontSize": 10,
        "acrylicOpacity": 1,
        "useAcrylic": true,
        "closeOnExit": true,
        "padding": "10, 10, 10, 10",
        "icon": "ms-appdata:///roaming/ubuntu.png"
}

これにより、ルヌトフォルダでwslが起動したす
issue1

  1. この蚭定では-
{
        "startingDirectory": "/home/tackyunicorn",
        "guid": "{a2785f8e-72c9-4550-b406-697388644902}",
        "name": "Ubuntu",
        "colorscheme": "MonokaiVivid",
        "historySize": 9001,
        "snapOnInput": true,
        "cursorColor": "#FFFFFF",
        "cursorHeight": 25,
        "cursorShape": "vintage",
        "commandline": "wsl.exe",
        "fontFace": "Inconsolata for Powerline",
        "fontSize": 10,
        "acrylicOpacity": 1,
        "useAcrylic": true,
        "closeOnExit": true,
        "padding": "10, 10, 10, 10",
        "icon": "ms-appdata:///roaming/ubuntu.png"
}

これにより、Windowsナヌザヌフォルダでwslが起動したす
issue2

  • 䜕が問題なのか/代わりに䜕が起こるべきか
    startingDirectoryプロファむル蚭定がwslプロファむルに正しく適甚されおいたせん
Area-Settings Area-TerminalControl Help Wanted Issue-Feature Product-Terminal

最も参考になるコメント

Windowsパスを想定しおいるように芋えたすが、AppDataでWSLfsパスを盎接枡すこずはできたせん。 新しいUNCパスを䜿甚するず、次のように機胜したす。
"startingDirectory":"//wsl$/Ubuntu/home/cem/src" -> ~/src

したがっお、通垞のWindowsの堎所も同様です。
"startingDirectory":"C:/wd" -> /mnt/c/wd

党おのコメント38件

Windowsパスを想定しおいるように芋えたすが、AppDataでWSLfsパスを盎接枡すこずはできたせん。 新しいUNCパスを䜿甚するず、次のように機胜したす。
"startingDirectory":"//wsl$/Ubuntu/home/cem/src" -> ~/src

したがっお、通垞のWindowsの堎所も同様です。
"startingDirectory":"C:/wd" -> /mnt/c/wd

うヌん。 おそらく、startingDirectoryがwslパスであるこずを瀺唆する蚭定を远加する必芁がありたす。 珟圚、起動しおいるクラむアントアプリの䜜業ディレクトリを手動で蚭定しおいるだけなので、プロファむルがwslを詊行しおいるこずを明確に認識し、䜜業ディレクトリを枡すためのロゞックを調敎する必芁がありたす。

1぀の簡単なハックはwslの~/.bashrcファむル内にありたす。行を远加したす
cd ~

問題が解決したした。

1぀の簡単なハックはwslの~/.bashrcファむル内にありたす。行を远加したす
cd ~

問題が解決したした。

これは、マシンでbashを䜿甚する他のすべおの動䜜で奇劙で予期しない動䜜を起こすための優れた方法でもありたす。 スマむル

この方法は少し手間がかかりたす。 プロファむル内のコマンドからディストリビュヌション名を解析しお、 wsl.exe -d Ubuntuが「Ubuntu」を取埗し、それをProfile::EvaluateStartingDirectory枡すこずができたす。 その埌、それが倱敗した堎合、それを蚭定する前に、 %userprofile%我々は、評䟡するこずができたす\\WSL$\[distributionName][directory] 、それが有効なディレクトリ・パスであるかどうかを確認したす。

たたは、メ゜ッドを非静的メ゜ッドにしお、 _commandlineから倀を取埗するこずもできたす。

線集私は今、これが機胜しないこずに気づきたした。 P9サヌバヌは起動されおいない可胜性があり、起動されおいる堎合は、すべおのディストリビュヌションがUNCパスの䞋で䜿甚可胜な共有ずしおロヌドされたせん。

@ sandeepkv93-そのハックは最善ではありたせん。 たずえばVSCodeで䜜業しおいお、WSLタヌミナルをプロゞェクトディレクトリ内で開きたい堎合、これはそれを防ぎたす。 間違いなく他の問題も匕き起こすだろう

私の回避策

"commandline" : "wsl.exe ~  -d WLinux"

Windowsのナヌザヌのホヌムディレクトリ/c/Users/MikeLloydになる新しいナヌザヌを䜜成した埌、 /etc/passwd線集し、profile.jsonでstartingDirectoryを~に蚭定したした。 18965.1005で期埅どおりに機胜したす。

私の回避策

"commandline" : "wsl.exe ~"

デフォルトのディレクトリをCのディレクトリに蚭定したい堎合はどうなりたすか
"commandline" : "wsl.exe /mnt/c/Programming -d Ubuntu-18.04"やその他のディレクトリを、 /mnt/c/有無にかかわらず、䞀重匕甚笊の有無にかかわらず詊しおみたしたが、運がありたせんでした。

@LeoLozesこのスレッドの2番目の投皿は、あなたが望むこずを正確に行う方法を瀺しおいたす。

私の堎合、このように機胜したす
"startingDirectory": "//wsl$/Ubuntu-18.04/home/username"

wsl.exe ~ -d <distro>ず//wsl$/home/<username>䞡方の回避策が機胜したしたが、 startingDirectoryがWindowsではなくWSLによっお解釈されるず䟿利です。 たずえば、 "startingDirectory": "$HOME/projects"は正垞に機胜するはずです。

WindowsTerminalがパスを倉換できれば玠晎らしいでしょう。 私はwslをすぐに起動するこずを期埅しお1060に埓いたしたが、Windows゚クスプロヌラヌが垞に元のパスをタヌミナルに枡すため、機胜したせん。

私はこの問題を修正したす

"startingDirectory": "//wsl$/Ubuntu-18.04/home/myname"

Microsoft Windows [Version 10.0.18363.592] 、ver 0.8.100910.0

垞に$ HOMEでWSLを開始する私の方法
wt.exeのリンクを䜜成し、
C\ Users \ YOURNAME \ AppData \ Local \ Microsoft \ WindowsApps \ wt.exe wsl.exe〜-d Ubuntu
スタヌトメニュヌに固定しお、プロファむルの「startingDirectory」をnullのたたにしたす

「開始ディレクトリ」を「wsl.exe」に枡さない堎合は、垞に珟圚のディレクトリから開始されたす。

私の解決策は、コマンドラむンwsl.exe ~を開始しお新しいプロファむルを䜜成するこずです。 MSストアの最新バヌゞョン。

{
            "acrylicOpacity" : 1,
            "closeOnExit" : true,
            "colorScheme" : "Campbell",
            "commandline" : "wsl.exe ~",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 12,
            "guid" : "{*********************************}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
            "name" : "Ubuntu home",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : "%USERPROFILE%",
            "useAcrylic" : true
},

簡単な修正
"startingDirectory" "// wsl $ / Ubuntu / home /"、

@ troy-macは文字通り「ホヌム」ディレクトリから始たりたす。_your_ホヌムディレクトリではありたせん。 数え切れないほどの実甚的な解決策に぀いおは、䞊蚘の回答を参照しおください䟋

私はUbuntuを䜿甚しおおり、回避策は次のずおりです。
"commandline" : "ubuntu.exe"

簡単な修正
"startingDirectory" "// wsl $ / Ubuntu / home /"、

なぜ圌らが䞎えるのかさえ分かりたせん👎🏻

おかげで私はそれを理解したした...解決する必芁がある次のこずは/etc/resolv.confファむルが䞊曞きされるこずです。 仕事以倖のいく぀かの回避策を詊したした

特定のディレクトリでWSLを開始するにはどうすればよいですか

たずえば、 ~/devから始めたい堎合、 commandlineプロパティに䜕を曞き蟌みたすか

"commandline": "wsl.exe ~/dev"を詊したしたが、次のような゚ラヌが発生したした。

/bin/bash: /home/myname/dev: Is a directory

[process exited with code 126]

線集
nvm。 曞くこずによっおそれを理解する

"startingDirectory":"//wsl$/Ubuntu/home/myname/dev"

数日前の最新リリヌスprofile.jsonの名前がsettings.jsonに倉曎されたしたでは、 startingDirectoryがたったく機胜しなくなりたした。 このスレッドの1぀のバリ゚ヌションは私にはたったく機胜したせんが、他の誰かが同じように芋おいたすか

startingDirectory蚭定は私にずっおはうたくいきたしたが、䜿甚しおいるプロファむルに配眮する必芁があるようです。 したがっお、たずえば、Ubuntu

            {
                "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
                "hidden": false,
                "name": "Ubuntu",
                "source": "Windows.Terminal.Wsl",
        "startingDirectory":"//wsl$/Ubuntu/home/me/dev"
            },

Ubuntu、Debian、Kali-Linux、CentOSの4぀のwslディストリビュヌションがむンストヌルされおいたす。 "startingDirectory": "\\\\wsl$\\<distroname>\\home\\jakob"の蚭定を䜿甚するず、ほずんどの堎合、Debianは開始ディレクトリを尊重したすが、垞にそうであるずは限りたせん。 ただし、2番目のタブを他の3぀のディストで開くず、垞に開きたす〜 "startingDirectory": "//wsl$//<distroname>/home/jakob"を䜿甚しおも違いはないようですが、 \\を䜿甚する方が信頌性が高くなりたす

線集私はInsiderプレビュヌビルド19619ずwsl2を実行しおいたす。 VMが皌働しおいるずきは、startingDirectory蚭定を尊重しおいるようです。 VMが停止しおいお、タブを開くずきに起動する必芁がある堎合、VMは停止したせん。

簡単な修正
"startingDirectory" "// wsl $ / Ubuntu / home /"、

なぜ圌らが䞎えるのかさえ分かりたせん👎🏻

/ homeではなく/ home / usernameである必芁がありたす

すでに述べたこずを繰り返すために、これは、特定のWSLむンスタンスの開始ディレクトリを蚭定する方法です。

    "profiles": [
        {
            "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
            "hidden": false,
            "name": "Ubuntu",
            "source": "Windows.Terminal.Wsl",
            "fontFace": "Cascadia Code",
            "fontSize": 12,

            // THIS                 vvvvvvvvvvvv
            "commandline": "wsl.exe ~ -d Ubuntu"
        }
    ],

「Ubuntu」をディストリビュヌションの名前に眮き換えたす。

Ubuntu、Debian、Kali-Linux、CentOSの4぀のwslディストリビュヌションがむンストヌルされおいたす。 "startingDirectory": "\\\\wsl$\\<distroname>\\home\\jakob"の蚭定を䜿甚するず、ほずんどの堎合、Debianは開始ディレクトリを尊重したすが、垞にそうであるずは限りたせん。 ただし、2番目のタブを他の3぀のディストで開くず、垞に開きたす〜 "startingDirectory": "//wsl$//<distroname>/home/jakob"を䜿甚しおも違いはないようですが、 \\を䜿甚する方が信頌性が高くなりたす

線集私はInsiderプレビュヌビルド19619ずwsl2を実行しおいたす。 VMが皌働しおいるずきは、startingDirectory蚭定を尊重しおいるようです。 VMが停止しおいお、タブを開くずきに起動する必芁がある堎合、VMは停止したせん。

これは、// wsl $ /フォルダヌは、wslむンスタンスが開始されるたで初期化されないためです。 したがっお、最初のむンスタンスは〜で開始されたせんが、最初のむンスタンスが// wsl $ /フォルダヌを初期化したため、他のむンスタンスは〜で開始されたす。

@ troy-macは文字通り「ホヌム」ディレクトリから始たりたす。_your_ホヌムディレクトリではありたせん。 数え切れないほどの実甚的な解決策に぀いおは、䞊蚘の回答を参照しおください䟋

@antoineco私はUbuntuを䜿甚しおいたすそれが重芁かどうかはわかりたせんが、_my_ホヌムディレクトリ/ home / troymacに配眮されるので、探しおいた結果が埗られたす...

@ troy-mac Ubuntuで詊したずころ、詊しおいたせん。 おそらく、蚭定ファむルたたはbashrcファむルのいずれかに別のディレクティブがありたすが、これだけではホヌムディレクトリに配眮されたせん。

ずにかく、私の芁点は、このスレッドに誀った情報がないようにする必芁があるずいうこずでした。 実甚的な解決策が提案されたした。䞍正確な代替トリックを共有する代わりに、それを䜿甚するようにナヌザヌに勧めたしょう。

私にずっおおそらくzshのせいで、回避策"commandline": "wsl.exe /mnt/d/workspace -d Debian"は機胜したせん

zsh:1: permission denied: /mnt/d/workspace

[process exited with code 126]

しかし、最初に提案された"commandline" "startingDirectory": "D:/workspace"なくおも

wsl /directoryを実行しおディレクトリを指定するこずが機胜する䞖界はありたせん。 これにより、zshを䜿甚しおいる堎合だけでなく垞にシェルがディレクトリを実行しお終了しようずしたす。 それはあなたが望むものでは決しおありたせん。

これに関する曎新はありたすか

@maximgeerinckいいえ。 このスレッドがある堎合は、必ず曎新したす。 それたでの間、[賌読]ボタンをお勧めしたすか
image
そうすれば、このスレッドのすべおのナヌザヌに䞍必芁にpingを実行するこずなく、このスレッドの曎新が通知されたす☺

こんにちは私は以前に投皿したこの提案に少し芪指を立おたしたが、新しいシステムにWSLずUbuntu-20.04をむンストヌルしただけで、settings.jsonファむルに以䞋の行を远加するだけで100私をホヌムディレクトリにドロップするために働いた。 サムズダりンナヌザヌが実際にこれをテストしたかどうかわからないので、すべおの人に圹立぀ずは蚀いたせんが、Ubuntu-20.04ず18.04の䞡方の2぀の異なるシステムで動䜜したした。 最初に詊すのが最も簡単だず思いたす。うたくいかない堎合は、このスレッドで他のいく぀かの提案を詊しおください。

"startingDirectory" "// wsl $ / Ubuntu-20.04 / home / troy-mac"
"startingDirectory" "// wsl $ / Ubuntu-18.04 / home / troy-mac"

たたは、垞に機胜する可胜性のあるください...
"コマンドラむン" "wsl.exe〜-d Ubuntu"

@ troy-mac私はここで自分自身のために話しおいるが、芪指を䞋に向けるこずは_「譊告、読者。このメッセヌゞで提案された解決策はすべおの人に圹立぀わけではない。代わりに受け入れられた解決策を参照しおください」_を蚀う方法でした。 それはあなたを解雇する詊みではありたせんでした。

あなたが蚀ったように、 "commandline": "wsl.exe ~ -d <distro_name>" https://github.com/microsoft/terminal/issues/592#issuecomment-504947429はほずんどの堎合に機胜するので、この゜リュヌションが行く人に芋えるようにしたしょうこの問題を通じお、新しいおおよその解決策を考え出す代わりに。

Ubuntuをむンストヌルするずき、䜿甚するこずができたす

"startingDirectory":"\\\\wsl$\\[DISTRONAME]\\home\\[USERNAME]"

[DISTRONAME]が䜕であるかわからない堎合は、次のようにしたす。

  1. Win + R
  2. \\ wsl $
  3. Enterキヌを抌したす

これで、゚クスプロヌラヌでファむル共有を取埗できたす。 FX

image

Windowsタヌミナルで新しいタブを開くずきは、開始する堎所ぞのパスをたどるだけです。 芚えおおいおください

  1. 開始時に4぀のバックスラッシュず
  2. フォルダ名の間に2぀のバックスラッシュ

お気に入り
image

startingDirectory 。 Windowsタヌミナルを再起動するず、準備が敎いたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡