dissect.target.plugins.os.unix.applications¶
Module Contents¶
Classes¶
Unix Applications plugin. |
Attributes¶
- dissect.target.plugins.os.unix.applications.UnixApplicationRecord¶
- class dissect.target.plugins.os.unix.applications.UnixApplicationsPlugin(target: dissect.target.target.Target)¶
Bases:
dissect.target.plugin.PluginUnix Applications plugin.
- SYSTEM_PATHS = ('/usr/share/applications/', '/usr/local/share/applications/',...¶
- USER_PATHS = ('.local/share/applications/',)¶
- SYSTEM_APPS = ('org.gnome.',)¶
- desktop_files¶
- check_compatible() None¶
Perform a compatibility check with the target.
This function should return
Noneif the plugin is compatible with the current target (self.target). For example, check if a certain file exists. Otherwise it should raise anUnsupportedPluginError.- Raises:
UnsupportedPluginError – If the plugin could not be loaded.
- applications() collections.abc.Iterator[UnixApplicationRecord]¶
Yield installed Unix GUI applications from GNOME and XFCE.
References
https://specifications.freedesktop.org/desktop-entry-spec/latest/
https://unix.stackexchange.com/questions/582928/where-gnome-apps-are-installed
Yields
UnixApplicationRecordrecords with the following fields:ts_modified (datetime): timestamp when the installation was modified ts_installed (datetime): timestamp when the application was installed on the system name (string): name of the application version (string): version of the application author (string): author of the application type (string): type of the application, either user or system path (string): path to the desktop file entry of the application