Puncte:0

Problemă cu rularea scripturilor asociate prin systemd

drapel my

Am încercat să rulez automat trei scripturi asociate (lansator,set-app,checkapp.py) folosind timer systemd și serviciul systemd, primul script verifică scriptul python (aplicația gui) dacă rulează deja, după aceea repornește aplicația python gui, problema mea este când încerc să rulez serviciul systemd, închide aplicația gui

acesta este primul scenariu (lansator):

#!/bin/bash
/usr/share/checkapp/set-app 
iesirea 0

si acesta este al doilea (set-app):

#!/bin/bash
CHECK_PRO="$(ps -ef | grep '[p]ython3 /usr/share/checkapp/checkapp.py' | awk '{print $2}')"
if [ "${CHECK_PRO}" != "" ]; atunci
    ucide -9 $CHECK_PRO
    python3 /usr/share/checkapp/checkapp.py arată &
fi
iesirea 0

si acesta este ultimul (checkapp.py):

#!/usr/bin/env python3


import os
semnal de import
import gi
gi.require_version('Gtk', '3.0')
din gi.repository import Gtk ca gtk
din gi.repository import AppIndicator3 ca appindicator
gi.require_version('Gtk', '3.0')

APPINDICATOR_ID = „verificare aplicație”
app_ico = '/usr/share/checkapp/logo.svg'

def main():
    indicator = appindicator.Indicator.new(APPINDICATOR_ID, os.path.abspath(app_ico), appindicator.IndicatorCategory.SYSTEM_SERVICES)
    indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
    indicator.set_menu(build_menu())
    gtk.main()

def build_menu():
    meniu = gtk.Menu()
    software_cen = gtk.MenuItem('Centrul de software')
    software_cen.connect('activare', software_center)
    menu.append(software_cen) 
    menu.show_all()
    meniul de întoarcere

def software_center(sursa):
    os.system('pkexec /usr/sbin/synaptic')
if __name__ == "__main__":
    signal.signal(signal.SIGINT, signal.SIG_DFL)
principal()

iar acesta este checkapp.service fisier:

[Unitate]
Descriere=checkapp
[Serviciu]
ExecStart=/usr/share/checkapp/launcher

și asta este checkapp.timer fişier:

[Unitate]
Descriere=Rulează aplicația de verificare la fiecare 2 ore
RefuseManualStart=nu                       
RefuseManualStop=nu                       

[Temporizator]
OnBootSec=20
OnUnitActiveSec=120min
AccuracySec=1ms
Unit=checkapp.service

[Instalare]
WantedBy=timers.target

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.