How to Install Thinkorswim Trading Platform on Ubuntu 24.04/22.04
This tutorial will show you how to install the Thinkorswim trading platform on Ubuntu 24.04/22.04 desktop, so you can trade stocks.
ThinkorSwim Features
- It allows you to trade stocks, options, options on futures, ETFs, futures, and forex.
- Free level 2 data.
- Economic data straight from the Fed.
- Trade select securities 24 hours a day, 5 days a week. Available securities include FXI, SPY, EEM, GLD, SLV, DIA, UNG, TLT, IWM, QQQ, USO, SH, RWM, PSQ, AGG, DOG, EWA, EFA, EWJ, IJH, VTI, XLF, XLE, and XLK.
- Practice paper trading with the paperMoney feature.
- Track and modify your watchlist, orders, and alerts, including saved orders.
- Live stream programming from TD Ameritrade Network and CNBC
- Custom alerts: Choose from pre-selected lists of popular events or create your own using a powerful array of parameters.
- Market Maker Move: Determine which stocks may be making big moves by tracking the expected magnitude of price movement based on market volatility.
- Market Monitor: In real time, view the whole market displayed in easy-to-read heat mapping and graphics.
- Available for Windows, Mac, Linux, Android and iOS
Step 1: Create a Brokerage Account
Thinkorswim was developed by TD Ameritrade, which was one of the big four stock brokerage firms in the United States. It was acquired by Charles Schwab in 2020.
- U.S. traders should open a brokerage account at Charles Schwab. There’s no minimum deposit requirement to use the Thinkorwim trading platform for U.S. person.
- If you are not a U.S. person, then you should go to the international client signup page. Note that you will need to deposit at least $25,000 in order to use its services.
- If you don’t want to trade real money right away, Thinkorswim allows you to create a simulated trading account to practice trading before using real money. It’s free for everyone.
Step 2: Install Java on Ubuntu Desktop
Thinkorswim is written with the Java programming language. We need to install the Java runtime environment to use the Thinkorswim software.
sudo apt install openjdk-17-jre
Next, check your Java version.
java -version
Sample output:
openjdk version "17.0.11" 2024-04-16 OpenJDK Runtime Environment (build 17.0.11+9-Ubuntu-122.04.1) OpenJDK 64-Bit Server VM (build 17.0.11+9-Ubuntu-122.04.1, mixed mode, sharing)
If you have already installed other versions of Java, then run the following command to set Java 17 as the default version.
sudo update-alternatives --config java
Sample output.
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode 2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manual mode Press <enter> to keep the current choice[*], or type selection number:
If you don’t use Java 17, then Thinkorswim may throw out an error message when it starts up.
Install Thinkorswim on Ubuntu Desktop
Go to the official page to download the install script for Linux. You can also download it from the command line.
wget https://mediaserver.thinkorswim.com/installer/InstFiles/thinkorswim_installer.sh
Then run the following command to install it.
bash thinkorswim_installer.sh
The install wizard will appear. First, choose your language.
Then choose your accounty type. For this tutorial, I’m going to use a free trial account.
Next, agree to the license agreement.
After that, choose whether you want to install Thinkorswim for yourself or for all users on the computer. I recommend installing only for yourself, because you don’t want others to mess with your stock trading.
Thinkorswim will be installed to your home directory, which is great.
It will create a desktop icon, so you can easily launch it next time.
After the setup wizard finishes installing Thinkorswim, you can launch it.
Upon first launch, it will check if there’s any software update.
Now you can login. (Note: Thinkorswim is under maintenance on the weekend.) Click the gear icon to choose your account type (Schwab, TD Ameritrade, Guest Pass). If you want to use the paperMoney feature for simulated trading, then choose the TD Ameritrade account type. Market data will be delayed 20 minutes for simulated trading.
Thinkorswim interface.
Now you can create a watchlist and place orders. For more information on how to use the Thinkorswim trading platform, you can watch educational videos on the official YouTube channel, and use the Thinkorswim learning center.
Other Useful Stock Trading Tools
- cathiesark.com: Cathie Wood’s ETF holdings tracker
- arkinvestdailytrades.com: Ark Invest Daily Trades Tracker
- Warren Buffet Stock Tracker
- StockCharts.com: web-based stock charting
- StockAnalysis.com: Free online stock information for investors
- Trade Ideas Pro: Real-time intraday scanner
- Zendoo: Real-Time Scanners for Day Traders
- shortvolumes.com: Check the number of shares of a stock that have been sold short by investors during a particular period of time.
- otcshortreport.com: Check short data for OTC stocks.
- Daily Short Sale Volume Files from FINRA
- Check short interest for stocks listed on the Nasdaq exchange
- High Short Interest Stocks
- Low Float Stocks
- shortablestocks.com: Check FTD (Failure to Deliver), short borrow availability, and fee rate of a particular stock.
- shortsqueeze.com: provides short interest stock market data and services, so you will be better informed of short selling in the market.
- Reg SHO Threshold List
- StockSera: track trending tickers on social media and get alternative data for easy due diligence & analysis.
- IPOScoop: IPO calendar
- Trader Workstation (TWS): Another trading platform provided by Interactive Broker that is available for Linux.
- Bloomberg Live TV
- Yahoo Finance Live
- Barchart: Buy or Sell Signal
- Options Profit Calculator
Install Thinkorswim on Fedora
The process is roughly the same. You need to install Java 17.
sudo dnf install java-17-openjdk
Then run the following command to choose Java 17 as the default Java version.
sudo update-alternatives --config java
Then download the install script.
wget https://mediaserver.thinkorswim.com/installer/InstFiles/thinkorswim_installer.sh
And run the following command to install it.
bash thinkorswim_installer.sh
Enable AutoStartup
Open the “Startup Application” app and click the +
button, then add the command /home/username/thinkorswim/thinkorswim
to the startup list (Replace username with your real username).
Wrapping Up
I hope this tutorial helped you install Thinkorswim on Linux.
You can use this method to install Thinkorswim on almost any Linux distribution, as long as Java 17 can be installed on your system.
Although Thinkorswim says you need Zulu JDK, I always use OpenJDK from the default Linux repository and it runs perfectly.
Is there way to set Java version 11 for thinkorswim only and let everything else run the latest?
great article. very helpful. thanks
I think you mean to say use java 17 for thinkorswim, not java 11.
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
works today/usr/lib/jvm/java-11-openjdk-amd64/bin/java
does NOT work today.This helped me out, thanks. I’ve been running ToS on Ubuntu 20.04 for quite a long time without any issues. Suddenly though, it wouldn’t launch, and instead it would end with a dialog error saying “Zulu OpenJDK 17.0.10 is required to start the application. Please update Java and ensure it is the first JRE available in your system path.”
When I checked
sudo update-alternatives --config java
, it showed that the currently selected version was/usr/lib/jvm/zulu-21-amd64/bin/java
…. which confused me at first, because I couldn’t understand why it would complain about needing version 17, when I already had a superseding version installed.And then it clicked: I need to install the older version. I was assuming that later/newer openjdk versions would be backwards compatible, and that was a faulty belief.
So I just installed the apt package suggested in this post,
openjdk-17-jre
, and then used theupdate-alternatives
command to select that version. After that I was able to launch ToS again and it ran perfectly.Thank you again! I had searched several times already and this post is the one that made me realize that I should just try to install that older version.
Thanks for the guide. I did all steps right (same guide on the official ToS website. Enabled Java 17 but I still got this error. Does anyone have any experience with it?
Same issue, had it working once but never got the main screen, just saw the ALT-F? comments, reinstalled now can’t get it to work again. Ubuntu24, openjdk17, downgrading to U22 and trying.
I hit my head on the wall for like a day on this one. I thought there may have been some files that thinkorswim left behind and that’s why reinstalling broke it.
The version that the `thinkorswim_installer.sh` installs needs Zulu 11, once you start thinkorswim, it updates to a newer version that needs Zulu 17. Which I must have installed to run the latest version. After uninstalling and reinstalling, you need to remove zulu 17 and make sure you have zulu 11 still
make sure your default version is zulu11 with `java –version`
run the installer, start it up and have it update, it’ll error saying it needs zulu 17, reinstall zulu 17, rerun the TOS bin, great success
Thanks AVG that worked. It took some back and forth with the java –config but it finally worked. zulu 17 causes all the problems it seems. Zulu11 to get it installed, after first error when starting change zulu config, updates may seem locked up, just let it run.
working with this setup:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
————————————————————
* 0 /usr/lib/jvm/zulu-17-amd64/bin/java 2175200 auto mode
1 /usr/lib/jvm/zulu-11-amd64/bin/java 2116600 manual mode
2 /usr/lib/jvm/zulu-17-amd64/bin/java 2175200 manual mode
Press to keep the current choice[*], or type selection number:
Same issue TOS does’nt like jar-17 thing … called Schwab…they told me to pound sand!!!!!!! need some developers/programmers to fix this for us !!!!!!!!!!!!!!!!!!11
@Martin @Willis @TazMan Two things:
1) Make sure
java -version
looks something like this:2) Check your thinkorswim.vmoptions file and make sure it has the necessary
--add-opens
options. Here is an example from a working file:Failed to get field handle to update java.library.path
in
suit.log
so… how to fix?
client.out
That looks like java issues.
running this command what do you get?
sudo update-alternatives –config java
Have always run TOS on Linux, recently am running into issues, stuck at “installing updates” but nothing happens, then eventually I get:
I’ve been playing with thinkorswim.vmoptions, even using example above, but always same thing.
Curiously, if I run using “sudo” it runs just fine.
Anyone have any idea?
Ah, apparently if I disable “Network Proxy” in System Settings for Gnome, TOS starts up normaly.