Omit the parentheses
If you execute
export (without parameters) after your command, you will see that
SSLKEYLOGFILE is set to
(/home/username)/sslkeylog.log, which is not a valid path. Omit the parentheses:
"Normally" opened applications still won't see the environment variable
According to the Bash Reference Manual:
export [-fn] [-p] [name[=value]]
Mark each name to be passed to child processes in the
...and similarly the dash manual:
export name ...
The specified names are exported so that they will appear in the
environment of subsequent commands.[...]
...the exported environment variable is only ever passed to subsequent commands in the same process or child processes. So if you open a terminal and execute the
export SSLKEYLOGFILE... command, only applications (processes) that are spawned from the same terminal (or, more precisely, the same shell process within that terminal) will see the environment variable. If you run
google-chrome(-stable) from that terminal, it will see the
SSLKEYLOGFILE variable and write to the specified file.
If you open google chrome via an application starter (which I assume you consider normal), it will not be a child process of the terminal and thus won't be aware of the
Also be aware that if chrome is already running, executing
google-chrome-stable in a terminal will open a new window in the already running process. You can view the process tree by executing
pstree in a terminal.
Since this wasn't part of the question, I won't go into details here, but setting persistent environment variables, either session-wide or system-wide, is explained in the Ubuntu community wiki