5

Я успешно настроил SSH под Cygwin, поэтому я могу использовать SSH в своей учетной записи Windows и получить доступ к оболочке bash в Cygwin. Это замечательно.

Однако у меня есть программа на python, которую я хотел бы запустить в этой среде (я буду использовать Windows, а не cygwin python), которая ожидает, что многие стандартные переменные среды Windows будут доступны. Но если я запускаю cmd.exe из оболочки cygwin bash, я получаю среду cmd.exe, которая заполняется смесью значений cygwin-esque (MANPATH, LOGNAME) и подмножеством переменных среды windows-esque: в нем есть ALLUSERSPROFILE и COMPUTERNAME, например, но многие переменные, которые я обычно вижу, если бы я запустил окно командной строки с рабочего стола Windows, отсутствуют: PROCESSOR_ARCHITECTURE, NUMBER_OF_PROCESSORS и т. д.

Программа, которую я хотел бы запустить из моего сеанса SSH (SCons), использует эти значения и некоторые другие. Есть ли какой-нибудь способ в рамках сеанса SSH запустить cmd.exe как подоболочку, которая получит «командную строку, запускаемую из рабочего стола», как среду?

Я очень не хочу явно устанавливать все потенциально необходимые значения самостоятельно, поскольку такое решение довольно хрупкое. Я ищу автоматический механизм.

Есть ли какой-нибудь механизм, с помощью которого я могу получить «среду рабочего стола cmd.exe» в рамках сеанса Cygwin SSH?

1 ответ1

2

Я так понимаю, что переменные env, которые вам не хватает, - это ваши пользовательские переменные. По умолчанию Cygwin импортирует системные переменные только при запуске оболочки через SSH. Вы можете попробовать решение, указанное в этом ответе, чтобы Cygwin импортировал ваши пользовательские переменные при запуске через SSH.

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