Hi there I hope I've used the right tag if not can you suggest another one please. Anyway I'm currently still a beginner with Ubuntu and I'm having problems with jstest-gtk.

I've installed jstest-gtk and I've managed to setup my afterglow Xbox 360 wired controller how I want, however when I go to save to profile it tells me it has saved it as "Profile 0" then I close the window but when I reopen jstest-gtk my profile is no longer in the drop down menu but my controller is still setup to how I want. When I restart my computer either from shut down or reboot my I have to setup my controller all over again and there is still no profiles saved in the drop down menu still. It is really annoying having to setup my controller every time I start Ubuntu.

If anyone can help I'll truly grateful.


After looking through the code, there doesn't appear to be any code to actually read the profiles. The profiles do get written to ~/.config/jstest-gtk/profile/profileX.xml.

This nifty program is v0.1.1. I'm not sure where this version number came from as the original developer only released v0.1.0. Chances are that the developer just never got around to writing the profile read/load code. The project appears dead now, with the last change on Github being a typo fix a year ago.

So, ultimately, it'll be up to somebody else to actually implement the profile reading/loading functionality in the program. However, you can use the written ~/.jstest-gtk/profile/profile1.xml as a reference to set the values as desired.


I have found a way to save these settings. Once you have your deadzones and everything configured in jstest-gtk, it automatically applies the settings using jscal. The joystick package that contains jscal also contains js-store, js-restore and udev rules for js-restore. So, in order to save your configuration you simply have to open a terminal and type this command:

sudo jscal-store /dev/input/js0

/dev/input/js0 is my joystick, but yours may be different

After running this command, when plugging in your joystick/joypad js-restore will automatically run thanks to the udev rules which will automatically restore the joystick profile made with jstest-gtk and saved with js-store into the file /var/lib/joystick/joystick.state.


For my version of jscal, the command to save was actually:

sudo **jscal-store** /dev/input/js0

But thanks Githlar; you got me on the right track.

I got the command from the manpage:


  • You are correct, that's for the heads up – Chuck R May 28 '15 at 6:08

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.