this post was submitted on 15 Aug 2024
32 points (100.0% liked)

Linux

47955 readers
1148 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] BlindFrog 7 points 2 months ago* (last edited 2 months ago) (1 children)

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.

#!/bin/bash

# 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'"'
$App

# Adapted originally from:
# http://sodeve.net/foxit-reader-on-ubuntu-linux-through-wine/
# Archive.org'd at: \https://web.archive.org/web/20160918205551/http://sodeve.net/2007/12/foxit-reader-on-ubuntu-linux-through-wine/
# Additional credit in 2024:
# https://forums.linuxmint.com/viewtopic.php?t=153092
# 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]

[–] tyrant 3 points 2 months ago

wow thanks, I'll give this a shot!