46 lines
1.6 KiB
Python
46 lines
1.6 KiB
Python
from apport.hookutils import *
|
|
import os
|
|
|
|
def is_process_running(proc):
|
|
'''
|
|
Determine if process has a registered process id
|
|
'''
|
|
log = command_output(['pidof', proc])
|
|
if not log or log[:5] == "Error" or len(log)<1:
|
|
return False
|
|
return True
|
|
|
|
def add_info(report):
|
|
attach_related_packages(report, ['mutter-common'])
|
|
|
|
attach_gsettings_package(report, 'gnome-shell-common')
|
|
attach_gsettings_package(report, 'gsettings-desktop-schemas')
|
|
attach_gsettings_package(report, 'mutter-common')
|
|
attach_gsettings_schema(report, 'org.gnome.settings-daemon.plugins.color')
|
|
attach_gsettings_schema(report, 'org.gnome.settings-daemon.peripherals.touchscreen')
|
|
|
|
try:
|
|
monitors = os.path.join(os.environ['XDG_CONFIG_HOME'], 'monitors.xml')
|
|
except KeyError:
|
|
monitors = os.path.expanduser('~/.config/monitors.xml')
|
|
|
|
attach_file_if_exists(report, monitors, 'monitors.xml')
|
|
|
|
result = ''
|
|
|
|
dm_list = apport.hookutils.command_output(['sh', '-c',
|
|
'apt-cache search \"display manager\" | cut -d \' \' -f1 | grep -E \"dm$|^gdm3?\\b\"'])
|
|
|
|
for line in dm_list.split('\n'):
|
|
if (is_process_running(line)):
|
|
result = line
|
|
break
|
|
|
|
report['DisplayManager'] = result
|
|
|
|
if command_available('journalctl') and os.path.exists('/run/systemd/system'):
|
|
report['ShellJournal'] = command_output(['journalctl',
|
|
'/usr/bin/gnome-shell',
|
|
'-b', '-o', 'short-monotonic',
|
|
'--lines', '3000'])
|