Coming over from windows again. I’ve got pretty much everything figured out. I even got a VM going with my CAD software so I don’t need to switch between Windows! I was super proud of myself on that one. The last thing I’m having trouble with…
I use pdfxchange for my PDF editor. It works great in wine but they don’t have a specific Linux release. (If there is a good PDF editor that is Linux native let me know, I need good Mark up and dimensioning tools that can scale off of the drawings). I’m trying to set it to open PDFs by default but can’t figure it out. Does someone have a good (easy) way to do it?
TLDR, scroll down to the script. Make a .sh file, allow it to run as a program, set it as your default program to open whatever filetype
Navigate to the appropriate/your favorite folder to store portable applications. Make the below script as a new file called WhateverYouWant.sh
Fellow newbies, the .sh is important.
Then set this .sh file’s permissions to allow executing this file as a Program; may differ by distro.
# Script to set a windows application (that runs through WINE) as the default to open PDF files:
# PURPOSE: To convert Linux-style filename to Windows-style
# to pass as an argument to wine when starting PDF XChange Viewer
Filename="z:"${1//\//\\}
# Assuming you use the default installation folder for PDF
# XChange Viewer in Wine
App='eval wine "C:\Program Files\Filepath\To\Your\PDFXEdit.exe" "'$Filename'"'
# Adapted originally from:
# Additional credit in 2024:
https://web.archive.org/web/20150213210206/http://crunchbang.org/forums/viewtopic.php?pid=173574#p173574
https://web.archive.org/web/20150213210203/http://www.fsavard.com/flow/2009/03/pdf-annotation-under-linux-with-wine-and-pdf-xchange-viewer/
You can also check the appropriate windows-formatted filepath with Winetricks, using its built in windows File Explorer, finding your .exe, and copying the path starting from "C:".
[Edit: the default install folder in the script would normally be C:\Program Files, my bad. I downloaded the portable version and shoved it wherever, so my filepath looks like “C:\users\Froggy\Documents\PDFXchange test01\PDFXEdit.exe”]
Mint Cinnamon 21:
- right click your shell script file, Properties > Permissions > check on “Allow executing file as program”.
- Then find a PDF file (or whatever filetype), right click, Open With > ‘Other Application…’ > browse for this .sh file you just made.
- After selecting this .sh file, be sure to select “Set as default” before clicking OK.
I could not tell you for the life of me why this didn’t work with a .desktop file on Mint 21.
I spent the past few hours down the wrong rabbit holes with .desktop and exec=wine ‘filepaths’ and just about died of asphyxiation from absolutely nothing happening. I’ve been wanting to do the same thing too for a while, but decided that right before bedtime was the perfect time to look it up.
[Edit: I figured out spacing in the script. Also moved the Mint specific instructions down the comment for flow clarity]