Откройте Firefox или Chrome для записи в SSLKEYLOGFILE

Я экспортировал новую пользовательскую переменную SSLKEYLOGFILE с помощью команды:

export SSLKEYLOGFILE=($HOME)/sslkeylog.log

Если я обычно открываю Firefox или Chrome, файл sslkeylog.log не создается (даже если он создан, его пустой, даже если я просматривать через ssl-трафик через браузер). Есть ли специальная команда терминала для открытия браузеров с включенными функциями? Если да, то что?

1
задан 9 July 2018 в 20:26

2 ответа

Опустить круглые скобки

Если вы выполнили export (без параметров) после вашей команды, вы увидите, что для параметра SSLKEYLOGFILE установлено значение (/home/username)/sslkeylog.log, что не является допустимым путем. Опустить круглые скобки:

export SSLKEYLOGFILE=$HOME/sslkeylog.log

«Нормально» открытые приложения все еще не будут видеть переменную окружения

В соответствии с Справочным руководством Bash:

export [-fn] [-p] [name[=value]] Mark each name to be passed to child processes in the environment.[...]

... и аналогичным образом Bash Reference Manual :

export name ... export -p The specified names are exported so that they will appear in the environment of subsequent commands.[...]

... переменная экспортируемой среды только когда-либо передавались последующим командам в одном процессе или дочерних процессах. Поэтому, если вы открываете терминал и выполняете команду export SSLKEYLOGFILE..., только переменные среды, которые генерируются из одного и того же терминала (или, точнее, одного и того же процесса оболочки в этом терминале), будут отображать только приложения (процессы). Если вы запустите google-chrome(-stable) с этого терминала, он увидит переменную SSLKEYLOGFILE и напишет в указанный файл.

Если вы откроете google chrome с этого терминала (который я предположим, что вы считаете нормальным), он не будет дочерним процессом терминала и, следовательно, не будет знать о переменной SSLKEYLOGFILE.

Также имейте в виду, что если chrome уже запущен, выполняется google-chrome-stable в терминале откроет новое окно в уже запущенном процессе. Вы можете просмотреть дерево процессов, выполнив pstree в терминале.

Поскольку это не было частью вопроса, я не буду вдаваться в подробности здесь, но устанавливаю постоянные переменные среды, широкий или общесистемный, объясняется в вики сообщества Ubuntu

1
ответ дан 17 July 2018 в 14:21

Опустить круглые скобки

Если вы выполнили export (без параметров) после вашей команды, вы увидите, что для параметра SSLKEYLOGFILE установлено значение (/home/username)/sslkeylog.log, что не является допустимым путем. Опустить круглые скобки:

export SSLKEYLOGFILE=$HOME/sslkeylog.log

«Нормально» открытые приложения все еще не будут видеть переменную окружения

В соответствии с Справочным руководством Bash:

export [-fn] [-p] [name[=value]] Mark each name to be passed to child processes in the environment.[...]

... и аналогичным образом Bash Reference Manual :

export name ... export -p The specified names are exported so that they will appear in the environment of subsequent commands.[...]

... переменная экспортируемой среды только когда-либо передавались последующим командам в одном процессе или дочерних процессах. Поэтому, если вы открываете терминал и выполняете команду export SSLKEYLOGFILE..., только переменные среды, которые генерируются из одного и того же терминала (или, точнее, одного и того же процесса оболочки в этом терминале), будут отображать только приложения (процессы). Если вы запустите google-chrome(-stable) с этого терминала, он увидит переменную SSLKEYLOGFILE и напишет в указанный файл.

Если вы откроете google chrome с этого терминала (который я предположим, что вы считаете нормальным), он не будет дочерним процессом терминала и, следовательно, не будет знать о переменной SSLKEYLOGFILE.

Также имейте в виду, что если chrome уже запущен, выполняется google-chrome-stable в терминале откроет новое окно в уже запущенном процессе. Вы можете просмотреть дерево процессов, выполнив pstree в терминале.

Поскольку это не было частью вопроса, я не буду вдаваться в подробности здесь, но устанавливаю постоянные переменные среды, широкий или общесистемный, объясняется в вики сообщества Ubuntu

1
ответ дан 20 July 2018 в 14:25

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

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