Debugging dei problemi di picockpit-client

Pi è mostrato come offline

Controlla se il servizio picockpit-client è attivo sul tuo Raspberry Pi. Apri un terminale e scrivi:

sudo service picockpit-client status

Questo vi darà il seguente output, se picockpit-client è attivo e funziona correttamente:

servizio picockpit-client stato, attivo (in esecuzione)

Indaga poi sull'output del log. Puoi scaricarlo in un file con il seguente comando, per inviarcelo, così possiamo analizzare il problema:

sudo journalctl -u picockpit-client.service -n 1000 > /tmp/log.txt
parte del registro fornito da journalctl

Errore GLIBC

Mentre cerchi di installare / eseguire picockpit-client, vedi un messaggio simile al seguente:

/usr/share/picockpit-client/bin/python: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28' not found (required by /usr/share/picockpit-client/bin/python)
/usr/share/picockpit-client/bin/python: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.25' not found (required by /usr/share/picockpit-client/bin/python)
/usr/share/picockpit-client/bin/python: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.26' not found (required by /usr/share/picockpit-client/bin/python)

Questo problema mostra che si sta eseguendo un sistema operativo incompatibile versione. Per esempio, può verificarsi se si esegue picockpit-client su Raspbian Stretch, la precedente versione di Raspbian.

Al momento solo l'attuale versione principale di Raspberry Pi OS "Buster" è supportato.

Spiegazione tecnica: il Python che viene fornito con picockpit-client dipende da una certa versione della libreria GLIBC, che è la 2.28. Altre versioni di Raspbian sono fornite con versioni più vecchie/altre di GLIBC.

"L'interfaccia tra qualsiasi app e libc è compatibile in avanti con le nuove versioni, ma non è compatibile all'indietro con le vecchie versioni".

workaround per l'errore GLIBC

Le seguenti informazioni non sono testate, ma le sto fornendo per i membri della comunità che sono disposti a sperimentare. Il vostro feedback su questa soluzione è altamente benvenuto, fateci sapere cosa funziona per voi su quale sistema operativo.

Usando uno strumento chiamato patchelfè possibile modificare i binari per utilizzare versioni personalizzate di librerie condivise (collegate dinamicamente). In questo modo, potresti aggiungere le librerie necessarie ad una cartella personalizzata nel tuo albero delle cartelle, e modificare il python di picockpit-client (situato in /usr/share/picockpit-client/bin/python ) per usarli.

I seguenti link dovrebbero essere utili (notare che sono non Debian / Raspberry Pi OS specifico):

Se percorrete questa strada e incontrate il successo, per favore fateci sapere in modo da poter condividere la soluzione con tutti.

In futuro, sto progettando di portare picockpit-client al linguaggio Go, e di collegarlo staticamente a musl invece che a glibc; in questo modo dovrebbe essere portabile su una maggiore varietà di sistemi.

Segnalazione di problemi

Quando riporti un problema diverso, o uno che non può essere risolto con i suggerimenti di questa pagina, assicurati di includere gli screenshot dell'interfaccia web di PiCockpit, e i log dell'interfaccia web e di picockpit-client.

registro per picockpit-client

Ecco le istruzioni su come accedere al registro picockpit-client su Raspberry Pi OS sulla linea di comando di Raspberry Pi:

sudo su
journalctl -u picockpit-client --since "4 days ago" > /tmp/picockpit-client2.txt

Si prega di allegare l'output del log alla tua email.

log per l'interfaccia web

Per aiutarci con un ulteriore debugging, per favore apri anche gli strumenti di sviluppo (su Chrome: Ctrl + Shift + I), e mandaci l'output della console JavaScript. Clicca con il tasto destro del mouse su una delle linee di log e seleziona "Salva con nome" per salvare un file di log.

Nota: se usi Firefox, Edge o un altro browser, il modo di accedere all'output del log varierà.

Per segnalare un problema, per favore contattaci usando la pagina di contatto pi3g (la nostra società madre).