Per-account RuneLite profiles using plain Linux users
The current Old School RuneScape metagame is pretty heavily dependant on the use of alt accounts. Efficient skilling needs a lot of money, and it's a waste of time to do money makers on your main account if you could be making money on an alt at the same time. RuneLite, the most popular client, does not support multiple profiles for having persistent settings for different accounts.
Thankfully, those using a decent operating system (i.e. Linux) can get around this pretty easily.
So on Linux, RuneLite stores its settings in
~/.config/runelite, so there's
user-level granularity. I want to be able to have different settings for
different accounts, so I can have separate launchers for each account that
remember that account's username, and (for example) have lower fidelity
graphics on my alt than my main.
Let's just do this my making a new user with its own home directory (obviously make more than one user if you want):
sudo useradd -m alt
Next, we want to make it so that our non-root user can run RuneLite as the
Now append the following to the file, assuming your main Linux user is
and your RuneLite client is at
ruscur ALL=(alt) NOPASSWD: /usr/bin/RuneLite *
This allows the user
ruscur to use
sudo to run the
command without a password. Note that a password hasn't been set for
there's no way to log into that user.
Now you can make a launcher that runs
sudo -u alt /usr/bin/RuneLite
and you're set...almost.
The issue that we're still faced with is that the
alt user does not have
permission to use our user's X display, which is fair enough. So, we need to
xorg-xhost if you don't already have it, run the above, and you've
alt user permission to use your X display. This will reset if the X
server restarts, so you might want to add it to your launcher script.
If you still have issues, make sure both the
environment variables are set (
DISPLAY should almost certainly be). Here's
an example script putting everything together:
#!/bin/sh # Launch RuneLite as the alt user export XAUTHORITY=~/.Xauthority xhost si:localuser:alt sudo -u alt /usr/bin/RuneLite
Repeat for as many alts as you want, and they now have their own settings, not
just for RuneLite but for
jagexcache too, which stores your username and local
client settings like Fixed/Resizable mode. You can set up separate Google
accounts for each alt too, so if you use multiple computers they can have their
RuneLite settings sync.
If anyone tries this and has issues (or can suggest an easier method), feel free to reach out. I decided that I'd much rather do it the simple UNIX way rather than mess around with containers.