dissect.target.plugins.os.unix.applications

Module Contents

Classes

UnixApplicationsPlugin

Unix Applications plugin.

class dissect.target.plugins.os.unix.applications.UnixApplicationsPlugin(target: dissect.target.target.Target)

Bases: dissect.target.plugin.Plugin

Unix 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 None if the plugin is compatible with the current target (self.target). For example, check if a certain file exists. Otherwise it should raise an UnsupportedPluginError.

Raises:

UnsupportedPluginError – If the plugin could not be loaded.

applications() Iterator[dissect.target.helpers.record.UnixApplicationRecord]

Yield installed Unix GUI applications from GNOME and XFCE.

Resources:

Yields UnixApplicationRecord records 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