Compare commits

..

2 Commits
main ... main

Author SHA1 Message Date
Abes 77259e7f51 Merge pull request 'Update 'steam-install'' (#1) from abes-patch-1 into main
Reviewed-on: Abes/dm-scripts#1
11 months ago
Abes d1ac531af0 Update 'steam-install'
Just edited the broken link to the one currently available.
11 months ago

@ -11,31 +11,6 @@ Questa repository contiene i seguenti script:
curl -L "https://git.phc.dm.unipi.it/phc/dm-scripts/raw/branch/main/steam-install" | 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 <username>@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 <https://huggingface.co/TheBloke/Orca-2-7B-GGUF>) 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` &mdash; [@BachoSeven](https://git.phc.dm.unipi.it/BachoSeven) - `printa4` &mdash; [@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. Serve a stampare in aula4 (o qualsiasi altra stampante del dip) dal proprio computer, aprendo Okular graficamente da remoto.
@ -71,37 +46,3 @@ Questa repository contiene i seguenti script:
- `pdfcompress` &mdash; [@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)) - `pdfcompress` &mdash; [@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) Comprime un PDF vettorizzato (ad esempio note scritte su un iPad) utilizzando poppler (file di ~100MB diventa tranquillamente di ~10MB)
- `pptx_to_pdf` &mdash; [@lukefleed](https://git.phc.dm.unipi.it/lukefleed)
Permette di convertire tutti i file .pptx dentro una cartella in file .pdf. Per utilizzarlo, basta eseguire lo script da terminale nella cartella dove sono presenti i file `.pptx`
I nuovi file `.pdf `verranno salvati nella cartella `pdf` (che verrà creata automaticamente se non esiste già). Per poter eseguire lo script, è necessario avere installati i seguenti pacchetti (ubuntu):
```bash
sudo apt install libreoffice default-jre libreoffice-java-common
```
- `removeproofs` &mdash; [@lukefleed](https://git.phc.dm.unipi.it/lukefleed)
Rimuove le dimostrazioni da un file `.tex`, utile per creare piccoli cheat sheet da portare agli esami dove è consentito portare materiale di studio.
Utilizzo:
```bash
removeproofs <file.tex>
```
Questo script è stato utilizzato per creare dei riassunti di Geometria 2 da delle dispense più complete: [G2-cheat-sheet](https://github.com/lukefleed/G2-cheat-sheet)
- `tex_to_md` &mdash; [@lukefleed](https://git.phc.dm.unipi.it/lukefleed)
Script che prende in input un file `.tex` da in output un file `.md` contenente un elenco puntato di tutte le definizioni, teoremi e proposizioni presenti nel file `.tex`. Utile per creare un riassunto degli argomenti di un corso da utilizzare per preparare l'orale.
Utilizzo:
```bash
tex_to_md <input.tex> <output.md>
```
Qui un esempio di utilizzo: [Argomenti di G2](https://git.phc.dm.unipi.it/lukefleed/domande-orali/src/branch/master/geoemtria-2)

@ -1,20 +0,0 @@
#!/bin/bash
export HOME="/tmp/$USER"
export PATH="$HOME/.local/bin:$PATH"
mkdir -p "$HOME"
echo "Home moved to /tmp/$USER because of space constraints, this will last only for this session."
cd "$HOME" || exit 1
# Install text-generation-webui
if [ ! -d "$HOME/text-generation-webui" ]; then
git clone https://github.com/oobabooga/text-generation-webui
else
git -C "$HOME/text-generation-webui" pull
fi
# Install requirements and start webui
export GPU_CHOICE="A"
export USE_CUDA118="Y"
bash "$HOME/text-generation-webui/start_linux.sh" "$@"

@ -1,20 +0,0 @@
#!/bin/bash
# Create the pdf folder if it doesn't exist
mkdir -p pdf
# Iterate through all .pptx files in the current folder
for file in *.pptx; do
if [ -f "$file" ]; then
# Extract the base name (without extension) of the file
base_name=$(basename "$file" .pptx)
# Convert the .pptx file to .pdf and save it in the pdf folder
libreoffice --headless --convert-to pdf --outdir pdf "$file"
echo "Converted $file to pdf/$base_name.pdf"
fi
done
echo "Conversion complete!"

@ -1,14 +0,0 @@
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage: $0 <input_tex_file>"
exit 1
fi
input_file=$1
output_file="${input_file%.tex}_without_proofs.tex"
awk '/\\begin{proof}/, /\\end{proof}/ {next} 1' "$input_file" > "$output_file"
echo "Lines between \\begin{proof} and \\end{proof} have been removed. Output saved to: $output_file"

@ -1,38 +1,24 @@
#!/bin/bash #!/bin/sh
set -xeo pipefail # Installs the AppImage for steam
# Variables APP=Steam-202310201446-x86_64.AppImage
APP=Steam-x86_64.AppImage
NAME=steam NAME=steam
URL="https://github.com/ivan-hc/Steam-appimage/releases/download/continuous/Steam-202402170551-x86_64.AppImage" URL="https://github.com/ivan-hc/Steam-appimage/releases/download/continuous/Steam-202310201446-x86_64.AppImage"
LOCAL_BIN_DIR=$HOME/.local/bin
DESKTOP_DIR=$HOME/.local/share/applications
# Ensure local bin directory is in PATH mkdir -p $HOME/.local/bin
if [[ ! ":$PATH:" == *":$LOCAL_BIN_DIR:"* ]]; then echo "export PATH=$PATH:$HOME/.local/bin" >> .bashrc
echo "export PATH=\$PATH:$LOCAL_BIN_DIR" >> $HOME/.bashrc echo "export PATH=$PATH:$HOME/.local/bin" >> .bash_profile
echo "export PATH=\$PATH:$LOCAL_BIN_DIR" >> $HOME/.bash_profile
fi
# Install Steam AppImage
cd /tmp cd /tmp
curl -L $URL -o $APP curl -LO $URL
chmod +x $APP chmod +x $APP
./$APP --appimage-extract ./$APP --appimage-extract
mv squashfs-root $HOME/$NAME mv squashfs-root $HOME/$NAME
# Create symbolic link to AppRun cd $HOME/$NAME
ln -sf $(realpath $HOME/$NAME/AppRun) $LOCAL_BIN_DIR/$NAME ln -sf $(realpath AppRun) $HOME/.local/bin/$NAME
desktop-file-install --dir="$HOME/.local/share/applications" $NAME.desktop
# Install desktop entry sed -i "s|Exec=$NAME|Exec=$HOME/.local/bin/$NAME|g" $HOME/.local/share/applications/$NAME.desktop
desktop-file-install --dir="$DESKTOP_DIR" $HOME/$NAME/$NAME.desktop gio set "$HOME/.local/share/applications/$NAME.desktop" "metadata::trusted" true
# Update desktop entry
sed -i "s|Exec=$NAME|Exec=$LOCAL_BIN_DIR/$NAME|g" $DESKTOP_DIR/$NAME.desktop
# Mark desktop entry as trusted
gio set "$DESKTOP_DIR/$NAME.desktop" "metadata::trusted" true
# Clean up
rm -rf /tmp/$APP rm -rf /tmp/$APP

@ -1,47 +0,0 @@
#!/bin/bash
if [ $# -ne 2 ]; then
echo "Usage: $0 input.tex output.md"
exit 1
fi
input_file="$1"
output_file="$2"
# Funzione per convertire le sezioni
convert_section() {
local level=$1
local name=$2
echo -e "$(printf '#%.0s' $(seq 1 $level)) $name\n" >> "$output_file"
}
# Funzione per convertire definizioni, teoremi e proposizioni
convert_definition_or_theorem_or_proposition() {
local type=$1
local name=$2
if [[ $type == "teorema" || $type == "proposizione" ]]; then
echo "* [ ] [**$type**] $name" >> "$output_file"
else
echo "* [ ] [$type] $name" >> "$output_file"
fi
}
# Inizializza il file di output
> "$output_file"
# Leggi il file .tex e converti le sezioni, definizioni, teoremi e proposizioni
while IFS= read -r line; do
if [[ $line =~ \\section\{(.+)} ]]; then
convert_section 1 "${BASH_REMATCH[1]}"
elif [[ $line =~ \\subsection\{(.+)} ]]; then
convert_section 2 "${BASH_REMATCH[1]}"
elif [[ $line =~ \\subsubsection\{(.+)} ]]; then
convert_section 3 "${BASH_REMATCH[1]}"
elif [[ $line =~ \\begin\{definition\}\[(.+)\] ]]; then
convert_definition_or_theorem_or_proposition "definizione" "${BASH_REMATCH[1]}"
elif [[ $line =~ \\begin\{theorem\}\[(.+)\](\{.+})? ]]; then
convert_definition_or_theorem_or_proposition "teorema" "${BASH_REMATCH[1]}"
elif [[ $line =~ \\begin\{proposition\}\[(.+)\] ]]; then
convert_definition_or_theorem_or_proposition "proposizione" "${BASH_REMATCH[1]}"
fi
done < "$input_file"
Loading…
Cancel
Save