/usr/bin/epoptes is in epoptes 0.5.10-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | #! /usr/bin/python
# -*- coding: utf-8 -*-
###########################################################################
# Launch the epoptes UI.
#
# Copyright (C) 2011 Alkis Georgopoulos <alkisg@gmail.com>
#
# 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 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FINESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# On Debian GNU/Linux systems, the complete text of the GNU General
# Public License can be found in `/usr/share/common-licenses/GPL".
###########################################################################
import os
import os.path
import sys
import gtk
import epoptes
# cd to the epoptes directory, so that all paths are relative
os.chdir('/usr/share/epoptes')
if len(sys.argv) > 1:
if sys.argv[1] in ('--version', '-version'):
print "Epoptes %s" % epoptes.__version__
sys.exit(0)
# Do these potentially expensive imports now we know the environment is sane
from twisted.internet import gtk2reactor
gtk2reactor.install()
from twisted.internet import reactor
from twisted.internet.protocol import ClientCreator
from twisted.protocols import amp
from epoptes.daemon import uiconnection
from epoptes.ui import gui
from epoptes.common import config
epoptesGui = gui.EpoptesGui()
path = os.path.expanduser('~/.config/epoptes/')
if not os.path.isdir(path):
os.makedirs(path)
def connectionFailed(failure):
msg = _("An error occurred while trying to connect to the epoptes service:")
msg += ' <i>' + failure.value.message + '</i>\n\n'
print "Connection with epoptes failed:", failure.value.message
# Permission denied error
if failure.value.osError == 13:
msg += _("User %s must be a member of group %s to run epoptes.") % \
(os.environ['USER'], config.system['SOCKET_GROUP'])
# No such file error
elif failure.value.osError == 2:
msg += _("Make sure the epoptes service is running.")
dlg = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_OK)
dlg.set_markup(msg)
dlg.set_title(_('Service connection error'))
dlg.run()
dlg.destroy()
reactor.stop()
d = ClientCreator(reactor, epoptes.daemon.uiconnection.Daemon, epoptesGui).connectUNIX(config.system['DIR'] + "/epoptes.socket")
d.addErrback(connectionFailed)
reactor.run()
|