Skip to content

Instantly share code, notes, and snippets.

@ziomik
Forked from spiderbala/Steam_Deck_Samba.sh
Last active November 17, 2023 12:15
Show Gist options
  • Save ziomik/4e81a97ab72ff4becbf0d7bd70697b2f to your computer and use it in GitHub Desktop.
Save ziomik/4e81a97ab72ff4becbf0d7bd70697b2f to your computer and use it in GitHub Desktop.
Steam Deck Script installazione/disinstallazione SAMBA
#!/bin/bash
echo "Inserisci la password dell'utente"
# Disabilita la modalità di sola lettura
sudo steamos-readonly disable
# Elimina fakeroot.conf, potrebbe essere necessario eliminarlo dopo un aggiornamento del sistema SteamOS per risolvere eventuali problemi con samba
sudo rm -rf /etc/ld.so.conf.d/fakeroot.conf
# Elimina tutte le chiavi
sudo rm -rf /etc/pacman.d/gnupg
# Inizializza le chiavi di pacman per la verifica delle firme dei pacchetti
sudo pacman-key --init
# Popola le chiavi predefinite di Arch Linux
sudo pacman-key --populate archlinux
# Aggiorna il pacchetto Archlinux-keyring
sudo pacman -Sy archlinux-keyring --noconfirm
# Aggiorna pacman (il gestore di pacchetti)
sudo pacman -Syu --overwrite --noconfirm
# Scarica manualmente il pacchetto liburing (necessario quando la versione in pacman è obsoleta o presenta problemi)
curl -O https://ftp5.gwdg.de/pub/linux/archlinux/extra/os/x86_64/liburing-2.4-1-x86_64.pkg.tar.zst
# Installa il pacchetto liburing (dipendenza per il servizio samba)
sudo pacman -U liburing-2.4-1-x86_64.pkg.tar.zst --noconfirm
# Elimina il file di installazione di liburing
rm -rf liburing-2.4-1-x86_64.pkg.tar.zst
# Installa il protocollo di condivisione file samba
sudo pacman -S samba --overwrite '*' --noconfirm
# Scrive il file di configurazione samba
echo "
[global]
workgroup = WORKGROUP
server string = Samba Server
server role = standalone server
[Homes]
comment = Home Directories
browseable = no
writable = yes
[Steam]
path = /home/deck/.local/share/Steam
writable = yes
[GAME_Folder]
path = /home/deck/.local/share/Steam/steamapps/common
writable = yes
[Mount_Point]
path = /run/media
writable = yes
# Per aggiungere ulteriori cartelle condivise, segui il formato e l'esempio seguente (rimuovi il simbolo # prima dell'uso)
#[Nome_Cartella]
#path = Percorso_cartella
#writable = yes
#[Screenshot]
#path = /home/deck/.local/share/Steam/userdata/Nome_utente/760/remote
#writable = yes
#[Userdata]
#path = /home/deck/.local/share/Steam/userdata/Nome_utente
#writable = yes
#[Compatdata]
#path = /home/deck/.local/share/Steam/steamapps/compatdata
#writable = yes
" | sudo tee /etc/samba/smb.conf
# Installa yay (repository di software gestito dalla community)
sudo pacman -S --needed git base-devel --noconfirm
git clone https://aur.archlinux.org/yay-bin.git
chmod a+rwx yay-bin
cd yay-bin
makepkg -si --noconfirm
# Aggiorna yay
yay --noconfirm
# Installa il servizio di discovery di rete wsdd
yay -S wsdd --overwrite '*' --noconfirm
# Elimina i file temporanei di yay
cd ..
rm -rf yay-bin
# Aggiunge l'utente 'deck' come nome utente predefinito per SteamDeck
echo "Imposta una nuova password per l'utente Samba 'deck' (inserisci due volte, la seconda è per confermare)"
sudo smbpasswd -a deck
# Avvia il servizio samba e imposta l'avvio automatico
echo "Avvia il servizio di condivisione file, richiede privilegi dell'utente"
systemctl start smb
echo "Configura l'avvio automatico del protocollo di condivisione file, richiede privilegi dell'utente"
systemctl enable smb
# Avvia il servizio wsdd e imposta l'avvio automatico
echo "Avvia il servizio di discovery di rete, richiede privilegi dell'utente"
systemctl start wsdd
echo "Configura l'avvio automatico del servizio di discovery di rete, richiede privilegi dell'utente"
systemctl enable wsdd
# Riattiva la modalità di sola lettura
sudo steamos-readonly enable
echo "La configurazione del protocollo di condivisione file samba è completa. Puoi chiudere il terminale"
#!/bin/bash
echo "Inserisci la password dell'utente"
# Disabilita la modalità di sola lettura
sudo steamos-readonly disable
echo "Arresta il servizio di discovery di rete, richiede privilegi dell'utente"
systemctl stop wsdd
echo "Arresta il servizio di condivisione file, richiede privilegi dell'utente"
systemctl stop smb
# Disinstalla il servizio di discovery di rete
yes | sudo pacman -R wsdd
# Disinstalla yay (gestore del repository di software della community)
yes | sudo pacman -R yay-bin
# Disinstalla il protocollo di condivisione file samba
yes | sudo pacman -R samba
# Rimuove il file di configurazione samba
sudo rm -rf /etc/samba
# Disinstalla la libreria di spazio utente liburing per I/O asincrono
yes | sudo pacman -R liburing
# Riabilita la modalità di sola lettura
sudo steamos-readonly enable
echo "La rimozione del protocollo di condivisione file samba è completata. Puoi chiudere il terminale"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment