.vbs-скрипт не запускает gnome-terminal, если я сначала не запустил программу в терминале [WSL]

У меня есть сценарий vbs, который я использовал для запуска gnome-terminal с рабочего стола Windows 10. Он выполняет следующие команды в strArgs без отображения окна терминала, в котором выполняются команды.

Set oShell = CreateObject ("Wscript.Shell") 
Dim strArgs
strArgs = "wsl 'DISPLAY=:0 gnome-terminal"
oShell.Run strArgs, 0, false

Однако сценарий работает только в том случае, если я сначала выполняю DISPLAY =: 0 gnome-terminal в моем ванильном wsl-терминале. Я не уверен, что запускается в моих процессах, что позволяет скрипту работать, но я действительно не хочу продолжать делать это каждый раз, когда перезагружаю свой компьютер.

0
задан 19 March 2019 в 15:47

2 ответа

По-видимому, добавление read команда после gnome-terminal заставляет это работать. Теперь я не должен вводить команды в командном окне с каждой перезагрузкой, чтобы заставить настольный ярлык работать.

Set oShell = CreateObject ("Wscript.Shell") 
Dim strArgs
strArgs = "wsl 'DISPLAY=:0 gnome-terminal;read"
oShell.Run strArgs, 0, false
0
ответ дан 26 October 2019 в 00:30

Проблема в том, что сначала нужно запустить DBus. Этот пакетный скрипт работает для меня, а также проверяет, работает ли VcXsrv:

tasklist /FI "IMAGENAME eq vcxsrv.exe" 2>NUL | find /I /N "vcxsrv.exe">NUL
if "%ERRORLEVEL%"=="0" echo X server is running
if not "%ERRORLEVEL%"=="0" start "" "C:\Program Files\VcXsrv\vcxsrv.exe" :0 -ac -terminate -lesspointer -multiwindow -clipboard -dpi auto
ubuntu run "sh -ic 'if [ -z \"$(pidof dbus-launch)\" ]; then export DISPLAY=127.0.0.1:0.0; dbus-launch --exit-with-x11; fi;'"
ubuntu run "DISPLAY=:0 gnome-terminal --working-directory=/home/kevin; sleep 1"

Конечно, отредактируйте каталоги и измените команду из ubuntu, если вы используете что-то другое.

0
ответ дан 11 December 2019 в 19:25

Другие вопросы по тегам:

Похожие вопросы: