Accessing the "registry" of other programs lazarus / 32-Linux ---------------------------------------------------------------------- EddeVries · 2026-05-15 13:39 I'm converting a number of programs from Windows to Linux (Mint). One of the programs reads/writes registry-values of a few other programs. In Windows, the registry is accessable by all programs, so this is not an issue. However, in Linux the "registry" is only accessable by its own program (/home/[user]/.config/[application_name]/reg.xml) Is there a way to point the registry to another reg.xml so it can read/write values in that file? Or can this only be done by using ini-files? ---------------------------------------------------------------------- Bart · 2026-05-15 21:04 Registry is an alien concept to linux. For cross-platform development I wouldn't use it. Bart ---------------------------------------------------------------------- valdir.marcos · 2026-05-15 23:11 Quote from: EddeVries on May 15, 2026, 03:39:51 pmI'm converting a number of programs from Windows to Linux (Mint). One of the programs reads/writes registry-values of a few other programs. In Windows, the registry is accessable by all programs, so this is not an issue. However, in Linux the "registry" is only accessable by its own program (/home/[user]/.config/[application_name]/reg.xml) Is there a way to point the registry to another reg.xml so it can read/write values in that file? Or can this only be done by using ini-files? Linux does not have a centralized registry like Windows; instead, applications typically use individual config files (INI, XML, JSON) located in ~/.config/. To allow one program to read/write another's data, you can use symbolic links to point to a shared file, shared folders with appropriate permissions, or adopt standard INI/configuration file practices, which are the native Linux equivalent. Here are the best ways to achieve cross-program data access on Linux: - Symbolic Links (ln -s): Point both applications to a single shared configuration file. If Program A writes to ~/.config/shared_settings.xml, you can create a link from Program B's expected path to that file. - Shared Configuration File: Instead of relying on /home/[user]/.config/[application_name]/, configure the applications to look for a shared file in a common directory, such as a dedicated folder in the user's home directory. - INI Files/Text Configuration: Linux relies heavily on plain text configuration files. Modifying or replacing your XML-based registry with a shared INI file (which can be edited using tools like sed or awk in scripts) is a robust and native approach. Beyond all that, my choice remains to use a local or remote database. For example, Firebird, which is free and open source: Firebird (free and open source): https://firebirdsql.org/ TurboBird IBX (Firebird admin tool, open source too) https://forum.lazarus.freepascal.org/index.php/topic,72948.msg580579.h tml#msg580579 https://github.com/mdadali/TurboBird/ https://github.com/mdadali/TurboBird/tags https://github.com/mdadali/TurboBird/releases ---------------------------------------------------------------------- valdir.marcos · 2026-05-15 23:12 Quote from: Bart on May 15, 2026, 11:04:29 pmRegistry is an alien concept to linux. For cross-platform development I wouldn't use it. Bart +1 ---------------------------------------------------------------------- EddeVries · 2026-05-31 10:32 Quote from: Bart on May 15, 2026, 11:04:29 pmRegistry is an alien concept to linux. For cross-platform development I wouldn't use it. Bart Yeah, I know, for new Linux programs I woudn't use it. But it's about existing Window-programs. ---------------------------------------------------------------------- EddeVries · 2026-05-31 10:39 QuoteHere are the best ways to achieve cross-program data access on Linux: Ok, thanks. I think the best way is to rewrite all programs to use shared INI-files. Future-proof, but a lot of work...