I would recommend PlayOnLinux
as a front end for Wine.
To install PlayOnLinux
run the following commands from a terminal window:
sudo apt-get update
sudo apt-get install playonlinux
Note, PlayOnLinux installs Wine if it is not installed.
After it is installed and you run it for the first time, you will see an application that looks like this:
Click on the Install button. In the search box, type in Steam. Select Steam. Then click Install in the lower right. PlayOnLinux should download the needed files to install Steam. Note: Unfortunately, not every application is downloaded like this. Some applications will have to be downloaded manually, or you need the installation media.
PlayOnLinux should configure Wine for the application if it is found in the install menu like Steam is. Sometimes you might need to search https://www.winehq.com for tweaks to games to make them work correctly.
When it is completed, all you should have to do is to click on Steam in the box, then click Run above, or you can double-click on Steam to launch it.
Hope this helps!
You want to use SteamCMD, you can specify that you want to download Linux/Mac/Windows version of any Steam ID that uses SteamPipe (which is just about all of them).
https://developer.valvesoftware.com/wiki/SteamCMD#Cross-Platform_Installation
Is a direct link to the specific bit you're after. An exert:
Cross-Platform Installation
It is possible to choose the platform for which SteamCMD should download files, even if it isn't the platform it is currently running on. This is done using the @sSteamCmdForcePlatformType variable. (Yes, those are two "s"es at the beginning of the variable name.) For example, to download the Windows CSGO dedicated server on Linux, you can run the following command:
...
Hope that helps!
EDIT: Just so you know, you'll need the Steam ID for a particular game to use this method, which you can find: https://steamdb.info/
Best Answer
So, I know this is an old question, but there seems to be a way to do this. Sort of.
EDIT: So, having downloaded 1 game, it doesn't seem to be working. Launching the game does nothing. No errors.. just nada. So, YMMV.
It involves, tricking the client into thinking it can be installed by creating an appmanifest in the right folder. Luckily, since Steam is put together well and is tolerant of errors, you can just copy some other manifest, change a few fields, and it will automatically fix the file and start downloading the game.
For future reference in case the link breaks:
Right-click on your desired game in Steam. Click "Create Desktop Shortcut".
Open the shortcut up as text and locate the gameid. It will be on the Exec line. For example, "Exec=steam steam://rungameid/204880" means the gameid is 204880. (Bonus points for finding which game this is! :P)
Now we make a new manifest. (Oh, and if you have Steam open still, you can go ahead and close it.) Most likely, you'll go to ~/.local/share/Steam/SteamApps/. There will be several "appmanifest_xxxxxx.acf files (of variable length). These represent your installed games. Pick one (so far, it seems any one will work). Copy it and save it as appmanifest_gameid.acf (obviously replacing gameid with what it was). Now open it up and change the appID, GameID, name, and second name fields. Save it.
Re-open Steam.
??? (Steam corrects our wrong file. Although, I've noticed some of the old properties remain which may come back to bite me/you/us.)
Profit! (it starts downloading)
And, as of writing, this is as far as I've gotten. My game is still downloading and I thought I'd share as I stumbled across this QA when I was looking for the same answer :)