User:Nasdack/Thinkorswim

From ArchWiki

Thinkorswim by TD Ameritrade (branded as "thinkorswim" and often referred to as "tos") is a trading platform for stock, options and futures traders.

Installation

The factual accuracy of this article or section is disputed.

Reason: Installing by running installer scripts directly is messy and insecure. Make and install a PKGBUILD instead, even better upload it to the AUR, see also Java package guidelines. (Discuss in User talk:Nasdack/Thinkorswim)

While no official support exists for Arch Linux specifically, there is a broad installation approach for most Linux distributions.

Install both zulu-11-binAUR and zulu-17-binAUR. Both versions are required during the installation process.

Download the thinkorswim installation script, or get it by following the instruction given in the official website.

Execute the script by running:

$ sh thinkorswim_installer.sh

When prompted, it is recommended to install thinkorswim into your /home/$USER/thinkorswim directory to avoid permissions issues, rather than /opt/thinkorswim.

Java environment versioning

Setting default environment

For thinkorswim to work properly, it requires zulu-17-binAUR as the default java environment. Set it as default by executing:

$ archlinux-java set zulu-17

Explicitly configuring non-default environment

In case it it's not desirable to set zulu-17-binAUR as default java environment, it's possible to directly edit the ~/thinkorswim/thinkorswim startup shell script and provide path to JVM via environment variable INSTALL4J_JAVA_HOME_OVERRIDE:

#!/bin/sh

# Uncomment the following line to override the JVM search sequence
INSTALL4J_JAVA_HOME_OVERRIDE=/usr/lib/jvm/zulu-17
# Uncomment the following line to add additional VM parameters
# INSTALL4J_ADD_VM_PARAMS=

Post-installation

After successful installation and configuration, you can safely remove Zulu 11 if you don't need it for other applications:

$ sudo pacman -R zulu-11-bin

Configuration

Since thinkorswim is a Java application, creating a .desktop file in /.local/share/applications or /usr/share/applications is recommended as it enables application indexing.

Here is an example configuration. Replace the $USER parameter with your own username.

[Desktop Entry]
Type=Application
Name=thinkorswim
GenericName=Trading platform
Comment=Trading platform
Icon=thinkorswim
Exec=env app_java_home=/usr/lib/jvm/zulu-17 /home/$USER/thinkorswim/thinkorswim 
Path=/home/$USER/thinkorswim
Terminal=false
StartupNotify=true
Categories=Java;


Troubleshooting

If thinkorswim hangs on "installing updates" when starting up, configuring the system with some additional name servers to the system, e.g. Google's name servers, may resolve the issue.