1

Недавно я нашел правильную конфигурацию для использования Xming для gvim.exe из моего WSL (Windows Subon Windows, и мне интересно, смогу ли я автоматизировать процедуру. В конце дня я хотел бы повторить следующее сопоставление, которое запускает gvim.exe в WSL вместе с параметром. (Краткая команда для выдачи: gvim +SLoad

#k::
    ShellRun("C:\vim\vim80\gvim.exe", "+SLoad", "", "", 3)
return

Шаг 1: заставить работать с cmd.exe

Согласно руководству по вызову wsl, я должен иметь возможность нормально запускать программы с графическим интерфейсом, введя флаг -c следующим образом:

bash -c gvim
# Or, wsl does not need the flag, thus:
wsl gvim

Тем не менее, по двум командам, я получаю похожую ошибку, как будто я не настраивал переменную $DISPLAY когда был с командой WSL.

Шаг 2: просмотр правильной конфигурации из WSL

В зависимости от того, где запущена программа с графическим интерфейсом, необходимо добавить следующую строку в правильный файл конфигурации. Для оболочки bash по умолчанию поместите ее в ~/.bashrc . Для оболочки Shell поместите ее в ~/.config/fish/config.fish .

# XMing config
export DISPLAY=:0 

Значение переменной $DISPLAY устанавливается в соответствии с тем, как Xming указывает свои собственные стартовые параметры. Если открыть окно, добавленное в меню «Пуск », отобразятся параметры: "C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow .

Вопрос: как настроить переменные среды для cmd?

1 ответ1

1

Чтобы убедиться, что переменная среды действительно передана в программу, используйте:

bash -c "DISPLAY=:0 gvim"

Синтаксис оболочки VARIABLE=VALUE COMMAND устанавливает переменную среды VARIABLE только на время указанной команды. Это примерно эквивалентно (export VARIABLE=VALUE; exec COMMAND) .

Дисплеи нумеруются от 0, поэтому :0 - это первый локальный дисплей, который был запущен.

Как и все переменные среды, DISPLAY наследуется от родительского процесса к дочернему процессу. Однако при запуске из WSL, по-видимому, есть некоторые глюки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .