FUSS issueshttps://gitlab.fuss.bz.it/groups/fuss/-/issues2022-03-19T22:34:57Zhttps://gitlab.fuss.bz.it/fuss/fuss-client/-/issues/963Interfaccia abilitazione/disabilitazione veyon-service per docenti2022-03-19T22:34:57ZMarco MarinelloInterfaccia abilitazione/disabilitazione veyon-service per docentiAl momento la funzionalità demo non funziona per il semplice motivo che non facciamo partire `veyon-service` quando si autentica un utente dei gruppi noti.
Per aggirare questo problema si potrebbe, oltre a formare gli utenti, fornirli d...Al momento la funzionalità demo non funziona per il semplice motivo che non facciamo partire `veyon-service` quando si autentica un utente dei gruppi noti.
Per aggirare questo problema si potrebbe, oltre a formare gli utenti, fornirli di una mini interfaccia grafica che permetta di abilitare e disabilitare a richiesta il demone di Veyon. Non molto più che `/usr/bin/veyon-service` e `pkill veyon`.Paolo DongilliPaolo Dongillihttps://gitlab.fuss.bz.it/fuss/fuss-client/-/issues/962Disabilitare accendi/spegni PC, aggiornamento, demo e altre feature non dispo...2022-03-19T22:32:51ZMarco MarinelloDisabilitare accendi/spegni PC, aggiornamento, demo e altre feature non disponibiliLe feature attualmente non supportate dal nostro setup di Veyon dovrebbero semplicemente venire disattivate al momento dell'installazione.
È possibile farlo facilmente da Veyon Configurator, altra cosa è riprodurlo. Alcuni dei miei tent...Le feature attualmente non supportate dal nostro setup di Veyon dovrebbero semplicemente venire disattivate al momento dell'installazione.
È possibile farlo facilmente da Veyon Configurator, altra cosa è riprodurlo. Alcuni dei miei tentativi si trovano nei tasks del ruolo veyon.
Si tratta di una lista e - pare - la reimportazione con il formato graffe non funziona. Servirebbe usare il JSON, ma neppure quello ha dato esito positivo nei miei test.Paolo DongilliPaolo Dongillihttps://gitlab.fuss.bz.it/fuss/octonet/-/issues/924Fornire il MAC delle macchine a Veyon2022-03-19T22:29:36ZMarco MarinelloFornire il MAC delle macchine a VeyonIn 6bc97d6c40359c4145069abe013f6c4a28d74322 e successivi è stata implementata una vista che recupera la lista di client nel medesimo cluster del richiedente e la manda indietro.
Questioni di sicurezza a parte (le macchine in un cluster ...In 6bc97d6c40359c4145069abe013f6c4a28d74322 e successivi è stata implementata una vista che recupera la lista di client nel medesimo cluster del richiedente e la manda indietro.
Questioni di sicurezza a parte (le macchine in un cluster non sembra neppure un dato così segreto), serve trovare una maniera efficiente di recuperare dal db di octofussd i MAC delle varie macchine, memorizzati come attributi.
Dal momento che la richiesta viene fatta ogni volta che un utente del gruppo `veyon-master` si autentica, trovo poco plausibile pensare di recuperare on-the-fly tutti questi dati dal db sqlite3. Servirebbe probabilmente costruire una tabella di cache con hostname, MAC e cluster.Paolo DongilliPaolo Dongillihttps://gitlab.fuss.bz.it/fuss/fuss-client/-/issues/961Configurazioni pulseaudio systemwide2022-03-09T16:59:22ZClaudio CavalliConfigurazioni pulseaudio systemwideCiao *
Propongo una possibile soluzione al problema delle configurazioni audio che vengono salvate in ~/.config/pulse/ ma possono essere incompatibili spostandosi da un client all’altro (quindi non è una modifica da applicare alle macch...Ciao *
Propongo una possibile soluzione al problema delle configurazioni audio che vengono salvate in ~/.config/pulse/ ma possono essere incompatibili spostandosi da un client all’altro (quindi non è una modifica da applicare alle macchine standalone). Propongo di testarlo valutando se non ci siano controindicazioni. e migliorarlo sia come codice bash che come pacchettizzazione.
1. Rimuovere il contenuto della cartella ~/.config/pulse/ con uno script da inserire in /etc/fuss-client/session-cleanup-script:
```
#! /bin/bash
rm $HOME/.config/pulse/*
```
2. Inserire in /usr/bin/ il seguente script avviabile da Menu
```
#! /bin/bash
# Il seguente comando avvia il demone pulseaudio che di default per root non è attivo
pulseaudio --start
#Comando zenity che invita a scegliere la configurazione attraverso il Plugin PulseAudio in basso a dx
zenity --info --width 500 --text "\nConfigura l'audio di questa macchina per tutti gli utenti! \n\nUtilizza il plugin PulsAudio in basso a destra."
zenity --question --title="Configura audio" --text="\nConfermi la configurazione audio selezionata?" --width=500 --height=100
# Se l’amministratore sceglie OK vengono lette le impostazioni audio e trascritte nel file /etc/pulse/default.pa che viene letto al riavvio della macchina purché la cartella ~/.config/pulse/ sia vuota
if [ $? == 0 ]; then
input=$(pacmd list-sources | grep -A 1 -e '* index:' | grep name | cut -d "<" -f2 | cut -d ">" -f1)
output=$(pacmd list-sinks | grep -A 1 -e '* index:' | grep name | cut -d "<" -f2 | cut -d ">" -f1)
sed -i -e 's/.*set-default-source.*/set-default-source '"${input}"'/' /etc/pulse/default.pa
sed -i -e 's/.*set-default-sink.*/set-default-sink '"${output}"'/' /etc/pulse/default.pa
fi
if [ $? == 1 ]; then
exit 0
fi
exit
```
3) Ci si logga come root, si lancia lo script, che avvia pulseaudio e invita a scegliere le impostazioni per il sistema. Scelte le impostazioni dall’apposito plugin PulseAudio, si da conferma e le impostazioni vengono salvate systemwide.Paolo DongilliPaolo Dongillihttps://gitlab.fuss.bz.it/fuss/fuss-client/-/issues/960home.mount dovrebbe attendere che la rete sia online2022-03-19T22:24:42ZMarco Marinellohome.mount dovrebbe attendere che la rete sia onlineIssue riportata da Claudio.Issue riportata da Claudio.Marco MarinelloMarco Marinellohttps://gitlab.fuss.bz.it/fuss/fuss-client/-/issues/959draw-grid=false?2022-02-18T08:24:15ZMarco Marinellodraw-grid=false?Vale forse la pena, con i nuovi sfondi, di impostare in slick-greeter `draw-grid=false` per disattivare i puntini?Vale forse la pena, con i nuovi sfondi, di impostare in slick-greeter `draw-grid=false` per disattivare i puntini?Paolo DongilliPaolo Dongillihttps://gitlab.fuss.bz.it/fuss/fuss-server/-/issues/976Come installare le stampanti da server con tutte le loro funzionalità2023-01-17T13:39:41ZClaudio CavalliCome installare le stampanti da server con tutte le loro funzionalitàAbbiamo constatato che nei client su cui le stampanti sono state installate via Octonet molte funzionalità non sono utilizzabili a differenza di ciò che accade se le stampanti sono state installate localmente.
Abbiamo verificato che attu...Abbiamo constatato che nei client su cui le stampanti sono state installate via Octonet molte funzionalità non sono utilizzabili a differenza di ciò che accade se le stampanti sono state installate localmente.
Abbiamo verificato che attualmente al comando lpadmin lanciato dal server manca l’ultima parte, da -m in poi, forse perché si presumeva (e non sappiamo se con Fuss9 questo fosse possibile) che i client potessero leggere il ppd installato sul server.
- -m fa si che il ppd venga cercato nella cartella **/usr/share/cups/model**; se il ppd è contenuto in una sottocartella, il relativo percorso va indicato dopo -m. Con **lpinfo -m** si può ottenere eventualmente il percorso da scrivere dopo -m .
In sostanza abbiamo verificato che il ppd ed eventuali altri driver devono essere caricati localmente ed al server spetterebbe il compito di indicare dove trovare il ppd.
L’obiettivo sarebbe quello di modificare Octonet (o meglio forse octofussd) perché lanci il comando completo.
Le stampanti prese in considerazione per ora sono queste 4, le ultime fornite alle scuole. L’idea è che in seguito vengano aggiunti nuovi modelli.
Il file su cui intervenire probabilmente è **/usr/lib/python3/dist-packages/octofussclient/client.py**
```
**Brother MFC-L6900DW **
Dopo aver installato sui client i due pacchetti modificati scaricabili da:
https://www.fuss.bz.it/utility/printers/Brother_MFC-L6900DW/
Bisogna fare in modo che, una volta specificato <Location> e indirizzo ip, dal server venga lanciato sui clients aggiunti alla coda di stampa su Octonet il comando:
lpadmin -p Brother MFC-L6900DW -L <Location> -o printer-is-shared=false -E -v socket://x.x.x.x:9100 -m lsb/usr/brother/brother-MFCL6900DW-cups-en.ppd
# x.x.x.x è l’indirizzo ip statico della stampante
```
```
**Olivetti – Kjocera 5000-6000**
Lato client si installa: dcopia_5000mf-fuss10_amd64.deb scaricabile da:
https://www.fuss.bz.it/utility/printers/Olivetti-dCopia-6001mf/dcopia_5000mf-fuss10_amd64.deb
# Questo pacchetto (caricato in utility) che copia ppd in usr/share/ppd/olivetti_kyocera/ e crea link simbolico in /usr/share/cups/model/dcopia5000mf.ppd
Bisogna fare in modo che, una volta specificato <Location> e indirizzo ip, dal server venga lanciato sui clients aggiunti alla coda di stampa su Octonet il comando:
lpadmin -p Olivetti_d-COPIA_5000MF -L <Location> -o printer-is-shared=false -E -v socket://x.x.x.x:9100 -m dcopia5000mf.ppd
# x.x.x.x è l’indirizzo ip statico della stampante
```
```
**HP PageWide Pro 452dw**
Lato client non serve fare nulla perché hplip provvede a tutto
Bisogna fare in modo che, una volta specificato <Location> e indirizzo ip, dal server venga lanciato sui clients aggiunti alla coda di stampa su Octonet il comando:
lpadmin -p HP_PAGEWIDE_452DW -L Location -o printer-is-shared=false -E -v socket://172.16.2.8:9100 -m postscript-hp:0/ppd/hplip/HP/hp-pagewide_pro_452_printer-ps.ppd
```
```
**Lexmark**
Deve ancora arrivare
Lato client si installano i due pacchetti in https://www.fuss.bz.it/utility/printers/Lexmark-CX522ade/
Bisogna fare in modo che, una volta specificato <Location> e indirizzo ip, dal server venga lanciato sui clients aggiunti alla coda di stampa su Octonet il comando:
lpadmin -p Lexmark-xxx -L Location -o printer-is-shared=false -E -v socket://x.x.x.x:9100 -m lsb/usr/Lexmark_PPD/Lexmark_UPD_Series.ppd
# x.x.x.x è l’indirizzo ip statico della stampante
```Paolo.DongilliPaolo.Dongillihttps://gitlab.fuss.bz.it/fuss/fuss-server/-/issues/975Test Chilli 1.62022-04-01T14:08:51ZMarco MarinelloTest Chilli 1.6Ciao @dongilli e @ccavalli ,
due settimane fa ho predisposto [fuss/chilli-builder](https://gitlab.fuss.bz.it/fuss/chilli-builder) che compila l'ultima versione di chilli da GitHub. Questo perché non c'è più bisogno delle modifiche che a...Ciao @dongilli e @ccavalli ,
due settimane fa ho predisposto [fuss/chilli-builder](https://gitlab.fuss.bz.it/fuss/chilli-builder) che compila l'ultima versione di chilli da GitHub. Questo perché non c'è più bisogno delle modifiche che aveva fatto Elena dal momento che sono state accettate in upstream. Ora siamo in ballo con il supporto a systemd ma questo è un altro discorso.
Avreste tempo di testare chilli 1.6 in laboratorio? Poi volevo anche fare alcune modifiche lato fuss server ma sarebbe già qualcosa sapere se è stabile.Claudio CavalliClaudio Cavallihttps://gitlab.fuss.bz.it/fuss/fuss-client/-/issues/958Rimozione dei pacchetti uvcdynctrl e uvcdynctrl-data2022-02-21T10:12:19ZClaudio CavalliRimozione dei pacchetti uvcdynctrl e uvcdynctrl-dataIl pacchetto uvcdynctrl, pensato per la gestione delle webcam, ha creato parecchi problemi perchè, in caso di scarsa compatibilità della webcam con il kernel linux, viene generato un volume enorme di log (/var/log/uvcdynctrl.log) senza r...Il pacchetto uvcdynctrl, pensato per la gestione delle webcam, ha creato parecchi problemi perchè, in caso di scarsa compatibilità della webcam con il kernel linux, viene generato un volume enorme di log (/var/log/uvcdynctrl.log) senza rotazioni o limiti di spazio.
Diverse volte siamo stati contattati perchè gli utenti non riuscivano più a loggarsi a causa del riempimento completo del disco.
Una possibile soluzione potrebbe essere quella di far rimuovere i pacchetti aggiungendo al file control di fuss-utility qualcosa del tipo:
```
Conflicts: uvcdynctrl, uvcdynctrl-data
Replaces: uvcdynctrl, uvcdynctrl-data
```
Valuta tu se non ci siano delle soluzioni migliori, come ad esempio ricorrere ancora una volta a fuss-client.Marco MarinelloMarco Marinellohttps://gitlab.fuss.bz.it/fuss/fuss-client/-/issues/957Disabilitare servizi avahi-daemon e avahi-daemon.socket2022-02-21T10:12:13ZClaudio CavalliDisabilitare servizi avahi-daemon e avahi-daemon.socketCiao Marco,
abbiamo constatato che i servizi **avahi-daemon** e **avahi-daemon.socket** permettono a libreoffice di rilevare autonomamente le stampanti di rete del sistema, indipendentemente dalle impostazioni delle Code di stampa in Oct...Ciao Marco,
abbiamo constatato che i servizi **avahi-daemon** e **avahi-daemon.socket** permettono a libreoffice di rilevare autonomamente le stampanti di rete del sistema, indipendentemente dalle impostazioni delle Code di stampa in Octonet.
Ovviamente questo genera molta confusione per gli utenti.
La soluzione proposta, e testata ormai da mesi nella nostra scuola pilota, è quella di disabilitare gli stessi servizi.
Ci vedi qualche controindicazione?
Le possibili soluzioni a cui abbiamo pensato sono due:
1. Creare un file postinst da eseguire con l’aggiornamento di fuss-utility del tipo:
```
#!/bin/sh
# postinst script
#
# see: dh_installdeb(1)
set -e
systemctl disable avahi-daemon.socket && systemctl disable avahi-daemon || true
```
2. Farlo eseguire da fuss-client.
Vedi tu qual è la soluzione più rapida o efficace, ma credo si equivalgano.Marco MarinelloMarco Marinellohttps://gitlab.fuss.bz.it/fuss/fuss-utility/-/issues/1Build nuova versione di fuss-utility2022-03-25T15:49:08ZClaudio CavalliBuild nuova versione di fuss-utilityCiao Marco,
ho caricato su gitlab la nuova versione di fuss-utility.
Contiene:
- lo script (change-password) modificato per il cambio password in sessione utente che aggiorna simultaneamente la password del keyring
- un nuovo script (pas...Ciao Marco,
ho caricato su gitlab la nuova versione di fuss-utility.
Contiene:
- lo script (change-password) modificato per il cambio password in sessione utente che aggiorna simultaneamente la password del keyring
- un nuovo script (password-next-change) che avvisa l’utente da 7 giorni prima che la password stia per scadere e gli permette subito di cambiarla, se lo desidera
Dagli una controllata e se va tutto bene procedi a fare il build del pacchetto. Il funzionamento è stato testato e non sembrano esserci problemi ma vedi tu se può interferire con altri processi.
Io proporrei di aggiungere anche un postscript che disabilita il servizio avahi-daemon ma per questo apro un altro ticket.
Inoltre potremmo utilizzare fuss-utility per rimuovere i pacchetti uvcdynctrl, uvcdynctrl-data ma anche qui apro un ticket dedicato.Paolo DongilliPaolo Dongillihttps://gitlab.fuss.bz.it/fuss/fuss-client/-/issues/956Modifica file /etc/pam.d/common-password via fuss-client per aggiornamento au...2022-02-05T11:49:31ZClaudio CavalliModifica file /etc/pam.d/common-password via fuss-client per aggiornamento automatico password keyringNella versione attuale di fuss-client il file:
`/fuss-client/ansible/roles/homes/templates/common-password`
termina con:
```
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config
{% if nfs_ho...Nella versione attuale di fuss-client il file:
`/fuss-client/ansible/roles/homes/templates/common-password`
termina con:
```
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config
{% if nfs_homes %}
password optional pam_krb5.so minimum_uid=1000 try_first_pass use_authtok
{% endif %}
```
per permettere l’aggiornamento automatico della password del keyring si propone di inserire la riga come segue:
```
# and here are more per-package modules (the "Additional" block)
password optional pam_gnome_keyring.so
# end of pam-auth-update config
{% if nfs_homes %}
password optional pam_krb5.so minimum_uid=1000 try_first_pass use_authtok
{% endif %}
```
come in una versione precedente del fuss-client.Marco MarinelloMarco Marinellohttps://gitlab.fuss.bz.it/fuss/fuss-client/-/issues/955Esecuzione unattended-upgrades anche su PC rilevati come senza alimentazione ...2022-02-05T11:49:31ZClaudio CavalliEsecuzione unattended-upgrades anche su PC rilevati come senza alimentazione di retePropongo di modificare un task fuss-client per fare in modo che gli unattended upgrades si avviino anche incaso di alimentazione da batteria (peraltro il problema è scaturito da un desktop alimentato via cavo che il sistema rileva come a...Propongo di modificare un task fuss-client per fare in modo che gli unattended upgrades si avviino anche incaso di alimentazione da batteria (peraltro il problema è scaturito da un desktop alimentato via cavo che il sistema rileva come alimentato da batteria).
```
$ sudo unattended-upgrade --dry-run -v
System is on battery power, stopping
```
Per ovviare al problema si potrebbe inserire:
`Unattended-Upgrade::OnlyOnACPower "false" `
in
`/etc/apt/apt.conf.d/50unattended-upgrades`
Se vogliamo farlo fare dal fuss-client potremmo aggiungere in /usr/share/fuss-client/roles/unattended-apt/tasks/main.yml,
dopo:
```
# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886415
- name: "Adding label=Debian to Origins-Pattern to upgrade kernels"
lineinfile:
dest: /etc/apt/apt.conf.d/50unattended-upgrades
insertbefore: '"origin=Debian,codename=\$\{distro_codename\},label=Debian-Security";'
line: ' "origin=Debian,codename=${distro_codename},label=Debian";'
state: present
- name: Also update fuss packages
lineinfile:
dest: /etc/apt/apt.conf.d/50unattended-upgrades
insertafter: '"origin=Debian,codename=\$\{distro_codename\},label=Debian-Security";'
line: ' "origin=FUSS,codename=${distro_codename},label=FUSS";'
state: present
```
un task del tipo:
```
- name: Also permit updates on battery
lineinfile:
dest: /etc/apt/apt.conf.d/50unattended-upgrades
insertafter: '// Unattended-Upgrade::OnlyOnACPower "true";'
line: 'Unattended-Upgrade::OnlyOnACPower "false";'
state: present
```Marco MarinelloMarco Marinellohttps://gitlab.fuss.bz.it/fuss/fuss-server/-/issues/974Disabilitare IPv6 per default2022-07-13T16:08:32ZMarco MarinelloDisabilitare IPv6 per defaultQuesta issue è da intendersi confidenziale fino alla sua risoluzione e messa in produzione, visto che impatta sulla funzionalità del server FUSS.
Sono intervenuto oggi su berta perché dopo lo spostamento in rete OPNsense alcuni siti - c...Questa issue è da intendersi confidenziale fino alla sua risoluzione e messa in produzione, visto che impatta sulla funzionalità del server FUSS.
Sono intervenuto oggi su berta perché dopo lo spostamento in rete OPNsense alcuni siti - col senno di poi, quelli raggiungibili in IPv6 - erano diventati irraggiungibili. Questo era dovuto al fatto che OPNsense aveva IPv6 attivo e lo stesso berta.
Ho disattivato IPv6 lato OPNsense ed ho anche aggiunto `net.ipv6.conf.all.disable_ipv6 = 1` in `/etc/sysctl.conf`. Questa configurazione sarebbe da delegare a fuss-server, magari usando un file in `/etc/sysctl.d`.Marco MarinelloMarco Marinellohttps://gitlab.fuss.bz.it/fuss/octonet/-/issues/923Impostazione password e obbligo cambio per un gruppo di utenti2021-10-04T14:09:11ZPaolo DongilliImpostazione password e obbligo cambio per un gruppo di utentiIn Octonet vengono richieste due funzionalità in fase di modifica dei gruppi di utenti.
1. reimpostare una nuova password (uguale per tutti)
2. impostare l'obbligo di cambiare la password al primo login.
Attualmente si può intervenire...In Octonet vengono richieste due funzionalità in fase di modifica dei gruppi di utenti.
1. reimpostare una nuova password (uguale per tutti)
2. impostare l'obbligo di cambiare la password al primo login.
Attualmente si può intervenire solo su gruppi di utenti selezionati singolarmente (solo obbligo cambio password) ma risulta, ovviamente, scomodo.Marco MarinelloMarco Marinellohttps://gitlab.fuss.bz.it/fuss/fuss-manager/-/issues/987Backport a Django 1.112022-09-19T12:51:32ZEnrico ZiniBackport a Django 1.11Al momento nelle scuole è installato Django 1.11.
Serve far sí che fuss-manager funzioni sia con Django 1.11 che con Django 2.2.Al momento nelle scuole è installato Django 1.11.
Serve far sí che fuss-manager funzioni sia con Django 1.11 che con Django 2.2.Elena GrandiElena Grandihttps://gitlab.fuss.bz.it/fuss/fuss-manager/-/issues/986Salvataggio inventory prima di lanciare un playbook2021-08-06T13:34:46ZEnrico ZiniSalvataggio inventory prima di lanciare un playbookAl momento non viene salvato l'inventory aggiornato prima di lanciare un playbook.
Dovendolo fare, visto anche #972, possiamo scegliere se salvare l'intero inventory o salvare un inventory temporaneo ad-hoc per questo run.
ParliamoneAl momento non viene salvato l'inventory aggiornato prima di lanciare un playbook.
Dovendolo fare, visto anche #972, possiamo scegliere se salvare l'intero inventory o salvare un inventory temporaneo ad-hoc per questo run.
Parliamone0.9 ConsolidamentoElena GrandiElena Grandihttps://gitlab.fuss.bz.it/fuss/fuss-manager/-/issues/985Visibilità frecce di sorting nelle datatables2021-08-06T10:16:10ZMark CaglienziVisibilità frecce di sorting nelle datatables* Chiedere se nella visualizzazione attuale le freccine di sorting nelle colonne vanno bene o no
* Eventualmente vedere se/come si possano configurare e colorare per renderle più visibili* Chiedere se nella visualizzazione attuale le freccine di sorting nelle colonne vanno bene o no
* Eventualmente vedere se/come si possano configurare e colorare per renderle più visibili0.10 Interfacciahttps://gitlab.fuss.bz.it/fuss/fuss-manager/-/issues/984Aggiungere una riga di introduzione alla pagina Run playbook2021-08-06T10:24:14ZEnrico ZiniAggiungere una riga di introduzione alla pagina Run playbookNon tutti sanno al momento cosa sia un playbook: aggiungere alla pagina "Run Playbook" una riga di introduzioneNon tutti sanno al momento cosa sia un playbook: aggiungere alla pagina "Run Playbook" una riga di introduzione0.10 Interfacciahttps://gitlab.fuss.bz.it/fuss/fuss-manager/-/issues/983Rinominare registered in managed in tutto il codice2021-08-09T09:45:07ZElena GrandiRinominare registered in managed in tutto il codicePartendo da manager/store/models.py , e tutto il resto del codice; alla fine fare un reset delle migrazioni.Partendo da manager/store/models.py , e tutto il resto del codice; alla fine fare un reset delle migrazioni.0.9 ConsolidamentoMark CaglienziMark Caglienzi