/linux/vns
Textractor on Linux
Using Textractor, a tool to extract text from Visual Novels to translate, on linux.
Setting up Textractor w/ VNs on Linux
I’ve recently full moved over to linux and one of the things I did not set up from my windows install is Textractor used with VNs for mining cards for my Anki.
Textractor is windows only, so I took a look around for other people’s setups:
- https://learnjapanese.moe/vn-linux/#set-up-textractor-to-launch-with-vn
- https://github.com/Mach565/linux-textractor-steam
I’m currently going through ATRI right now, so running it is extremely simple. Real question is how do I get textractor to run with ATRI?
This is the script I ended up adjusting compared to the one that Mach565 made.
- Proton - Experimental is what worked for me.
- I used the textractor fork by https://github.com/Chenx221/Textractor
- Together with exSTATIC setup described here - https://donkuri.github.io/learn-japanese/mining/#visual-novel-setup
#!/usr/bin/env bash
# This bash script makes it easy to launch Textractor and hook into Steam games
# Two free Japanese Visual Novels are included to provide a sample of the
# format. You will likely need to add your own games here unless the defaults
# work for every game you play and you prefer using the appid.
if [[ -z $1 ]]; then
echo "No appid or name."
else
# Set the default Proton and Textractor here. Typically the latest Proton
# and the 32 bit version Textractor.
# You can override it for a specific app if needed.
proton="$HOME/.steam/steam/steamapps/common/Proton - Experimental/proton"
textractor="$HOME/textractor/x86/Textractor.exe"
# Set the default compat data path here (where all the wine prefixes are).
# You only need to override this on a per-game basis if you install your
# games on different drives.
compat_data_path="$HOME/.steam/steam/steamapps/compatdata"
# Default delay so the script can launc the game itself, defined here so it
# can be manually adjusted if a game takes a while to start
delay=5 # 20 seconds
case "$1" in
# If a different version of Proton/Textractor/Compat data path is needed,
# make sure to include the appid in the match too,
# otherwise it'll default to fallback below.
"Atri" | "1230140")
appid="1230140"
;;
"Narcissu" | "264380")
appid="264380"
# Example of how to override
proton="$HOME/.steam/debian-installation/steamapps/common/Proton - Experimental"
textractor="/path/to/other/textractor"
;;
# Use whatever name works for you, no need to type the full name out
"Higurashi 1")
appid="310360"
;;
# If no other matches, fall back on using the App ID.
*)
appid="$1"
;;
esac
# compat data
export STEAM_COMPAT_DATA_PATH="$compat_data_path/$appid"
export WINEPREFIX="$STEAM_COMPAT_DATA_PATH/pfx"
cmd=("$proton" runinprefix "$textractor")
steam -applaunch $appid
sleep $delay
"${cmd[@]}"
fi