В комментариях к вашему вопросу и ответу вы заявляете, что он пытается написать /etc/.java/.systemPrefs. Я не думаю, что это на самом деле правильно.
clazz = Class.forName('mypackage.myclass')
prefs = Preferences.userNodeForPackage(clazz);
# or Preferences.userRoot()
prefs.put('propertyname', 'yes')
Вы используете Preferences.userNodeForPackage, поэтому вы получите .userPrefs.
Они расположены в /home/[user]/.java и должны быть доступны для записи.
С помощью systemPrefs вы можете получить проблемы с правами на Linux. Настройки хранятся в /etc/.java/.systemPrefs по умолчанию. Если этот каталог недоступен (например, если вы просто скопировали jre в свою систему), класс FileSystemPreferences используется для записи
настройки возвращаются к [java.home] /. systemPrefs.
Вызывать prefs.flush () не нужно, так как настройки сохраняются в заданном интервале и при завершении вашей программы.