注意:

The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.

GNOME/Internals

From Funtoo
Jump to navigation Jump to search

This page is intended for explaining the internal architecture of GNOME as well as sharing GNOME hacks.

GNOME Components

GNOME components are parts of GNOME (part of gnome-settings-daemon that are spawned by gnome-session when it starts. They provide services inside GNOME.

Disabling

The file /usr/share/gnome-session/sessions/gnome.session contains a line at the bottom of the file starting with RequiredComponents=, which lists services that GNOME will expect to be able to start. If it can't start one of these components, it will display a fatal error (sick computer) at startup and GNOME will not start.

Some of these so-called 'required' components can be turned off. For example, org.gnome.SettingsDaemon.UsbProtection can be turned off. To do this, first remove the reference to this component from the RequiredComponents line in the gnome.session file. Then, move /etc/xdg/autostart/org.gnome.SettingsDaemon.UsbProtection to a backup location, such as /root. The next time you log into your GNOME session, you will see that the gsd-usbguard process is no longer running, yet GNOME started just fine (since this component is no longer marked as 'required'.)

Components List (Incomplete)

org.gnome.SettingsDaemon.UsbProtection
This component 'guards' USB ports and informs you when someone has attached a USB device when your computer is asleep. It also does some disabling of USB devices when the system is asleep. Daemon name is gsd-usbguard. Can be turned off (see Disabling).
org.gnome.SettingsDaemon.Wacom
Implements functionality for tablets (assumption.) Can be turned off (see Disabling).
org.gnome.SettingsDaemon.SmartCard
Implements smart card support (assumption.) Can be turned off (see Disabling).
org.gnome.SettingsDaemon.Housekeeping
Provides a service to clean out the desktop thumbnail cache once daily.
org.gnome.SettingsDaemon.ScreenSaverProxy
Implements a dbus interface for Inhibit and Uninhibit (presumably to allow inhibiting of the screensaver.)
org.gnome.SettingsDaemon.Sound
Daemon is gsd-sound. Monitors for change of theme and caches sound samples in the theme.
org.gnome.SettingsDaemon.Dummy
This appears to be a component that can be used as a featureless replacement for another plugin. For example, gdm runs usr/libexec/gsd-dummy --dummy-name=org.gnome.SettingsDaemon.Smartcard.
org.gnome.SettingsDaemon.Color
This component implements color profile management functionality as well as a dbus API for the 'night light' functionality.
org.gnome.SettingsDaemon.Keyboard
Implements keyboard-related functionality including keyboard layouts, playing the "bell", key clicks, tracking keyboard idle time, and some interfaces related to on-screen keyboard and ibus.