Κατά το άνοιγμα ενός ήδη αποθηκευμένου αρχείου writer στου client, τις περισσότερες φορές (όχι πάντα) ανοίγει το συγκεκριμένο παράθυρο σφάλματος. Αν βέβαια κλείσουν το παράθυρο πατώντας το x τότε ανοίγει κανονικά το αρχείο. Αλλά είναι πολύ κουραστικό κάθε φορά να λες στους μαθητές τι να κάνουν. Ή να βλέπουν το σφάλμα και να σε ρωτάνε κάθε φορά (!!) :o
Το μήνυμα σου λέει ότι το Writer έκλεισε χωρίς να αποθηκευτούν οι αλλαγές στο αρχείο. Σου προτείνει να κάνεις ανάκτηση του αρχείου.
Για να σταματήσει το μήνυμα, θα πρέπει να κάνεις αυτό που σου ζητάει, όχι να το κλείνεις από το [X].
Μήπως κάνεις επανεκκίνηση τον client ενώ το Writer είναι ανοιχτό; Αν το κάνεις αυτό θα βλέπεις το μήνυμα συνέχεια.
Επανέρχομαι, γιατί αντιμετώπισα την ίδια περίπτωση: Ακόμα κι όταν κάνω ανάκτηση του εγγράφου, την επόμενη φορά που θα το ανοίξω θα ζητήσει ανάκτηση.
Αυτή τη φορά έκανα 'Απόρριψη' και μου έβγαλε ένα άλλο παραθυράκι, στο οποίο έλεγε να ανοίξω το αρχείο 'Μόνο για ανάγνωση' και να το ξανακλείσω, για να επανέλθει το αρχείο ανάκτησης.
Αυτό διόρθωσε το πρόβλημα.
Παράθεση από: ioakyriazis στις 17 Ιαν 2020, 10:01:15 ΠΜ
Αυτή τη φορά έκανα 'Απόρριψη' και μου έβγαλε ένα άλλο παραθυράκι, στο οποίο έλεγε να ανοίξω το αρχείο 'Μόνο για ανάγνωση' και να το ξανακλείσω, για να επανέλθει το αρχείο ανάκτησης.
Αυτό διόρθωσε το πρόβλημα.
Έχω την εντύπωση ότι και την επόμενη φορά, πάλι θα στο κάνει. Γενικά όμως είναι θεματάκι. Γιατί δεν είναι ότι συμβαίνει στον δικό μου υπολογιστή, οπότε να το κάνω μία φορά και μετά να μην ξανά εμφανιστεί. Είναι στα pc των μαθητών. Πολλά pc πολλοί χρήστες.
Κάτι άλλο πρέπει να συμβαίνει στον server κατά την εκτέλεση του writer. Σαν να "μπλέκονται" οι χρήστες μεταξύ τους. Σαν να νομίζει ότι κάθε φορά ανοίγει ένας χρήστης το πρόγραμμα (το οποίο ούτε κι αυτό συμβαίνει γιατί τελικά ο κάθε χρήστης αποθηκεύει το δικό του αρχείο writer.)
Τότε να διώξουμε τα προσωρινά αρχεία με το χέρι. Δώσε αυτό σε ένα τερματικό στον server:
sudo rm /home/student*/.~lock*
για να διώξει όλα τα προσωρινά αρχεία του libreoffice από τους χρήστες studentXX
Καλησπέρα.
Ακόμα και σε μένα που δεν έχω LTSP, συμβαίνει αυτό κατά κόρον. Και δεν έχω διαπιστώσει πότε συμβαίνει. Δεν είναι απαραίτητο να έχει κλείσει απότομα ο client με το αρχείο ανοιχτό. Το έχω δει να συμβαίνει και σε άσχετη φάση.
Τώρα αυτό που προτείνει ο ioakyriazis για χερουλάτη διαγραφή των lock αρχείων ίσως είναι καλό workaround. Με ένα σκριπτάκι ίσως στο boot.
Δείτε λίγο και το https://alkisg.mysch.gr/steki/index.php?topic=6850.0
Αν το κάνει συχνά, αξίζει να γίνει ένας wrapper /usr/local/bin/soffice, που θα σβήνει τα locks πριν τρέξει το /usr/bin/soffice. Έτσι η διαγραφή θα γίνεται την κατάλληλη στιγμή, όταν παν να ανοίξουν το libreoffice από τα μενού.
Συνήθως ξεκινάω εγώ το LibreOffice από τον Επόπτη, με
soffice --norestore
για να μην έχω θέματα με την Αυτόματη Ανάκτηση.
Αυτή είναι μια καλή λύση, αλλά
- θα πρέπει πάντα να είναι ο δάσκαλος εκεί, αντί να μάθουν οι μαθητές να το κάνουν &
- το σφάλμα βγαίνει ακόμα κι όταν ανοίγουν οι μαθητές από μόνοι τους συγκεκριμένο αρχείο
Καλημέρα!
Θα κάνω άλλη μια ερώτηση. Τοπικά στο raspberry, πού βρίσκονται αυτά τα lock αρχεία. Εχω αυτή τη στιγμή περίπτωση Writer που όταν ανοίγει, μου λέει για ανάκτηση εγγράφων, αλλά δεν μπορώ να βρω πού είναι αυτά τα lock αρχεία...
Κανονικά είναι στον προσωπικό φάκελο του χρήστη. Δε νομίζω να είναι διαφορετικά στο raspberry.
Είναι κρυφά αρχεία (ότι ξεκινάει με τελεία στο linux είναι κρυφό αρχείο), οπότε για να τα δεις θα πρέπει να δώσεις στο τερματικό ls -a, ή από το παράθυρο της εξερεύνησης (caja, nautilus, ...) με Ctrl + H ή από το μενού Προβολή -> Εμφάνιση κρυφών αρχείων.
Κι εγώ αυτά έχω κάνει. Δυστυχώς δεν υπάρχει τίποτα.
Ενώ σε άλλο client, ανοίγω αρχείο odt και βλέπω να δημιουργείται lock αρχείο. Κλείνω το αρχείο, εξαφανίζεται το lock. Όπως θα έπρεπε δηλαδή.
Άρα, μυριζομαι κάποιο bug. Δεν εξηγείται αλλιώς. Για την ώρα υιοθέτησα και γω τη λύση που προτείνεται εδώ
https://askubuntu.com/questions/553824/how-to-disable-locking-in-libreoffice
και θα δω πώς θα πάει. Ούτως ή άλλως, τα raspberry λειτουργούν ως single user mode. Τι μπορεί να πάει στραβά...
Σε αυτό το topic εμπλέκονται δύο θέματα. Ένα είναι η ανάκτηση σε περίπτωση βίαιου τερματισμού του LibreOffice, και ένα η αδυναμία ανοίγματος αρχείου γιατί παραπονιέται ότι είναι ανοικτό από άλλον, λόγω των αρχείων .lock.
Οι πληροφορίες ανάκτησης δεν σχετίζονται με τα .lock αρχεία τα οποία είναι για αποκλειστικό άνοιγμα αρχείου.
Η πρόταση του thanos λογικά λύνει το θέμα της ανάκτησης,
ενώ η πρόταση του ntalkos λογικά λύνει το θέμα των .lock αρχείων.
Λάμπρο εσύ δεν έχεις θέμα αποκλειστικής χρήσης αλλά ανάκτησης, οπότε μάλλον πρέπει να δοκιμάσεις τη λύση του Θάνου.
Ένας τρόπος να εφαρμόσουμε τη λύση του Θάνου ώστε να ισχύει και για το άνοιγμα με διπλό κλικ ή μέσω μενού, είναι οι παρακάτω εντολές:
sudo -i
printf '#!/bin/sh\npgrep soffice.bin >/dev/null || rm -f ~/.config/libreoffice/*/.lock\nexec /usr/bin/libreoffice --norestore "$@"\n' > /usr/local/bin/libreoffice
chmod +x /usr/local/bin/libreoffice
exit
Όποιος έχει LTSP θα χρειαστεί και δημοσίευση εικονικού δίσκου.
Με τις παραπάνω εντολές, φτιάξαμε έναν "wrapper" (περιτύλιγμα εκτελέσιμου) στο /usr/local/bin/libreoffice, ο οποίος έχει προτεραιότητα από το συνηθισμένο LibreOffice που βρίσκεται στο /usr/bin/libreoffice. Με αυτόν τον τρόπο δηλαδή μπορούμε να αλλάζουμε τις προεπιλεγμένες παραμέτρους των προγραμμάτων. Επιπρόσθετα, του βάλαμε να σβήνει τα αρχεία .lock για την περίπτωση που αναφέρει ο d_oikon παρακάτω.
Σε άλλο παράδειγμα, αν κάποιος θέλει να τρέχει το tuxtype fullscreen, πάλι θα έφτιαχνε έναν τέτοιο wrapper (και αυτό το κάνουν ήδη τα sch-scripts).
Αν το μετανιώσαμε και θέλουμε να σβήσουμε τον wrapper, δίνουμε:
sudo rm /usr/local/bin/libreoffice
Εφάρμοσα τον wrapper.
Ευχαριστώ!!
Παράθεση από: ioakyriazis στις 17 Ιαν 2020, 01:09:48 ΜΜ
Τότε να διώξουμε τα προσωρινά αρχεία με το χέρι. Δώσε αυτό σε ένα τερματικό στον server:
sudo rm /home/student*/.~lock*
για να διώξει όλα τα προσωρινά αρχεία του libreoffice από τους χρήστες studentXX
Προσωπικά εκτέλεσα την εντολή
sudo rm /home/*/.~lock* έτσι ώστε να πιάσει όλους τους φακέλους των μαθητών, μιας και οι φάκελοι δεν είναι της μορφής
student*, αλλά
a1-01...a1-13 έως st3-01...st3-13. Δεν ξέρω αν έκανα λάθος πάνω σε αυτό!
Παρόλα αυτά συνεχίζει το ίδιο να μου κάνει.
Μετά έκανα το εξής για να δω τι γίνεται με τα
lock αρχεία.
...Μπήκα ως μαθητής σε έναν από τους client, άνοιξα ένα αποθηκευμένο αρχείο writer και παρατήρησα (μέσα από τον server, στον φάκελο του μαθητή) ότι το αρχείο
.~lock. δημιουργείται κανονικά και όταν κλείσω το αρχείο από τον client τότε διαγράφεται το αρχείο
.~lock. που είχε δημιουργηθεί. Παρόλο όμως που διαγράφεται, όταν πάω πάλι να ανοίξω αρχείο LibreOffice (είτε writer είτε impress) πάλι βγάζει το ίδιο μήνυμα :( :-\
Παράθεση από: d_oikon στις 28 Ιαν 2020, 01:56:08 ΜΜ
Προσωπικά εκτέλεσα ...
Μετά απαυτό το μήνυμα έπεσαν κι άλλα πολλά. Ο alkisg διέκρινε οτι συζητιόνταν δύο λύσεις για δύο ξεχωριστα προβλήματα. Η λύση που εφαρμόζεις είναι για το κλείδωμα ενώ το δικό σου πρόβλημα είναι αυτό της ανάκτησης, σωστά? Δες κι εφάρμοσε την αντίστοιχη λύση.
Παράθεση από: alkisg στις 23 Ιαν 2020, 09:02:00 ΠΜ
Ένας τρόπος να εφαρμόσουμε τη λύση του Θάνου ώστε να ισχύει και για το άνοιγμα με διπλό κλικ ή μέσω μενού, είναι οι παρακάτω εντολές:
sudo -i
printf '#!/bin/sh\nexec /usr/bin/libreoffice --norestore "$@"\n' > /usr/local/bin/libreoffice
chmod +x /usr/local/bin/libreoffice
exit
Εφάρμοσα τα παραπάνω και πλέον δεν μου ανοίγει το μήνυμα για "ανάκτηση των αρχείων πριν την κατάρρευση".
Τώρα όμως μου εμφανίζεται (νομίζω όχι πάντα) το μήνυμα της εικόνας που επισυνάπτω. ???
Όταν πατάω το "Ναι" το αρχείο ανοίγει κανονικά ;)
Να επισημάνω ότι ο χρήστης "α2-09" που αναφέρεται στο μήνυμα, είναι ο ίδιος χρήστης που είναι συνδεδεμένος εκείνη τη στιγμή, στον οποίον εμφανίζει αυτό το μήνυμα :D
Αυτό τώρα είναι πιθανό να είναι τρίτο πρόβλημα. Κανονικά, όταν ένας χρήστης κάνει logout, τερματίζονται και όλες οι διεργασίες του. Όμως με τις αλλαγές που έφερε το systemd, μερικά περιβάλλοντα (desktop environments) μπερδεύονται και δεν τις τερματίζουν.
Οπότε είναι πιθανό ο χρήστης αυτός να έκανε login, logout με τις διεργασίες να κρύβονται χωρίς να τερματίζουν, και μετά δεύτερο login, και πλέον όντως το libreoffice να τρέχει δεύτερη φορά.
Για να ελέγξουμε αν αυτό είναι το πρόβλημα, τρέχουμε `ps -ef | grep libreoffice` και κοιτάμε αν όντως τρέχει τέτοια διεργασία.
Για να διορθώσουμε το πρόβλημα, πρέπει στο αρχείο /etc/systemd/logind.conf να θέσουμε
KillUserProcesses=yes
και να κάνουμε δημοσίευση εικονικού δίσκου και επανεκκίνηση του server.
Στο νέο LTSP που θα χρησιμοποιήσουμε το Σεπτέμβριο αυτό γίνεται αυτόματα.
Παράθεση από: alkisg στις 06 Φεβ 2020, 07:44:50 ΠΜ
Για να διορθώσουμε το πρόβλημα, πρέπει στο αρχείο /etc/systemd/logind.conf να θέσουμε
KillUserProcesses=yes
και να κάνουμε δημοσίευση εικονικού δίσκου και επανεκκίνηση του server.
Μετά από κάποιες μέρες λειτουργίας, το πρόβλημα σχεδόν λύθηκε. Δηλαδή, μετά και την αλλαγή KillUserProcesses=yes κάποιες φορές (όχι πάντα) εμφανίζει το ίδιο μήνυμα όπου πρέπει να επιλεγεί το "Ναι" για να ανοίξει το αρχείο.
Μήπως το κλείσιμο των διεργασιών γίνεται με το που ξεκινάει ο server και μετά κατά την διάρκεια της ημέρας παραμένουν κάποιες ανοικτές;
Σήμερα πάντως, από την πρώτη ώρα έβγαλε το μήνυμα σχεδόν σε όλους τους client. :-[
Δεν είναι ιδιαίτερο πρόβλημα να πατάνε κάθε φορά το "Ναι" ώστε να ανοίξει το έγγραφο. Απλά το αναφέρω ως γεγονός που παραμένει.
Ευτυχώς τα άλλα θέματα δεν εμφανίζονται πια ::)
Νομίζω το καλύτερο σ' αυτήν την περίπτωση είναι να έρθεις από το IRC (http://ts.sch.gr/wiki/IRC) να το δούμε με απομακρυσμένη βοήθεια, κατά προτίμηση την πρώτη ώρα που είμαστε σίγουροι ότι δεν τρέχουν παλιές διεργασίες.
Παράθεση από: alkisg στις 20 Φεβ 2020, 12:50:25 ΜΜ
Νομίζω το καλύτερο σ' αυτήν την περίπτωση είναι να έρθεις από το IRC (http://ts.sch.gr/wiki/IRC) να το δούμε με απομακρυσμένη βοήθεια, κατά προτίμηση την πρώτη ώρα που είμαστε σίγουροι ότι δεν τρέχουν παλιές διεργασίες.
ok. Σ΄ευχαριστώ. Θα σου στείλω προσωπικό μήνυμα.
@d_oikon, το πρόβλημα ήταν ότι οι μαθητές έκλειναν τον υπολογιστή χωρίς να κλείσουν το libreoffice.
Πρόσθεσα μια γραμμή στον παραπάνω wrapper ώστε να μην παραπονιέται γι' αυτό (αντί να προσπαθούμε να καταφέρουμε τους μαθητές να κάνουν ορθή έξοδο).
@alkisg Μετά από μερικές μέρες δοκιμών και χρήσης, μπορώ να πω ότι το πρόβλημα λύθηκε.
Σ' ευχαριστώ ;)