Last active
June 11, 2024 14:54
-
-
Save spiderbala/55804afd029c64175664353e9bbdf069 to your computer and use it in GitHub Desktop.
Steam Deck 安裝samba文件分享協定,自動化腳本(包含samba反安裝腳本)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# 將用戶密碼用作此次腳本的變量,免於後續多次重覆輸入密碼 | |
read -s -p "輸入用戶密碼: " user_password | |
echo | |
# 解除唯讀模式 | |
if echo "$user_password" | sudo -S steamos-readonly disable; then | |
echo | |
echo "唯讀模式已解除" | |
else | |
echo -e "\e[93m密碼輸入錯誤,腳本終止。\e[0m" | |
exit 1 | |
fi | |
# 刪除fakeroot.conf(模擬root權限的設定)。SteamOS更新系統後若samba失效,有時得刪除此檔才能順利重裝 | |
sudo rm -rf /etc/ld.so.conf.d/fakeroot.conf | |
# 刪除所有密鑰 | |
sudo rm -rf /etc/pacman.d/gnupg | |
# 初始化pacman密鑰,用於驗證軟件包的簽證 | |
sudo pacman-key --init | |
# 使用默認的Arch Linux密鑰替代 | |
sudo pacman-key --populate archlinux | |
sudo pacman-key --populate holo | |
sudo pacman -Scc --noconfirm | |
# 更新 Archlinux-keyring 套件 | |
sudo pacman -Sy archlinux-keyring --noconfirm | |
# 刷新pacman(套件管理工具) | |
sudo pacman -Syu --noconfirm | |
# 安裝samba文件分享協定 | |
sudo pacman -S samba --overwrite '*' --noconfirm | |
# 編寫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 | |
#要再新增共享資料夾,可以依如下格式以及範例(使用時#符號要刪掉) | |
#[自己取資料夾名稱] | |
#path = 資料夾路徑 | |
#writable = yes | |
#[Screenshot] | |
#path = /home/deck/.local/share/Steam/userdata/用戶名/760/remote | |
#writable = yes | |
#[Userdata] | |
#path = /home/deck/.local/share/Steam/userdata/用戶名 | |
#writable = yes | |
#[Compatdata] | |
#path = /home/deck/.local/share/Steam/steamapps/compatdata | |
#writable = yes | |
#[自己掛載點上的裝置] | |
#path = /run/media/自己的裝置名稱 | |
#writable = yes | |
" | sudo tee /etc/samba/smb.conf | |
# 安裝yay(由社群維護的軟件儲存庫) | |
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 | |
# 更新yay | |
yay --noconfirm | |
# 安裝wsdd 網路探索服務 | |
yay -S wsdd --overwrite '*' --noconfirm | |
# 刪除yay暫存檔 | |
cd .. | |
rm -rf yay-bin | |
# 新增使用者 deck 為samba服務的默認使用者名稱 | |
echo "替Samba用戶“deck“設置為steam deck用戶相同的密碼" | |
echo -e "$user_password\n$user_password" | sudo smbpasswd -a deck | |
# 啟用samba服務 | |
echo 啟用文件分享服務 | |
echo "$user_password" | sudo -S systemctl start smb | |
# 設置samba服務為開機自啟 | |
echo 設置文件分享服務為開機自啟 | |
echo "$user_password" | sudo -S systemctl enable smb | |
# 啟用wsdd服務 | |
echo 啟用網路探索服務 | |
echo "$user_password" | sudo -S systemctl start wsdd | |
# 設置wsdd服務為開機自啟 | |
echo 設置網路探索服務為開機自啟 | |
echo "$user_password" | sudo -S systemctl enable wsdd | |
# 啟用Samba防火牆端口 | |
sudo firewall-cmd --permanent --add-service=samba | |
# 重新加載防火牆規則 | |
sudo firewall-cmd --reload | |
# 重啟唯讀模式 | |
echo "$user_password" | sudo -S sudo steamos-readonly enable | |
echo 唯獨模式已重啟 | |
echo -e "\e[93msamba文件分享協定已設定完成,可以關閉終端機了,稍待10秒防火牆設置完成即可使用\e[0m" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# 將用戶密碼用作此次腳本的變量,免於後續多次重覆輸入密碼 | |
read -s -p "輸入用戶密碼: " user_password | |
echo | |
# 解除唯讀模式 | |
if echo "$user_password" | sudo -S steamos-readonly disable; then | |
echo | |
echo "唯讀模式已解除" | |
else | |
echo -e "\e[93m密碼輸入錯誤,腳本終止。\e[0m" | |
exit 1 | |
fi | |
# 關閉wsdd服務 | |
echo 關閉網路探索服務 | |
echo "$user_password" | sudo -S systemctl stop wsdd | |
# 關閉samba文件分享服務 | |
echo 關閉文件分享服務 | |
echo "$user_password" | sudo -S systemctl stop smb | |
# 卸載wsdd網路探索服務 | |
yes | sudo pacman -R wsdd | |
# 卸載yay軟件儲存庫助手 | |
yes | sudo pacman -R yay-bin | |
# 卸載samba文件分享協定 | |
yes | sudo pacman -R samba | |
# 移除samba配置文件 | |
sudo rm -rf /etc/samba | |
# 移除samba防火牆端口 | |
sudo firewall-cmd --permanent --remove-service=samba | |
# 重新加載防火牆規則 | |
sudo firewall-cmd --reload | |
# 重啟唯讀模式 | |
echo "$user_password" | sudo -S sudo steamos-readonly enable | |
echo 唯獨模式已重啟 | |
echo -e "\e[93msamba文件分享協定刪除完成,可以關閉終端機了\e[0m" |
首先感谢回复。
事实上我确实是Reinstall Steam OS这样操作的,系统挂了去steam官方看的教程,可以丢链接进去github脚本评论区。
难道,你也尝试去复现我的遭遇,也成功丢失sudo权限了吗,哈哈😁
另外不知在巴哈论坛的是不是你,那边也是我给你发消息。
…---Original---
From: ***@***.***>
Date: Tue, Nov 21, 2023 03:23 AM
To: ***@***.***>;
Cc: ***@***.***>;
Subject: Re: spiderbala/Steam_Deck_Samba.sh
@spiderbala commented on this gist.
需要更新脚本了,不确定是否是用这个脚本卸载导致我LIB库有缺失pacman和sudo权限都没了- -,费了好大劲修好。 另外3.55版本有防火墙了需要关闭。
修復sudo我是用steam deck的還原映像檔,執行Reinstall Steam OS修復的,不然沒有最高權限很難搞...
另外,腳本已更新並優化,只需輸入一次用戶密碼,並且加入samba的防火牆規則,適用目前steam 3.5.5版
—
Reply to this email directly, view it on GitHub or unsubscribe.
You are receiving this email because you commented on the thread.
Triage notifications on the go with GitHub Mobile for iOS or Android.
感谢作者的付出,deck有了smb就再也回不去了,太方便啦。
steamOS又更新啦,smb又挂掉。
之前安装过此脚本的,只需执行一下几个步骤:
删除fakeroot,正常安装一遍smb,yay,wsdd等,正常开启smb服务即可。
请问我这次安装yay时遇见问题,依赖需要大于6.1版本,该如何解决呢
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
修復sudo我是用steam deck的還原映像檔,執行Reinstall Steam OS修復的,不然沒有最高權限很難搞...
另外,腳本已更新並優化,只需輸入一次用戶密碼,並且加入samba的防火牆規則,適用目前steam 3.5.5版