Apache/2.4.7 (Ubuntu) Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) safemode : OFF MySQL: ON | Perl: ON | cURL: OFF | WGet: ON > / usr / bin / | server ip : 172.67.156.115 your ip : 172.70.130.230 H O M E |
Filename | /usr/bin/apport-collect |
Size | 2.61 kb |
Permission | rwxr-xr-x |
Owner | root : root |
Create time | 27-Apr-2025 09:55 |
Last modified | 15-Apr-2014 23:37 |
Last accessed | 05-Jul-2025 15:55 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
#!/bin/sh -e
# Determine the most appropriate Apport user interface (GTK/KDE/CLI) and file a
# bug with it.
#
# Copyright (C) 2009 Canonical Ltd.
# Author: Martin Pitt <[email protected]>
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version. See http://www.gnu.org/copyleft/gpl.html for
# the full text of the license.
# Explicitly set the PATH to that of ENV_SUPATH in /etc/login.defs. We need do
# this so that confined applications using ubuntu-browsers.d/ubuntu-integration
# cannot abuse the environment to escape AppArmor confinement via this script
# (LP: #1045986). This can be removed once AppArmor supports environment
# filtering (LP: #1045985)
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
if [ "${0%-collect}" != "$0" ]; then
prefix=python
if ! python -c 'import apport' 2>/dev/null; then
echo "You need to run 'sudo apt-get install python-apport' for apport-collect to work." >&2
exit 1
fi
fi
# locate path of a particular program
find_program() {
for p in /usr/local/bin /usr/bin /usr/local/share/apport /usr/share/apport; do
if [ -x $p/$1 ]; then
RET="$prefix $p/$1"
return
fi
done
unset RET
}
# determine which UIs are available, and where
find_programs() {
find_program "apport-cli"
CLI="$RET"
find_program "apport-gtk"
GTK="$RET"
find_program "apport-kde"
KDE="$RET"
find_program "whoopsie-upload-all"
AUTO="$RET"
# find a terminal emulator
}
#
# main
#
find_programs
export APPORT_INVOKED_AS="$0"
if [ -n "$AUTO" ] && [ -e /var/lib/apport/autoreport ] ; then
$AUTO "$@"
# check for X
elif [ -z "$DISPLAY" ]; then
if [ -n "$CLI" ] ; then
$CLI "$@"
else
echo "\$DISPLAY is not set. You need apport-cli to make this program work." >&2
exit 1
fi
# do we have a running Gnome/KDE session?
elif pgrep -u `id -u` -x gnome-session >/dev/null && \
[ -n "$GTK" ]; then
$GTK "$@"
elif pgrep -u `id -u` -x ksmserver >/dev/null && \
[ -n "$KDE" ]; then
$KDE "$@"
# fall back to calling whichever is available
elif [ -n "$GTK" ]; then
$GTK "$@"
elif [ -n "$KDE" ]; then
$KDE "$@"
elif [ -n "$CLI" ]; then
if [ -z "$TERM" ] && [ -x "$XTERM" ]; then
"$XTERM" -e "$CLI" "$@"
else
$CLI "$@"
fi
else
echo "Neither apport-gtk, apport-kde, apport-cli, or whoopsie-upload-all are installed. Install either to make this program work." >&2
exit 1
fi
# Determine the most appropriate Apport user interface (GTK/KDE/CLI) and file a
# bug with it.
#
# Copyright (C) 2009 Canonical Ltd.
# Author: Martin Pitt <[email protected]>
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version. See http://www.gnu.org/copyleft/gpl.html for
# the full text of the license.
# Explicitly set the PATH to that of ENV_SUPATH in /etc/login.defs. We need do
# this so that confined applications using ubuntu-browsers.d/ubuntu-integration
# cannot abuse the environment to escape AppArmor confinement via this script
# (LP: #1045986). This can be removed once AppArmor supports environment
# filtering (LP: #1045985)
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
if [ "${0%-collect}" != "$0" ]; then
prefix=python
if ! python -c 'import apport' 2>/dev/null; then
echo "You need to run 'sudo apt-get install python-apport' for apport-collect to work." >&2
exit 1
fi
fi
# locate path of a particular program
find_program() {
for p in /usr/local/bin /usr/bin /usr/local/share/apport /usr/share/apport; do
if [ -x $p/$1 ]; then
RET="$prefix $p/$1"
return
fi
done
unset RET
}
# determine which UIs are available, and where
find_programs() {
find_program "apport-cli"
CLI="$RET"
find_program "apport-gtk"
GTK="$RET"
find_program "apport-kde"
KDE="$RET"
find_program "whoopsie-upload-all"
AUTO="$RET"
# find a terminal emulator
}
#
# main
#
find_programs
export APPORT_INVOKED_AS="$0"
if [ -n "$AUTO" ] && [ -e /var/lib/apport/autoreport ] ; then
$AUTO "$@"
# check for X
elif [ -z "$DISPLAY" ]; then
if [ -n "$CLI" ] ; then
$CLI "$@"
else
echo "\$DISPLAY is not set. You need apport-cli to make this program work." >&2
exit 1
fi
# do we have a running Gnome/KDE session?
elif pgrep -u `id -u` -x gnome-session >/dev/null && \
[ -n "$GTK" ]; then
$GTK "$@"
elif pgrep -u `id -u` -x ksmserver >/dev/null && \
[ -n "$KDE" ]; then
$KDE "$@"
# fall back to calling whichever is available
elif [ -n "$GTK" ]; then
$GTK "$@"
elif [ -n "$KDE" ]; then
$KDE "$@"
elif [ -n "$CLI" ]; then
if [ -z "$TERM" ] && [ -x "$XTERM" ]; then
"$XTERM" -e "$CLI" "$@"
else
$CLI "$@"
fi
else
echo "Neither apport-gtk, apport-kde, apport-cli, or whoopsie-upload-all are installed. Install either to make this program work." >&2
exit 1
fi