SteamOS 相关设置备份

2024年4月7日 0 条评论 996 次阅读 0 人点赞

  •     关闭只读模式

sudo steamos-readonly disable

 

 

  •     启用 pacman

# Refresh
sudo pacman -Ssy
# Initialize the pacman keyring
sudo pacman-key --init
# Populate the pacman keyring with the default Arch Linux keys
sudo pacman-key --populate archlinux

如果遇到 error: liburing: signature from "GitLab CI Package Builder <[email protected]>" is unknown trust

修改 pacman 配置文件 /etc/pacman.conf 配置文件中

SigLevel = TrustAll

 

 

  •     samba

安装

sudo pacman -S samba

 设置配置文件

samba 默认不提供相关配置文件,执行以下命令开始手动设置相关配置:

sudo vim /etc/samba/smb.conf

配置的具体内容可以直接复制这个, 如果要进行更为详细的配置,可参考 官方的示例文件

[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
   
# 如果设置了游戏共享库,可以将下面的注释去掉,path 改成共享库的路径
;[ShareGames]
;   path = /run/media/shareGames
;   writable = yes

上面的配置主要共享了两个共享文件夹:

  • homes - 用户主目录

  • Steam - Steam 客户端目录

通过上面共享的文件夹,就可以在其他操作系统上访问以下目录了:

  • 游戏安装目录 - /home/deck/.local/share/Steam/steamapps/common

  • 游戏存档 - /home/deck/.local/share/Steam/steamapps/compatdata/游戏ID/pfx/drive_c/users/steamuser/Documents/My%20Games/游戏名称

  • 游戏设置 - /home/deck/.local/share/Steam/steamapps/compatdata/游戏ID/pfx/drive_c/users/steamuser/AppData/Local/游戏名称

  • 通过Steam截图的目录 - /home/deck/.local/share/Steam/userdata/用户ID/760/remote

添加 samba 用户

# 添加用户 deck 为 SteamDeck 默认的用户名
sudo smbpasswd -a deck
# 设置用户名密码
sudo smbpasswd deck

 开启服务

通过以下命令开启服务并设置开机自启:

systemctl start smb
systemctl enable smb

此时其实已经可以访问了,但是如果此时访问 Windows 系统里的网络目录,是看不到 SteamDeck 的,这里可以通过安装 wsdd 解决:

sudo pacman -S --needed base-devel
sudo pacman -S yay
yay -S wsdd

启动 wsdd 并设置开启自启:

systemctl start wsdd
systemctl enable wsdd

这样就可以在 Window 的网络目录里看到相关的共享文件了    

 

 

  • 启用sshd

首先需要切换到桌面模式并打开 Konsole 终端

密码设置

因为默认登录的账号 deck 没有设置密码,我们需要手动设置,终端执行以下命令:

passwd

上面设置的是当前登录用户 deck 的密码,我们同时可以设置 root 的密码:

passwd root

开启 SSH

密码设置完成后,我们执行以下命令开启 ssh:

systemctl enable sshd
systemctl start sshd

开启成功后,我们可以执行以下命令查看 ssh 状态:

systemctl status sshd

Active 显示 running 即代表启动成功

● sshd.service - OpenSSH Daemon
     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: disabled)
     Active: active (running) since Mon 2022-10-03 10:37:59 CST; 3h 20min ago
   Main PID: 73134 (sshd)
      Tasks: 1 (limit: 17714)
     Memory: 10.2M
        CPU: 1.521s
     CGroup: /system.slice/sshd.service
             └─73134 "sshd: /usr/bin/sshd -D [listener] 0 of 10-100 startups"

此时我们就可以通过电脑进行连接:

# IP为当前 steamdeck 的 IP,可以在网络连接中查看# 回车之后输入之前设置的密码即可ssh deck@IP

 

 

  • 重置插件商店

进入桌面模式,使用浏览器访问 http://dl.ohmydeck.net ,保存弹出下载的sh文件,在终端执行即可。截止 2024-06-10 16:00 的这个sh文件:

  

 

  • 设置定时任务

steamos使用systemd,可以使用 timer 执行定时任务,timer文件指定service文件,在service文件中指定执行内容,以下是一个例子:

 EldenRingBak.timer

[Unit]
Description=Run EldenRing Backup Every 5 Minutes

[Timer]
#OnCalendar=hourly
OnCalendar=*:0/5
#OnBootSec=1min
#OnUnitActiveSec=5min
Persistent=true

[Install]
WantedBy=timers.target

EldenRingBak.service

[Unit]
Description=EldenRing Backup Service
After=network.target

[Service]
ExecStart=/opt/EldenRing_bak/backup.sh
User=deck
Restart=on-failure

[Install]
WantedBy=multi-user.target

# 指定要执行的 service,忽略以下内容则以同名service文件执行
#[Unit]
#Unit=customjobs.service

使用 enable start status 或者 journalctl 查看执行日志

使用 sytemctl list-timers --all 查看定时人物

确认 service的 ExecStart执行内容有权限,放置于 /etc/systemd/system/ 文件夹,然后enable

Sevenfal

这个人太懒什么东西都没留下

文章评论(0)