freedesktop.org - freedesktop.org
Art der Website |
Softwareentwicklungsmanagementsystem |
---|---|
Verfügbar in | Englisch |
Erstellt von | Verwüstung Pennington |
URL |
www |
Werbung | Nein |
Gestartet | März 2000 |
Aktueller Status | Online |
freedesktop.org ( fd.o ) ist ein Projekt zur Arbeit an Interoperabilität und gemeinsam genutzter Basistechnologie für Free-Software- Desktop-Umgebungen für das X Window System (X11) und Wayland auf Linux und anderen Unix-ähnlichen Betriebssystemen . Es wurde im März 2000 von Havoc Pennington, einem GNOME- Entwickler, der für Red Hat arbeitet, gegründet. Die Server des Projekts werden von der Portland State University gehostet , gesponsert von Hewlett-Packard , Intel und Google .
Weit verbreitete Open-Source- X-basierte Desktop-Projekte wie GNOME , KDEs Plasma Desktop und Xfce arbeiten mit dem Projekt freedesktop.org zusammen. Im Jahr 2006 veröffentlichte das Projekt Portland 1.0 (xdg-utils), eine Reihe gängiger Schnittstellen für Desktop-Umgebungen. Freedesktop.org ist jedoch eine "Kooperationszone" für Standards und Spezifikationen, in der Benutzer Ideen frei diskutieren können, und keine formelle Standardisierungsorganisation.
freedesktop.org war früher als X Desktop Group bekannt , und die Abkürzung "XDG" bleibt in ihrer Arbeit gebräuchlich.
freedesktop.org ist 2019 der X.Org Foundation beigetreten .
Alle freedesktop.org-Projekte unterliegen dem Contributor Covenant- Verhaltenskodex, der darauf abzielt, eine Umgebung ohne Belästigung für Entwickler zu gewährleisten.
Gehostete Projekte
freedesktop.org bietet Hosting für eine Reihe relevanter Projekte. Diese beinhalten:
Fenstersystem und Grafik
Software im Zusammenhang mit Fenstersystemen und Grafiken im Allgemeinen
- Cairo , eine Vektorgrafikbibliothek mit geräteübergreifender Ausgabeunterstützung
- Direct Rendering Infrastructure (DRI), Linux-API für den Zugriff auf die Grafikhardware, die von X11 , Wayland Compositors , Mesa 3D usw. verwendet wird.
- Glamour , 2D-Grafiktreiber für den X-Server , unterstützt eine Vielzahl von Grafikchipsätzen mit Unterstützung für OpenGL / EGL / GBM- APIs
- Mesa 3D , eine Implementierung von OpenGL
- Pixman ist eine Low-Level-Softwarebibliothek für die Pixelmanipulation, die Funktionen wie Bildzusammenstellung und Trapezrasterisierung bietet. Wichtige Nutzer von pixman sind die Kairo Grafikbibliothek und der X.Org Server
- Poppler , eine PDF- Rendering-Bibliothek
- Videobeschleunigungs-API
- Wayland , Protokoll zum Ersetzen von X11; Features: kein Tearing , Lag, Redraw oder Flackern
- X.Org Server : die offizielle Referenzimplementierung des X11-Protokolls
- XCB , ein Xlib- Ersatz.
- Xephyr ist ein Anzeigeserver
Sonstiges
- D-Bus , ein Nachrichtenbus ähnlich DCOP (KDE 3) und Bonobo (GNOME 2)
- Elektra, eine Bibliothek zum Lesen und Schreiben von Konfigurationen
- FreeType , eine Bibliothek zum Rendern von Text.
- fontconfig ist eine Bibliothek zur Schrifterkennung, Namensersetzung usw.
- fprint, eine Bibliothek für Fingerabdruck-Lesegeräte für Verbraucher
- Geoclue, ein Geoinformationsdienst .
- GStreamer ist ein plattformübergreifendes Multimedia-Framework .
- GTK-Qt-Engine , eine GTK+2- Engine, die Qt verwendet, um die grafischen Steuerelemente zu zeichnen und das gleiche Aussehen und Verhalten von KDE-Anwendungen für GTK+2-Anwendungen bietet .
- HAL (Hardware Abstraction Layer) ist eine konsistente betriebssystemübergreifende Schicht; es ist veraltet und wurde durch udev ersetzt .
- kmscon , virtuelle Userspace-Konsole, um die Linux-Konsole zu ersetzen, verwendet KMS-Treiber und unterstützt Unicode
- luit , ein Tool, das von Terminalemulatoren verwendet wird
- libinput , eine Bibliothek zur Handhabung von Eingabegeräten in Wayland-Kompositoren und zur Bereitstellung eines generischen X.Org-Eingabetreibers. Es bietet Geräteerkennung, Gerätehandhabung, Ereignisverarbeitung und Abstraktion von Eingabegeräten, um die Menge an benutzerdefinierten Eingabecode-Compositors zu minimieren, die benötigt werden, um die allgemeine Funktionalität bereitzustellen, die Benutzer erwarten
- PulseAudio ist ein Soundserver-Frontend, das Software-Mixing, Netzwerk-Audio und Lautstärkeregelung pro Anwendung bietet.
- systemd ist ein umfassendes Init-Framework zum Starten und Verwalten von Diensten und Sitzungen, das ältere Init-Modelle ersetzen soll.
- Xft , Anti-Aliasing-Schriften, die die FreeType- Bibliothek anstelle der alten X-Core-Schriften verwenden.
- pkg-config ist ein Hilfsprogramm, das verwendet wird, um Flags für Compiler und Linker zu generieren, um notwendige Bibliotheken einzuschließen.
Auch Avahi (eine kostenlose Zeroconf- Implementierung) begann als fd.o-Projekt, ist aber seitdem zu einem separaten Projekt geworden.
Basisverzeichnisspezifikation
XDG Base Directory Specification (XDG BDS) führt eine Reihe von Variablen ein, in denen benutzerspezifische Dateien zu finden sind, die von Programmen verwendet werden Viele Tools und Anwendungen verwenden diese Variablen standardmäßig.
Benutzerverzeichnisse
Neben den unten erwähnten Variablen gibt XDG BDS auch an, dass lokale Binärdateien des Benutzers in $HOME/.local/bin
. Von Systemen, die der Spezifikation entsprechen, wird erwartet, dass sie in der Umgebungsvariablen der CLIPATH
verfügbar sind.
XDG_DATA_HOME
- Für eigene Datendateien der Benutzeranwendung
- Standard auf
$HOME/.local/share
XDG_CONFIG_HOME
- Für die Konfigurationsdateien der Benutzer-Apps
- Standard auf
$HOME/.local/config
XDG_STATE_HOME
- Für benutzerspezifische Apps-Sitzungsdaten, die für die zukünftige Wiederverwendung gespeichert werden sollten; die Standardeinstellung
$HOME/.local/state
kann Protokolle, zuletzt verwendete Dateien, anwendungsspezifische Informationen (z. B. Fensterlayout, Ansichten, geöffnete Dateien, Rückgängig-Verlauf usw.) enthalten; ähnlich den Sitzungsdaten, die von der App auf Anfrage des Systemsitzungsmanagers gespeichert werden sollten, z. B. X-Sitzungsmanager XDG_CACHE_HOME
- Für benutzerspezifische Apps-Cache-Dateien; standardmäßig auf
$HOME/.cache
XDG_RUNTIME_DIR
- Für benutzerspezifische Apps-Laufzeitdateien wie Sockets, die Neustart-/Abmeldezyklen überstehen können;
Systemverzeichnisse
XDG_DATA_DIRS
- Doppelpunkt separate Liste von nach Präferenzen geordneten Pfaden, in denen Datendateien durchsucht werden sollen; standardmäßig auf
/usr/local/share/:/usr/share/
XDG_CONFIG_DIRS
- Wie oben, aber für Konfigurationsdateien; standardmäßig auf
/usr/local/share/:/usr/share/
Angegebene Ziele
Das Projekt zielt darauf ab, Interoperabilitätsprobleme viel früher im Prozess zu beheben. Es dient nicht der Gesetzgebung formaler Standards. Angegebene Ziele sind:
- Sammeln Sie vorhandene Spezifikationen, Standards und Dokumente zur X-Desktop-Interoperabilität und stellen Sie sie an einem zentralen Ort zur Verfügung.
- Fördern Sie die Entwicklung neuer Spezifikationen und Standards, die von mehreren X-Desktops gemeinsam genutzt werden sollen.
- Integrieren Sie desktopspezifische Standards in umfassendere Standards, wie beispielsweise Linux Standard Base und ICCCM .
- Arbeiten Sie an der Implementierung dieser Standards in bestimmten X-Desktops.
- Als neutrales Forum für den Austausch von Ideen zur X-Desktop-Technologie dienen.
- Implementieren Sie Technologien, die die Interoperabilität von X-Desktops und kostenlose X-Desktops im Allgemeinen fördern.
- Bewerben Sie X-Desktops und X-Desktop-Standards bei Anwendungsautoren, sowohl kommerziellen als auch freiwilligen.
- Kommunizieren Sie mit den Entwicklern freier Betriebssystem-Kernel, des X Window-Systems selbst, freier Betriebssystem-Distributionen usw., um Desktop-bezogene Probleme zu beheben.
- Stellen Sie Quell-Repositorys ( git ) und CVS -Webhosting, Bugzilla , Mailinglisten und andere Ressourcen für freie Softwareprojekte bereit, die auf die oben genannten Ziele hinarbeiten.
Siehe auch
Verweise
Quellen
- Das große freedesktop.org-Interview (Rayiner Hashem & Eugenia Loli-Queru, OSNews, 24. November 2003)