Jump to content

Freedesktop.org: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Rescuing reference to fix cite error
Alue (talk | contribs)
m User directories: Correct default value of XDG_CONFIG_HOME
Line 74: Line 74:
;{{Code|XDG_CONFIG_HOME}}
;{{Code|XDG_CONFIG_HOME}}
: For user's apps configuration files
: For user's apps configuration files
:Default to {{Code|$HOME/.local/config}}
:Default to {{Code|$HOME/.config}}
;{{Code|XDG_STATE_HOME}}
;{{Code|XDG_STATE_HOME}}
: For user-specific apps session data, which should be stored for future reuse; default to {{Code|$HOME/.local/state}} it may include logs, recently used files, application specific information (e.g. window layout, views, opened files, undo history etc.); akin to session data that should be stored by app by request of system session manager, like [[X session manager]]
: For user-specific apps session data, which should be stored for future reuse; default to {{Code|$HOME/.local/state}} it may include logs, recently used files, application specific information (e.g. window layout, views, opened files, undo history etc.); akin to session data that should be stored by app by request of system session manager, like [[X session manager]]

Revision as of 17:15, 19 October 2021

Freedesktop.org
Type of site
Software development management system
Available inEnglish
Created byHavoc Pennington
URLwww.freedesktop.org/wiki/ Edit this at Wikidata
CommercialNo
LaunchedMarch 2000; 24 years ago (2000-03)
Current statusOnline

freedesktop.org (fd.o) is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operating systems. It was founded by Havoc Pennington a GNOME developer working for Red Hat in March 2000. The project's servers are hosted by Portland State University, sponsored by Hewlett-Packard, Intel, and Google.[1]

Widely used open-source X-based desktop projects such as GNOME, KDE's Plasma Desktop, and Xfce—are collaborating with the freedesktop.org project. In 2006, the project released Portland 1.0 (xdg-utils), a set of common interfaces for desktop environments.[2] However, freedesktop.org is a "collaboration zone" for standards and specifications where users can freely discuss ideas, and not a formal standards organization.[3]

freedesktop.org was formerly known as the X Desktop Group,[4][5] and the abbreviation "XDG" remains common in their work.

freedesktop.org joined the X.Org Foundation in 2019.[6]

All freedesktop.org projects are covered by the Contributor Covenant code of conduct which aims to ensure a harassment-free environment for developers.[7]

Hosted projects

freedesktop.org provides hosting for a number of relevant projects.[8][9] These include:

Windowing system and graphics

Software related to windowing systems and graphics in general

Other

  • D-Bus, a message bus akin to DCOP (KDE 3) and Bonobo (GNOME 2)
  • Elektra, a library for reading and writing configuration
  • FreeType, a text rendering library.
  • fontconfig is a library for font discovery, name substitution, etc.
  • fprint, a library for the consumer fingerprint reader devices
  • Geoclue, a geoinformation service.[12]
  • GStreamer is a cross-platform multimedia framework.
  • GTK-Qt engine, a GTK+ 2 engine which uses Qt to draw the graphical control elements, providing the same look and feel of KDE applications to GTK+2 applications.
  • HAL (Hardware Abstraction Layer) is a consistent cross-operating system layer; it has been deprecated and replaced by udev.
  • kmscon, userspace virtual console to replace Linux console, uses KMS driver and supports Unicode
  • luit, a tool used by terminal emulators
  • libinput,[13] a library to handle input devices in Wayland compositors and to provide a generic X.Org input driver. It provides device detection, device handling, input device event processing and abstraction to minimize the amount of custom input code compositors need to provide the common set of functionality that users expect
  • PulseAudio is a sound server frontend meant to provide software mixing, network audio, and per application volume control.
  • systemd is a comprehensive init framework to start and manage services and sessions meant to replace older init models.
  • Xft, anti-aliased fonts using the FreeType library, rather than the old X core fonts.
  • pkg-config is a helper program used to generate flags for compiler and linker to include necessary libraries.

Also, Avahi (a free Zeroconf implementation) started as a fd.o project but has since become a separate project.

Base Directory Specification

