Προς το περιεχόμενο

systemd-notify


mad-proffessor

Προτεινόμενες αναρτήσεις

Λοιπόν πείραξα το pam όπως είπες και τώρα:

ilias@archpc ~/systemd-denotify git:(master) ✗ ± sudo python2 setup.py
Traceback (most recent call last):
  File "setup.py", line 238, in <module>
    installer.addXuser_to_group()
  File "setup.py", line 93, in addXuser_to_group
    if login == stringify:
UnboundLocalError: local variable 'stringify' referenced before assignment
                                                                                                                                                                                                                   
ilias@archpc ~/systemd-denotify git:(master) ✗ ±

Το θέμα είναι αν αυτές οι αλλαγές χρειάζονται έτσι κι αλλιώς για να τρέξει το πρόγραμμα δεν νομίζω ότι είναι καλό να γίνουν στο PKGBUILD.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 122
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δε ξέρω τι γίνεται με το pam εγω μόλις έκανα clone το νέο link και εγκατασταθηκε κανονικά.

Μάλλον  το /etc/pam.d/usermod πρέπει να αλλάξεις παλι, δες στο

sudo journalctl -xb|grep systemd-denotify

-------------------------

Για αυτο που με ρωτησες πρέπει να τρέχει Xorg την ώρα της εγκατάστασης και επίσης ο χρήστης που γενικά τρέχει τον Χ πρέπει να είναι στο systemd-journal group για να τρέχει η εφαρμογή

 

------------------------

edit

cat /etc/pam.d/usermod

----------------------------------------

προσωρινά αν θες να τεσταρεις

sudo cp /etc/pam.d/usermod /etc/pam.d/usermod.back
sudo vim /etc/pam.d/usermod

βάλε αυτα:

auth required pam_permit.so 
account required pam_permit.so
session required pam_permit.so

βγες απο vim

sudo python2 setup.py

αν όλα πήγαν καλά

sudo cp /etc/pam.d/usermod.back /etc/pam.d/usermod
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επειδή απ' ότι κατάλαβα χρειάζεται περαιτέρω ρυθμίσεις για να τρέξει και επειδή τελικά δυστυχώς δεν έχω χρόνο για να ασχοληθώ αυτή τη στιγμή, πόσταρα χθες ένα υποτυπώδες PKGBUILD αν ενδιαφέρεται κάποιος και θα δίνω feedback όποτε μπορώ.

Btw, δες αυτά που σου είπα για το compatibility python2-python3. Μπορείς πολύ εύκολα να κάνεις όλο το project ανεξάρτητο της έκδοσης python και να παίζει και με τις δύο.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Θα έχω το νου μου(αν κ το module ConfigParser είναι δαιφορετικό στη python3 οπότε λίγο δύσκολο), τώρα ολοκλήρωσα τα βασικά που ήθελα και μάλλον θα κάνω merge το experimental στο master(προστίθονται βέβαια κάποιες παραπάνω deps αλλά η λειτουργικότητα είναι καλύτερη), μπορεί ο χρήστης να παρακολουθει recursively directories για αλλαγές σε φακέλους. Και όλα αυτα ελέγχονται απο ένα σημείο- το .conf αρχείο. Sweet

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν καποιος  απο arch ενδιαφέρεται να το κάνει πακέτο στο build branch  του github έχω μια version που θα κάνει εγκατάσταση- δε βάζει το χρήστη στο group που έβγαζε το λάθος πριν. Στο rpm που έφτιαξα εγκαταστάθηκε μια χαρά.

 

Λογικά https://projects.archlinux.org/abs.git/tree/prototypes/PKGBUILD-python.proto

