# DM Scripts Questa repository contiene i seguenti script: - `steam-install` — [@BachoSeven](https://git.phc.dm.unipi.it/BachoSeven) Serve ad installare `steam` (o con poche modifiche qualsiasi AppImage) in aula 3/4, pur non avendo FUSE installato. Per utilizzarlo, basta eseguire il seguente comando da terminale: ```bash curl -L "https://git.phc.dm.unipi.it/phc/dm-scripts/raw/branch/main/steam-install" | bash ``` - `install-llm-web-interface` — [@aziis98](https://git.phc.dm.unipi.it/aziis98) Serve a scaricare una [web-ui per usare LLM](https://github.com/oobabooga/text-generation-webui/) in locale in Aula 3/4. Per utilizzarlo, basta eseguire il seguente comando da terminale ```bash shell $ curl -LO "https://git.phc.dm.unipi.it/phc/dm-scripts/raw/branch/main/install-llm-web-interface" $ chmod +x install-llm-web-interface # La prima volta che lo si esegue, bisogna installare i pacchetti necessari $ ./install-llm-web-interface # Le volte successive, si può eseguire questo per impostare una porta specifica $ ./install-llm-web-interface --listen-port 8080 ``` Nel frattempo, è possibile usare LLM in locale aprendo il browser all'indirizzo `http://localhost:8080` oppure se si sta usando ssh aprendo un tunnel con ```bash shell $ ssh -L 8080:localhost:8080 @a3-dott8.cs.dm.unipi.it ``` e poi aprendo il browser all'indirizzo `http://localhost:8080`. Una volta nell'interfaccia web si può scaricare un modello di LLM (ad esempio ) andando nella tab "Models" ed inserendo l'ID da huggingface (e.g. `TheBloke/Orca-2-7B-GGUF` ed il nome del singolo file `orca-2-7b.Q5_K_M.gguf`), poi premere "Refresh" e poi "Load" nella lista dei modelli per selezionarlo (conviene tenere sotto'occhio il terminare per vedere quando ha finito di scaricare il modello). Una volta caricato il modello, si può andare in "Chat" per usarlo. - `printa4` — [@BachoSeven](https://git.phc.dm.unipi.it/BachoSeven) Serve a stampare in aula4 (o qualsiasi altra stampante del dip) dal proprio computer, aprendo Okular graficamente da remoto. - `impagina` — [@BachoSeven](https://git.phc.dm.unipi.it/BachoSeven) Impagina un pdf in modo da poi poterlo stampare "a libretto", usando l'opzione fronte-retro (lato corto), per poi tagliare e sovrapporre una metà sull'altra. Dipendenze: `pdftk`, `pdfjam` (parte di TeXlive), `groff` (non solo `groff-base`) - `bookletify` — [@Fran314](https://git.phc.dm.unipi.it/Fran314) Simile a `impagina`, ma in python. Formatta un pdf in modo da poi poterlo stampare "a libretto" tagliando chiudendolo come un libro. Supporta: - trim - diversi tipi di paper size (A4 di default, per poter mandare in stampa senza dover mettere "fit-to-page") - aggiunta di un bordo interno (a sinistra per le pagine dispari, a destra per le pagine pari) per la rilegatura - pipe da stdin / a stdout Dipendenze: `PyPDF2` - `pokepixel` — [@Fran314](https://git.phc.dm.unipi.it/Fran314) Permette di "disegnare" a terminale degli sprite di pokemon presi da [questa repo](https://github.com/msikma/pokesprite/) Ad esempio `pokepixel latias.png` cerca un file di nome `latias.png` nella cartella corrente. Se lo trova renderizza quello, altrimenti lo cerca nella repo linkata. Per ora funziona solo con i pokemon fino alla 7a gen non shiny - `gobbino` — [@BachoSeven](https://git.phc.dm.unipi.it/BachoSeven) + [@Dilillo](http://poisson.phc.dm.unipi.it/~dilillo/Vario/index.html) Permette di scaricare video e/o pdf di qualsiasi corso presente sul sito del professor Gobbino - `pdfcompress` — [@aziis98](https://git.phc.dm.unipi.it/aziis98) (script preso in prestito [da questa repo](https://git.phc.dm.unipi.it/aziis98/chatgpt-scripts/src/branch/main/bin/pdfcompress2)) Comprime un PDF vettorizzato (ad esempio note scritte su un iPad) utilizzando poppler (file di ~100MB diventa tranquillamente di ~10MB)