
Il tuo script Bash è pronto per il download:
launch_game_bottles
SH
Apri
Come funziona lo script
Lo script automatizza tre fasi fondamentali per garantire il minimo consumo di RAM:
-
Avvio diretto tramite CLI: Avvia il gioco usando l'interfaccia da riga di comando di Bottles (
bottles-cli), evitando di caricare in memoria l'interfaccia grafica GTK4 dell'applicazione. -
Terminazione forzata del sandbox: Alla chiusura del gioco, esegue
flatpak kill com.usebottles.bottlesper chiudere immediatamente qualsiasi processo residuo (comewineserver, servizi secondari o thread di background) rimasto attivo nella sandbox. -
Svuotamento della cache del kernel (
drop_caches): Esegue il comandosynce forza il kernel Linux a liberare la memoria RAM occupata dallaPageCache, dai file temporanei e dagli inodi lasciati aperti dal gioco.
Codice dello script (launch_game_bottles.sh)
Bash
#!/usr/bin/env bash
# ==============================================================================
# Script per avviare un gioco con Bottles e liberare la RAM alla chiusura
# ==============================================================================
BOTTLE_NAME="${1}"
PROGRAM_NAME="${2}"
if [ -z "$BOTTLE_NAME" ] || [ -z "$PROGRAM_NAME" ]; then
echo "Uso: $0 <NomeBottiglia> <NomeProgramma>"
echo "Esempio: $0 \"Gaming\" \"Cyberpunk2077\""
exit 1
fi
echo "=========================================="
echo "Avvio: $PROGRAM_NAME (Bottiglia: $BOTTLE_NAME)..."
echo "=========================================="
# 1. Avvio del gioco tramite Bottles CLI
flatpak run com.usebottles.bottles run --bottled-name "$BOTTLE_NAME" --program "$PROGRAM_NAME"
echo "=========================================="
echo "Gioco chiuso. Avvio pulizia risorse e RAM..."
echo "=========================================="
# 2. Chiusura forzata di eventuali sottoprocessi Bottles/Wine rimasti attivi
echo "[1/3] Terminazione dei processi background di Bottles..."
flatpak kill com.usebottles.bottles 2>/dev/null || true
# 3. Pausa di assestamento
sleep 2
# 4. Pulizia della PageCache di Linux
echo "[2/3] Liberazione della memoria Cache di sistema..."
sync
if [ "$EUID" -eq 0 ]; then
echo 3 > /proc/sys/vm/drop_caches
elif command -v sudo &> /dev/null; then
echo 3 | sudo tee /proc/sys/vm/drop_caches > /dev/null 2>&1
fi
echo "[3/3] Pulizia completata con successo!"
echo "=========================================="
Guida all'installazione e all'uso
1. Rendere lo script eseguibile
Apri il terminale nella cartella in cui hai salvato il file e assegna i permessi di esecuzione:
Bash
chmod +x launch_game_bottles.sh
2. Esecuzione da terminale
Esegui lo script passando come argomenti il nome esatto della Bottiglia e il nome del programma/gioco configurato al suo interno:
Bash
./launch_game_bottles.sh "Gaming" "Cyberpunk2077"
Consiglio avanzato: Pulire la RAM senza inserire la password sudo
Per evitare che il comando sudo tee /proc/sys/vm/drop_caches ti chieda la password ogni volta che chiudi un gioco, puoi aggiungere una regola nel file sudoers:
-
Apri l'editor sudoers:
Bash
sudo visudo -
Aggiungi la seguente riga in fondo al file (sostituendo
tuoutentecon il tuo nome utente di sistema):Plaintext
tuoutente ALL=(ALL) NOPASSWD: /usr/bin/tee /proc/sys/vm/drop_caches -
Salva e chiudi. Da questo momento, lo script libererà la RAM in background in modo totalmente trasparente.
Trovato questo articolo interessante? Condividilo sulla tua rete di contatti Twitter, sulla tua bacheca su Facebook o semplicemente premi "+1" per suggerire questo risultato nelle ricerche in Google, Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie! CONDIVIDI SU!
|
|
|
|
|
|
|
|

0 commenti:
Posta un commento