αυτο θα δουλέψει παρέχοντας του στα depends και το python2-setuptools.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν κάποιος κάνει build σε debian/ubuntu και βγάλει .deb (έχω οδηγίες στο README του build branch) να μου πει να γράψω στο README τι πρέπει να γίνει ακριβώς. Επίσης περιμένω και απο έναν archer να μου δώσει το PKGBUILD και οδηγίες για να γίνει merge το build στο master.  Πριν γίνουν όλα αυτα να βεβαιωθείτε οτι το apt-get remove systemd-denotify και το αντίστοιχο του pacman αφαιρουν τα αρχεία στο /etc,/etc/xdg/autostart/,/usr/bin

Σε fedora δουλεύουν όλα όπως πρέπει με yum. Το μόνο που δεν κάνω είναι να βάζω το χρήστη στο group -το άφησα έτσι με οδηγίες στο .conf για όσες διανομές έχουν pam aware usermod.

Δεν έχω debian, ούτε arch θα τα έκανα εγω.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το παρακάτω σε Arch χτίζεται και εγκαθίσταται κανονικά:

 

 

pkgname=systemd-denotify
pkgver=r254.de1d483
pkgrel=1
pkgdesc='A set of python classes that provide desktop notification upon a user login and when a systemd service fails.'
arch=(any)
url='https://github.com/gkarakou/systemd-denotify'
license=('GPL')
depends=('python2' 'python2-dbus' 'python2-gobject' 'python2-notify' 'python2-systemd')
source=("${pkgname}::git+https://github.com/gkarakou/systemd-denotify")
md5sums=('SKIP')

