protonscr

Command line console commands fail to parse due to an erroneous extra '

steamopen Steam client
ValveSoftware/steam-for-linux#8121 · opened 2021-10-02 by drdonahue · updated 2021-10-02 · 0 comments · github
Ddrdonahue 2021-10-02 github

Your system information

  • Steam client version (build number or date):
  • Distribution (e.g. Ubuntu): Arch, Gentoo
  • Opted into Steam client beta?: [Yes/No] No
  • Have you checked for system updates?: [Yes/No] yes

Please describe your issue in as much detail as possible:

I have observed this on both Arch and Gentoo Linux both opted in and out of the beta client. Launching the Steam client with a console command to set Remote Play client parameters results does not parse correctly. The console command, @StreamClientArgs, is interpreted with a trailing ', which causes the command to fail. If a space is inserted in quotes on the command line, i.e. steam '+@StreamClientArgs ', that trailing ' is instead interpreted as an argument to the command and inserted into the arguments list.

Steps for reproducing this issue:

  1. Launch the steam client with console commands on the command line: steam -console +@StreamClientArgs --framerate 144 --bitrate 225000
  2. Console outputs this error:
ExecCommandLine: "'/home/david/.local/share/Steam/ubuntu12_32/steam' '-console' '+@StreamClientArgs' '--framerate' '144' '--bitrate' '225000'"
>>> command not found: @StreamClientArgs'

Note the trailing ' on the command not found error.

Alternate scenario:

  1. Launch steam client with a space after the console command in quotes: steam -console '+@StreamClientArgs ' --framerate 144 --bitrate 225000
  2. Console output:
ExecCommandLine: "'/home/david/.local/share/Steam/ubuntu12_32/steam' '-console' '+@StreamClientArgs ' '--framerate 144' '--bitrate 225000'"
"@StreamClientArgs" = "' '--framerate' '144' '--bitrate' '225000'"

The command parses correctly, but the argument list now contains an erroneous unpaired ' at the beginning and the Remote Play client crashes when launched.

Expected Result

ExecCommandLine: "'/home/david/.local/share/Steam/ubuntu12_32/steam' '-console' '+@StreamClientArgs' '--framerate' '144' '--bitrate' '225000'"
>>> "@StreamClientArgs" = "--frametrate 144 --bitrate 225000"

Nothing extracted yet.