适用于 Linux 的 Windows 子系统,在 Windows 启动时运行 Linux 应用程序?

适用于 Linux 的 Windows 子系统,在 Windows 启动时运行 Linux 应用程序?

我最近从 Windows 商店安装了 Debian,并安装了一个我想在 Windows 启动时运行的软件包。这可能吗?我尝试在启动文件夹中创建一个批处理文件,通过命令提示符启动 Debian,但 Linux 启动后它不会运行以下命令。

答案1

可能有 100 种方法可以做到这一点......这就是我要做的。

我们需要解决的问题是

  1. x-server 需要在无提示的情况下启动。我使用的是 VcXsrv。我必须制作一个“config.xlaunch”配置文件,这样它才能在无提示的情况下启动。如果您启动 VcXsrv 并收到提示,则保存该配置将在最后一个屏幕上。
  2. 在启动 x11-app 的命令之前,x-server 需要启动并运行。
  3. 我们希望隐藏承载命令的 bash 窗口,这样您就不会有一个愚蠢的控制台窗口挂在那里。

对于我的示例,我将开始世界知名 眼鏡应用程序来自一个非常简单的 PowerShell 脚本。我选择 PowerShell 是因为它可以轻松隐藏窗口。我们将使用 sleep 命令等待 x-server 启动。您永远不会想用 REAL 代码来执行此操作(睡眠)。但谁会在乎呢?对吧?

创建 powershell 脚本某处.. 您的文件夹是个好地方,但我在乎什么?

将这三行放入其中(根据需要进行修改)..

Start-Process -FilePath "C:\\Program Files\\VcXsrv\\xlaunch.exe" -ArgumentList "-run `"C:\\Users\\CMasMas\\Documents\\config.xlaunch`""
Start-Sleep -Seconds 3
Start-Process -WindowStyle hidden -FilePath "C:\\Windows\\System32\\bash.exe" -ArgumentList "-c 'DISPLAY=127.0.0.1:0.0 /usr/bin/xeyes'"`

尝试从提示符运行“powershell.exe [path_to_your].PS1”命令。如果出现错误: cannot be loaded because running scripts is disabled on this system则需要使用Set-ExecutionPolicy脚本来允许脚本在系统上运行。这涉及安全设置,我不准备告诉您所有注意事项。转到错误提供的 URL。它将解释您的选项。

现在,创建 powershell.exe 的快捷方式,并在 powershell.exe 后面添加 PS1 文件的路径。将此快捷方式放入您的启动组中。

如果我能提供进一步的帮助,请告诉我。

相关内容