pkgver() {
  cd "$pkgname"
  printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

package() {
  cd "$pkgname"
  git checkout build
  python2 setup.py install --root="${pkgdir}/"
}

 

 


Πως υποτίθεται θα ελέγξω αν τρέχει σωστά το πρόγραμμα;
Επίσης γιατί έχεις ξεχωριστώ build branch;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Κάνε  logout και μετα login θα πρέπει να σε ενημερώσει με notifications για τα status των 2 services(systemd-logind,systemd-journald).

Το build το ξεχωριστό είναι για backwards compatibility με οσους έχουν τη παλιά version με το custom installer μου. Περιμένω και έναν απο debian που το έχτισε για να κάνω merge στο master το build.

 

 

 

-----------------------------------------------------------------------

A ναι και στα depends ξέχασες να βάλεις python2-pyinotify

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το έκανα αλλά δεν είδα κάποιο notification. Χρησιμοποιώ lxde που by default, δεν χρησιμοποιεί notifications - φαντάζομαι δεν έχει εγκατεστημένο κάποιο πακέτο. Καμιά ιδέα τι λείπει;

Επίσης αν βάλω το python2-pyinotify, το python2-notify βγαίνει τελείως; Τα άλλα dependencies είναι εντάξει; Ξέχασα να βάλω και το git στα makedepends.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Σου λείπει σίγουρα το python2-pyinotify(πρέπει ο kernel σου να υποστηρίζει το CONFIG_INOTIFY_USER που κάνει monitoring το filesystem για αλλαγές στα αρχεία).

Θα δεις στο

journal -xb|grep systemd-denotify 

τι γίνεται.

Η αλήθεια είναι οτι τα notifications έρχονται απευθείας απο το notification server σε gnome(LIBNOTIFY σίγουρα χρειάζεται) , εγω κάνω import απο gi.repository που παρέχεται απο το πακέτο python2-gobject. Ισως το πακέτο python2-notify είναι αχρείαστο αλλά η σύνταξη είναι πανομοιότυπη στο pypi site, ο ίδιος κώδικας είναι(αν και κάτι μου λέει οτι μάλλον κάνει import απο αυτό το gobject).

Απο εκει και πέρα στα makedepends πάει μάλλον και το python2-setuptools μόνο για να χτιστει το πακέτο χρειάζεται μετα δε χρησιμοποιείται καθόλου.

Περίμενε να δω λίγο και τα του libnotify


Λοιπόν σίγουρα θες αυτά:

libnotify, notification-daemon

και τα bindings του libnotify είναι το python2-notify

άσχετα αν εγω κάνω import απο gi.repository εσυ βάλτο στα depends


Δες στο git build branch το README, το έκανα update. Υποθέτω το μόνο που λείπει είναι ο Xorg αν και μάλλον ένα απο libnotify notification-daemon θα το τραβήξει σαν dependency

Επεξ/σία από mad-proffessor
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Λοιπόν, εγκατέστησα έναν άλλον notification server (τον dunst) και δούλεψε μια χαρά.
Νομίζω ότι είναι καλύτερα να εγκαθιστά μόνο την libnotify και όχι τον notification-daemon γιατί όπως είπες ο καθένας μπορεί να χρησιμοποιεί τον δικό του.

Μπορώ να βγάλω να εμφανίζεται ένα μήνυμα για υπενθύμιση μετά την εγκατάσταση του πακέτου ότι χρειάζεται κάποιος notification-server εγκατεστημένος.

Edit:
https://wiki.archlinux.org/index.php/Desktop_notifications#Usage_in_programming
Αν δεις εκεί που λέει για python, σαν dependencies αναφέρει μόνο libnotify και python2-gobject.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν έχεις πρόσβαση σε κάποιο ρεπο (aur το λέτε αυτο που έχει τα μη απαραίτητα/extra?)που ανεβάζεις πακέτα και θες να το ανεβάσεις ευχαρίστως. Ξαναδες το παραπάνω μου μήνυμα το έκανα κάμποσες φορες edit και στο README του git build έχω όλα τα deps του arch.

Aν κ νομίζω ότι το inotify σίγουρα είναι ενεργοποιημένο (y) στο kernel config δοκίμασε να γράψεις σε ένα αρχείο μέσα στο /etc/systemd/ και δες οτι ειδοποιεί.

------------------------------------------------

Αν θες να τεστάρεις διεξοδικά:

Πάνε στο /etc/systemd-denotify.conf και κάνε όλα τα start =Τrue

Κάνε login με άλλο user στο tty2, και επέστρεψε στο desktop(->ειδοποίηση)

Κάνε sudo killall υπηρεσία(->ειδοποίηση)

Ανα 30 λεπτα status υπηρεσιών(->ειδοποίηση)

Γράψιμο σε αρχείο στα /etc/systemd/*, /usr/lib/systemd/*(->ειδοποίηση)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Θα το ανεβάσω στο AUR μόλις το σταθεροποιήσεις λίγο. :P (όχι το πρόγραμμα, αλλά τον τρόπο εγκατάστασης)
Τελικά θα κάνεις merge το build branch στο master;

Τα περισσότερα test που λες δουλεύουν κανονικά (τα άλλα δεν τα δοκίμασα).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν αλλάζει κάτι αυτό είναι το τελικό. Θα το κάνω merge όταν ένας απο debian/ubuntu το χτίσει και το εγκαταστήσει. Έχω ανεβάσει αναλυτικές οδηγίες στο README του build branch στην ενότητα DEBIAN/UBUNTU. Copy-paste θα κάνουν, μόνο στο dpkg θα ψάξουν στο directory που έγινε το build πως ονομάστηκε η τελική έκδοση.

 

Να πω ότι το έχτισα και το εγκατέστησα μέσω yum στο laptop που τρέχει fedora20 kde και απο όλα τα dependencies μόνο το python-inotify μου κατέβασε, όλα ήταν εγκατεστημένα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν καταλαβαίνω γιατί δεν κάνεις από τώρα το merge. Αφού έτσι δουλεύει μια χαρά το πρόγραμμα και με πολύ πιο εύκολο τρόπο εγκατάστασης. Αν υπάρξει κάποιο θέμα με το χτίσιμο σε ubuntu (και φταίει το πρόγραμμα), σε ενημερώνουν και κάνεις τις αλλαγές upstream.

Αν φοβάσαι ότι μπορεί να χαλάσεις τα άλλα "rolling" πακέτα μπορείς αν θες να χρησιμοποιήσεις git tags για σταθερές εκδόσεις, και να ζητάς απ' τους packagers να βασίζονται εκεί.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...