После настройки задания cron я пытаюсь: автоматически включить службу cron при открытии приложения Windows Subsystem for Linux Ubuntu 16.04 из магазина приложений Windows.
В настоящее время я пытаюсь достичь этой цели, симулируя:
- Откройте WSL Ubuntu
- введите
sudo service cron start
<enter>
Для этого я нашел ubuntu1604.exe, сделал себя владельцем и дал себе разрешение на чтение и запись и открыл ubuntu1604.exe.
Затем я открываю cmd
в режиме администратора и просматриваю: C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu16.04onWindows_1604.2018.510.0_x64__79rhkp1fndgsc
и введите: ubuntu1604.exe
чтобы проверить, что я смог открыть WSL Ubuntu из cmd без запроса ничего. Я был, так как он только что открыл Ubuntu в том же окне cmd
(видно благодаря зеленому <user>@<pcname>:~$
отображаемому в cmd
).
Затем я попытался передать аргумент WSL Ubuntu, открывая его с помощью:
ubuntu1604.exe run echo "hello world"
ubuntu1604.exe echo "hello world"
ubuntu1604.exe -c echo "hello world"
ubuntu1604.exe -c
Тем не мение:
- Возвращает
hello world
но не открывает WSL Ubuntu. - Возвращает форму документации о том, как запустить дистрибутив Linux (см. Рисунок ниже).
- Возвращает
hello world
но не открывает WSL Ubuntu. - Открывает Ubuntu в местоположении текущего пути cmd, но не выполняет
Затем я попытался открыть его из пакетного сценария или сценария powershell:
- Пакетный скрипт
test1.bat
:
start /d "C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu16.04onWindows_1604.2018.510.0_x64__79rhkp1fndgsc" ubuntu1604.exe echo "hello world"
Пакетный скрипт:
test2.bat
Process.Start("C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu16.04onWindows_1604.2018.510.0_x64__79rhkp1fndgsc\ubuntu1604.exe", "echo "hello world"");
Скрипт Powershell:
test3.ps1
Process.Start("C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu16.04onWindows_1604.2018.510.0_x64__79rhkp1fndgsc\ubuntu1604.exe", "echo "hello world"");
- Скрипт Powershell:
test4.ps1
Процесс.Пуск (C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu16.04onWindows_1604.2018.510.0_x64__79rhkp1fndgsc\ubuntu1604.exe ", echo" hello world ");`
Хоть:
- Открывает большой черный экран и закрывается в мерцании.
- Процесс.Старт не распознается как внутренняя или внешняя команда
- Не на языке PowerShell
- Не на языке PowerShell.
Теперь я знаю, возможно, что опция передачи любого аргумента, который может выполнить команду без взаимодействия с пользователем, при запуске WSL ubuntu1604 может быть отключена, поскольку это приложение магазина приложений (или по любой другой причине).
Следовательно:
- Если кто-нибудь знает, правильный ли мой синтаксис, но мое намерение
не будет возможно таким образом, пожалуйста, дайте мне знать. - Если это возможно, но я делаю это неправильно, я был бы признателен за любые отзывы о том, что я делаю неправильно, или за решение, которое делает это правильно.