How to pass a program and its arguments to startx

In terminal, I do like this and it works fine:

$startx google-chrome-stable 

It brings up chrome (just as an example) fine. But lets say I want to do with some arguments:

$startx google-chrome-stable -incognito

It fails, because it thinks -incognito is an argument for startx rather than chrome.

Whats the solution?


Solution 1:

Use the following command

startx google-chrome-stable -incognito --

From man startx

The special argument '--' marks the end of client arguments and the
beginning of server options.

Solution 2:

For others that may wonder, you should be using the full path to Google Chrome instead. If not, google-chrome-stable is passed as an argument to the default client.

To run Chrome as the client:

startx /usr/bin/google-chrome-stable -incognito

or, if you don't know where it is located:

startx `which google-chrome-stable` -incognito