Visa obesvarade inlägg | Visa aktiva trådar Aktuellt datum och tid: 28 jan 2021, 12:48



Svara på tråd  [ 4 inlägg ] 
 Hur få pythonskript för gnome att funka i unity 
Författare Meddelande

Blev medlem: 22 nov 2009, 15:41
Inlägg: 394
Ort: Torslanda
OS: Ubuntu
Utgåva: 20.04 Focal Fossa LTS
Svara med citat
Inlägg Hur få pythonskript för gnome att funka i unity
Hello,

Jag anpassade en gång ett tillängligt skript till att skapa en procedur för autobackup vid utloggning. Det är ett pythonskript som lägges i uppstartprogram för att känn av när kontot loggar ut för att då ropa på ett loggautbackup.sh som kör en inkrementell roterande rsync.

Nu när jag skulle återinföra denna procedur visade det sig att det inte fungerar längre.

Tydligen är det så att när pythonskriptet skrevs var det gnome som var skrivbordsmiljön och därför händer inget nu i Unity. Körning i terminal svarar att vissa delar av gnome saknas.

Kan man enkelt skriva om pythonskriptet att passa för Unity alternativt installera något som behövs, eller är det bara att skapa manuell backup med programstartare som ropar på loggautbackup.sh?

Behövs fler detaljer? Let me know! :)

Tack på förhand!

EDIT 160307: Förtydligade att det inte är jag själv som skrivit skriptet

_________________
Oortodox generalist
1 x 20.04 Desktop, 2 x 18.04 Desktop, 2 x 18.04 Server


Senast redigerad av viper 07 mar 2016, 14:38, redigerad totalt 1 gång.



02 feb 2016, 14:29
Profil
Användarvisningsbild

Blev medlem: 08 feb 2009, 01:13
Inlägg: 3050
Ort: Luna
OS: Linux Mint
Utgåva: Vet inte/ingen utgåva passar
Svara med citat
Inlägg Re: Hur få pythonskript för gnome att funka i unity
Det bör vara möjligt att utföra följande "Kan man enkelt skriva om pythonskriptet att passa för Unity alternativt" Men då får du presentera ditt pythonskript så medlemmar i forumet som är duktiga på "Unity alternativt" kan bistå med hjälp om någon sådan är tillgänglig.


03 feb 2016, 13:49
Profil
Användarvisningsbild

Blev medlem: 05 apr 2008, 23:09
Inlägg: 5685
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Re: Hur få pythonskript för gnome att funka i unity
Förmodligen räcker det att installera de "vissa delar av gnome som saknas", det vill säga någon form av länkbibliotek. De flesta program som är utvecklade för Gnome eller KDE går ju som sådana bra att köra i Unity...

Vad skriver den mer exakt i felutskriften du får...?

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


03 feb 2016, 16:40
Profil WWW

Blev medlem: 22 nov 2009, 15:41
Inlägg: 394
Ort: Torslanda
OS: Ubuntu
Utgåva: 20.04 Focal Fossa LTS
Svara med citat
Inlägg Re: Hur få pythonskript för gnome att funka i unity
Hej igen!

Se nedan de efterfrågade exemplen:

Själva kodsnutten:
Kod:
#!/usr/bin/env python
#
#Original Author: Seamus Phelan
#
#This program runs a custom command/script just before gnome shuts
#down. This is done the same way that gedit does it (listening for
#the 'save-yourself' event).  This is different to placing scipts
#in /etc/rc#.d/ as the script will be run before gnome exits.
#If the custom script/command fails with a non-zero return code, a
#popup dialog box will appear offering the chance to cancel logout
#
#Usage: 1 - change the command in the 'subprocess.call' in
#           function 'session_save_yourself' below to be what ever
#           you want to run at logout.
#       2 - Run this program at every gnome login (add via menu System
#           -> Preferences -> Session)
#
#VERSION: pythonloggaut
#
#Code:

import sys
import subprocess
import datetime

import gnome
import gnome.ui
import gtk
import os
#import os.system(usr/lib/kontobackup)

class Namespace: pass
ns = Namespace()
ns.dialog = None


def main():
    prog = gnome.init ("gnome_save_yourself", "1.0", gnome.libgnome_module_info_get(), sys.argv, [])
    client = gnome.ui.master_client()
    #set up call back for when 'logout'/'Shutdown' button pressed
    client.connect("save-yourself", session_save_yourself)
    client.connect("shutdown-cancelled", shutdown_cancelled)


def session_save_yourself( *args):
    #Lets try to unmount all truecrypt volumes
#    retcode = subprocess.call("usr/lib/kontobackup.sh", shell=True)
#    retcode = os.system(/usr/lib/kontobackup.sh)
    retcode = os.system("/usr/lib/kontobackup.sh")
    if retcode != 0:
        #command failed 
        show_error_dialog()
    return True
#    if retcode !<> 0:
#        #command lyckades 
#        backup_in_progress()
#    return True


def shutdown_cancelled( *args):
    if ns.dialog != None:
        ns.dialog.destroy()
    return True




def show_error_dialog():
    ns.dialog = gtk.Dialog("There was a problem running your pre-shutdown script",
                           None,
                           gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
                           ("There was a problem running your pre-shutdown script - continue logout", gtk.RESPONSE_ACCEPT))
    if ns.test_mode == True:
        response = ns.dialog.run()
        ns.dialog.destroy()
    else:
        #when in shutdown mode gnome will only allow you to open a window using master_client().save_any_dialog()
        #It also adds the 'Cancel logout' button
        gnome.ui.master_client().save_any_dialog(ns.dialog)




#Find out if we are in test mode???
if len(sys.argv) >=2 and sys.argv[1] == "test":
    ns.test_mode = True
else:
    ns.test_mode = False

if ns.test_mode == True:
    main()
    session_save_yourself()
else:
    main()
    gtk.main()

Felmeddelandet jag får när jag försöker starta det i terminalen:
Kod:
Traceback (most recent call last):
  File "/home/administrator/Ubuntu/autobackup/pythonloggaut.py", line 30, in <module>
    import gnome
ImportError: No module named gnome

"line 30" om man räknar första raden som #1 är "import datetime"

Tack på förhand!
Per

_________________
Oortodox generalist
1 x 20.04 Desktop, 2 x 18.04 Desktop, 2 x 18.04 Server


21 feb 2016, 11:48
Profil
Visa inlägg nyare än:  Sortera efter  
Svara på tråd   [ 4 inlägg ] 

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 2 gäster


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
Main Engineer for phpBB3: Bertie at phpBB.com © 2000 - 2002, 2005 - 2007, the Group behind the Open Source code of phpBB.
Designed by STSoftware, modified by Katt, Konservburk & Peetra. Swedish translation by Peetra & phpBB Sweden © 2006-2011