I started off with Slic3r, which I found to be the best open-source slicer option. Well, the best option in general, really. It has advanced features, but also works just fine for basic stuff. It can publish directly to my OctoPrint server running on Raspberry Pi too, so it's super convenient. I first started using the "Prusa Edition" because it was less buggy and scaled better in Linux, but now the two have diverged even further, and it seems the best features and reliability are still with the now-named PrusaSlicer.
- Install the
prusa-slicer
package.- Files related to this app are stored in ~/.PrusaSlicer
Used for 3D modeling. Scales and functions perfectly at least since the 2019-05 release!
I know this isn't necessarily for 3D printing, but I use it for updating the firmware on my 3D printer.
Install arduino
and arduino-docs
packages.
To fix scaling:
- Go to
File
→Preferences
. - For
Interface scale
uncheckAutomatic
and enter your desired scale. - Click
OK
.
Menus and some dialogs still don't scale right. I've read about a solution involving a font setting in ~/.gtkrc-2.0
, but I couldn't get it to work for me.
I prefer to keep my home directory more organized; to change the directory for Arduino files:
- Go to
File
→Preferences
. - Change
Sketchbook location
; for example:/home/david/code/arduino
. - Click
OK
. - You may want to move the files from the original location, usually
~/Arduino
.
The latest version uses GTK3 and the UI elements scale in size nicely. However, there are still some issues with fonts in some places, but it is totally usable.
- Install the
audacity
package. - If you're using dark theme, it will look messed up at first. Go to
Edit
→Preferences
→Interface
and changeTheme
toDark
.
I had trouble getting audio to work on the Lenovo P50. None of the sound cards showed up in the list other than the ones over HDMI. I think it is because Audacity uses ALSA and requires exclusive access, whereas my Arch Plasma setup uses PulseAudio as a software mixing layer and probably monopolized the devices. Getting Audacity to use PulseAudio is a little wonky:
- Install the
alsa-plugins
package. - In Audacity, keep the host set to
ALSA
and set the playback and recording devices topulse
. - It will use the default devices configured in PulseAudio by default. To change, use
pavucontrol
or similar PulseAudio utility.
- GitAhead - seems pretty full-featured, but has a strange interface...
- SmartGit - so far, seems to be the most fully-featured; however, it is only free for personal use and not open source.
- Gitg - really simple and no push functionality, but otherwise nice.
- Git Cola - seems really customizable and may be nice if I can get used to it, but I can't seem to find out how to see a simple list of commits that shows tree structure.
- GitExtensions - Used to be cross-platform, but now is only for Windows. The old version is still available for Linux. It's ugly and has some scaling bugs, but sadly still works the best for me compared to the others.
- Install
gitextensions
AUR package. - Some work is needed to get it to prompt for SSH key passwords. This will set it up to work through KDE Wallet:
- Install
ksshaskpass
package, if it's not already installed. - Set
SSH_ASKPASS
variable to/usr/bin/ksshaskpass
by creating the file~/.config/plasma-workspace/env/askpass.sh
with the content:#!/bin/sh export SSH_ASKPASS='/usr/bin/ksshaskpass'
- Install
- TODO: Cover merge tool
- Some other settings:
Git Extensions
→Git Extensions
Show current working directory changes as an artificial commit
: CheckedUse FileSystemWatcher to check if index is changed
: CheckedClose Process dialog when process succeeds
: Checked
Git Extensions
→Appearance
Code font
:DejaVu Sans Mono, 10
- Install
- Add
multilib
pacman repository. - 32-bit OpenGL drivers are also needed. For AMD and Intel, install
lib32-mesa
, and for NVIDIA, installlib32-nvidia-utils
. - The locale
en_US.UTF-8
is required and must be generated. If you followed the instructions in this repository to install Arch Linux, you probably already have this locale unless you chose a different one. - Steam relies on Microsoft fonts; install
ttf-liberation
to get free substitutes. - Install
steam
package.
With the default setup, I have run into this error when trying to edit Markdown files: Tried to use preview panel provider (JavaFX WebView), but it is unavailable. Reverting to default.
Installing using this setup worked:
- Install
intellij-idea-community-edition-no-jre
AUR package. - Install Java 8 (
jdk8-openjdk
). - Make sure optional dependency
java8-openjfx
is installed. - In IntelliJ, install the
Choose Runtime
plugin. - Use the plugin to select the 1.8 runtime.
Once in a while after a major upgrade, IntellJ IDEA will crash right after starting it. If you run idea-ce
from the terminal, you'll see a message like this:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/intellij/idea/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)
The problem is that every time there is a new version, it uses a new configuration directory, but sometimes it's not smart enough to check the old configuration directory when first starting, and the default settings cause it to crash. I'm pretty sure it's the missing idea.jdk
file that's the problem, but I went ahead and copied the whole configuration directory to try to preserve as many settings as I can. Here's how to do it:
cd ~/.config/JetBrains
ls
- Look for the latest configuration directory, something like
IdeaIC2020.3
. pacman -Qs 'intellij-idea-community-edition*'
- See the version that's currently installed. It will say something like
2021.1-1
. We're interested in the2021.1
part. - Copy the latest configuration directory to a new directory named after the current version. For example,
cp -r IdeaIC2020.3 IdeaIC2021.1
.
If it still doesn't work, it may be because the new version of IntelliJ is no longer compatible with the configured JDK. In that case:
- You can test a different JDK version by setting the
IDEA_JDK
environment variable. For example:IDEA_JDK=/usr/lib/jvm/java-19-temurin intellij-idea-community-edition
- If it works, you can set the boot JDK version through IntelliJ. See: https://www.jetbrains.com/help/idea/switching-boot-jdk.html
- You can also edit the
idea.jdk
file inside the configuration directory. Its content is just the path to the JDK, same as the environment variable above.