Yor*_*ubs 1 windows powershell windows-store cmd.exe windows-subsystem-for-linux
我正在努力从命令行(例如 PowerShell 或 CMD)启动 WSL“Ubuntu 20.04”商店应用程序(或任何商店应用程序)。
当我从“开始”菜单运行 Ubuntu 20.04 时,它会在一个带有 Ubuntu 图标和正确窗口标题(“Ubuntu 20.04 LTS”)的窗口中启动。我希望从命令行启动时获得相同的应用程序窗口。
我已经搜索了很多,并找到了引用的页面start shell:AppsFolder\{folder}!App
(例如start shell:AppsFolder\Microsoft.WindowsStore_8wekyb3d8bbwe!App
),但我无法使其适用于 Ubuntu Store 应用程序。我觉得这有点复杂——有没有更简单的方法?如果不是,那么 Ubuntu 上是如何工作的呢?
我熟悉该wsl
命令,但如果我wsl -d Ubuntu-20.04
从“开始”菜单运行,生成的窗口将具有通用 WSL/Linux/Penguin 图标,而不是 Ubuntu 图标。窗口标题也不C:\Windows\system32\wsl.exe
是“Ubuntu 20.04 LTS”。
如果我从 CMD 运行相同的wsl
命令,它仍然具有 CMD 图标。
也许我可以使用 DOS/CMDTITLE
命令,但我只想有一个可用于启动 Store 应用程序的命令。这可能吗?
相比之下,“普通” .exe
Windows 应用程序可以很容易地从 CMD 或 PowerShell 启动。
我对 Ubuntu WSL 的解决方案感到非常满意,而且如果有一种简单(尤其是可编程)的方式来运行所有Windows 应用商店应用程序,那就太好了。
简短回答:
从 CMD 或 PowerShell:
start ubuntu.exe
Run Code Online (Sandbox Code Playgroud)
如果start
在 PowerShell 下没有别名,请尝试:
start-process ubuntu.exe
Run Code Online (Sandbox Code Playgroud)
更多详情:
ubuntu.exe
是从 Microsoft Store 安装的“Ubuntu”应用程序的“应用程序执行别名”,尽管它也可能是:
ubuntu2004.exe
:如果您从商店安装了“版本化”“Ubuntu 20.04”ubuntu1804.exe
:如果您安装了“版本”“Ubuntu 18.04”您可以通过转到Windows 设置中的管理应用程序执行别名来查看这一点。许多商店应用程序都包含一个.exe
旨在启动商店应用程序的“fake”。您可以禁用它,但我假设它已启用。如果没有,当然启用它。
当您从“开始”菜单运行 Ubuntu 时,它当然会运行 Store 应用程序。此应用程序在旧版 Windows 控制台中运行 WSL,并执行一些其他操作,例如设置应用程序图标和字体。这几乎是我从命令行运行它所能发现的唯一区别。
当您ubuntu.exe
从命令行运行(或其他 WSL 应用程序执行别名之一)时,它将在当前终端中启动。ipconfig.exe
例如,它与键入 相同。它保留了“所属”终端(由 CMD 或 PowerShell 启动)的当前特征——相同的应用程序图标、相同的字体等。
当使用start
(CMD) 或Start-Process
(PowerShell) 命令运行时,它会在 Windows 中启动一个单独的进程(而不是作为当前 shell 的子进程)。Windows 在新终端(默认情况下为 Windows 控制台)中启动它,并且 WSL 可能会施展一些魔法来表示“如果我是终端的所有者,则设置图标和字体”。
归档时间: |
|
查看次数: |
16291 次 |
最近记录: |