Πρόβλημα με Scratch 3 και Pyscrlink σε Ubuntu 22.04

Ξεκίνησε από markakis, 24 Μαρ 2023, 09:58:52 ΠΜ

« προηγούμενο - επόμενο »

markakis

Παλιότερα είχα ανεβάσει οδηγίες στο θέμα Επικοινωνία Scratch 3 (Scratux) με LEGO WeDo 2.0 και EV3 στο Linux για τη χρήση του Pyscrlink στο Linux για την διασύνδεση του Scratch 3 (είτε ως εφαρμογής που υπάρχει στο αποθετήριο, είτε online scratch.mit.edu).

Μέχρι τώρα χρησιμοποιούσα χωρίς πρόβλημα το Pyscrlink στα εργαστήρια των σχολείων που διδάσκω αλλά χρησιμοποιώντας Ubuntu LTSP 20.04. Πριν ένα μήνα που αναβάθμισα σε 22.04 διαπίστωσα ότι εκεί έχουμε θέμα γιατί το Scratch 3 εμφανίζει σφάλμα σε σχέση με τα πιστοποιητικά.

Ανέφερα το πρόβλημα στο Github στον developer του Pyscrlink, αλλά μέχρι τώρα δεν έχει καταφέρει να βοηθήσει. Μάλιστα εκεί προστέθηκε και άλλο θέμα, πάλι σχετικό με τα πιστοποιητικά και την έκδοση 22.04 του Ubuntu.

Ανεβάζω και εδώ το όλο πρόβλημα μήπως και μπορέσει κάποιος να βοηθήσει.

Το πρόβλημα αναπαράγεται, χωρίς να χρειάζεται να έχουμε κάποιο από τα ρομποτάκια, ακολουθώντας είτε ως έχουν τις οδηγίες, είτε εγκαθιστώντας το Pyscrlink για συγκεκριμένο χρήστη όπως παρακάτω και τρέχοντάς το:

$ ~/.local/bin/scratch_link 
2023-03-23 10:41:12,603 Generated certificate: /home/administrator/.local/share/pyscrlink/scratch-device-manager.cer
2023-03-23 10:41:12,603 Generated key: /home/administrator/.local/share/pyscrlink/scratch-device-manager.key
2023-03-23 10:41:12,610 Add the new certificate to /home/administrator/.mozilla/firefox/4dcqe0oy.default-release
2023-03-23 10:41:12,634 Certificate is ready in FireFox NSS DB: /home/administrator/.mozilla/firefox/4dcqe0oy.default-release
2023-03-23 10:41:12,737 Add the new certificate to /home/administrator/snap/firefox/common/.mozilla/firefox/tdqcwntl.default
2023-03-23 10:41:12,778 Certificate is ready in FireFox(Snap) NSS DB: /home/administrator/snap/firefox/common/.mozilla/firefox/tdqcwntl.default
2023-03-23 10:41:12,793 Add the new certificate to /home/administrator/.pki/nssdb
2023-03-23 10:41:12,811 Certificate is ready in Chrome NSS DB: /home/administrator/.pki/nssdb
2023-03-23 10:41:12,863 Started scratch-link

Το σφάλμα εμφανίζεται τρέχοντας το Scratch 3, όταν προσθέσουμε μια επέκταση (όπως την LEGO Education WeDo 2.0) και πατήσουμε "Έναρξη Αναζήτησης"

$ scratch-desktop 
[7129:0323/104139.665559:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
(node:7144) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `exe --trace-deprecation ...` to show where the warning was created)
[7137:0323/104203.681672:ERROR:ssl_client_socket_impl.cc(981)] handshake failed; returned -1, SSL error code 1, net_error -100
[7137:0323/104203.693347:ERROR:ssl_client_socket_impl.cc(981)] handshake failed; returned -1, SSL error code 1, net_error -101


alkisg

Το πρόβλημα φαίνεται να είναι ότι το pyscrlink δεν καταφέρνει να τρέξει τον https server του σε Ubuntu 22.04. Ούτε το wget δεν καταφέρνει να επικοινωνήσει μαζί του.

Απάντησα στο issue: https://github.com/kawasaki/pyscrlink/issues/35#issuecomment-1483743846

markakis

Η παρέμβαση του Άλκη ήταν καταλυτική, καθώς διαπιστώθηκε ότι το πακέτο python3-websockets της διανομής, που περιλαμβάνει την έκδοση 9.1 του websockets, για κάποιο λόγο δεν δουλεύει σωστά με το pyscrlink και έτσι χρειάστηκε να αφαιρεθεί και να εγκατασταθεί μέσω pip η τελευταία έκδοσή του websockets (10.4).

Οι παρακάτω εντολές έλυσαν το πρόβλημα και μπόρεσα να συνδέσω το WeDo 2.0:
sudo apt purge python3-websockets
sudo pip install websockets

Θα κάνω μερικές δοκιμές ακόμα και θα διορθώσω/επικαιροποιήσω τις οδηγίες για την έκδοση 22.04.

Ευχαριστώ και πάλι Άλκη!