XDG Base Directory Specification (XDG BDS) introduces a range of variables where user-specific files used by programs should be found[14] Many tools and applications utilize these variables by default[15].

User directories

Beside variables mentioned below XDG BDS also specifies that user's local binary files may be installed into $HOME/.local/bin. Systems compliant with the spec are expected to make it available in CLI's PATH environment variable.[14]

XDG_DATA_HOME
For user application's own data files
Default to $HOME/.local/share
XDG_CONFIG_HOME
For user's apps configuration files
Default to $HOME/.config
XDG_STATE_HOME
For user-specific apps session data, which should be stored for future reuse; default to $HOME/.local/state it may include logs, recently used files, application specific information (e.g. window layout, views, opened files, undo history etc.); akin to session data that should be stored by app by request of system session manager, like X session manager
XDG_CACHE_HOME
For user-specific apps cache files; default to $HOME/.cache
XDG_RUNTIME_DIR
For user-specific apps runtime files like sockets which may survive reboot/logout cycles;

System directories

XDG_DATA_DIRS
Colon separate list of preference-ordered paths where to search data files; default to /usr/local/share/:/usr/share/
XDG_CONFIG_DIRS
The same as above but for config files; default to /usr/local/share/:/usr/share/

Stated aims

The project aims to catch interoperability issues much earlier in the process. It is not for legislating formal standards. Stated goals include:

  • Collect existing specifications, standards and documents related to X desktop interoperability and make them available in a central location.
  • Promote the development of new specifications and standards to be shared among multiple X desktops.
  • Integrate desktop-specific standards into broader standards efforts, such as Linux Standard Base and the ICCCM.
  • Work on the implementation of these standards in specific X desktops.
  • Serve as a neutral forum for sharing ideas about X desktop technology.
  • Implement technologies that further X desktop interoperability and free X desktops in general.
  • Promote X desktops and X desktop standards to application authors, both commercial and volunteer.
  • Communicate with the developers of free operating system kernels, the X Window System itself, free OS distributions, and so on to address desktop-related problems.
  • Provide source repositories (git),[16] and CVS[17] web hosting, Bugzilla, mailing lists, and other resources to free software projects that work toward the above goals.

See also

References

  1. ^ "Freedesktop". Freedesktop.org. Retrieved 27 April 2017.
  2. ^ Portland points desktop Linux at $10 billion market Archived October 12, 2006, at the Wayback Machine, DesktopLinux.com, 11 October 2006
  3. ^ "Freedesktop". Freedesktop.org. Retrieved 27 April 2017.
  4. ^ "X desktop group".
  5. ^ "Archived copy". Archived from the original on 2001-02-02. Retrieved 2013-08-26.{{cite web}}: CS1 maint: archived copy as title (link) CS1 maint: bot: original URL status unknown (link)
  6. ^ "X.Org To Join Forces With FreeDesktop.org While Foundation Elections Hit A Snag". Retrieved 9 September 2021.
  7. ^ "CodeOfConduct". Freedesktop Wiki. Retrieved 4 October 2021.
  8. ^ "FreedesktopProjects". freedesktop.org. Retrieved 2013-09-22.
  9. ^ "Software". freedesktop.org. Retrieved 2013-09-22.
  10. ^ "Glamor". freedesktop.org. 17 May 2013. Retrieved 31 October 2015.
  11. ^ "Pixman". pixman.org.
  12. ^ Wallen, Jack (6 December 2011). "DIY: Get top-quality open source security tools in one distro". News, Tips, and Advice for Technology Professionals. Retrieved 2019-06-21.
  13. ^ "[ANNOUNCE] libinput 0.4.0". freedesktop.org. 2014-06-24.
  14. ^ a b XDG Base Directory Specification, freedesktop.org, accessed: 2021-05-15.
  15. ^ "XDG Base Directory - ArchWiki". wiki.archlinux.org. Retrieved 2021-10-08.
  16. ^ "freedesktop.org git". Gitweb.freedesktop.org. Retrieved 2013-09-22.
  17. ^ "ViewVC Repository Listing". WebCVS.freedesktop.org. Archived from the original on 2013-10-08. Retrieved 2013-09-22.

Sources