開機時自動建立目錄
sudo nano /usr/local/bin/init-shm-folders.sh
#!/bin/bash
mkdir -p /dev/shm/Downloads
mkdir -p /dev/shm/Picture
mkdir -p /dev/shm/Screenshots
chmod 777 /dev/shm/Downloads /dev/shm/Picture /dev/shm/Screenshots
#設定執行權限
sudo chmod +x /usr/local/bin/init-shm-folders.sh
sudo nano /etc/systemd/system/mkdir-shm.service
[Unit]
Description=Create /dev/shm folders at boot # 服務說明,顯示於 systemctl status
DefaultDependencies=no # 禁用預設依賴,讓你能控制啟動順序
After=local-fs.target # 等本地檔案系統掛載完成後再執行
Before=basic.target # 在 basic.target 之前執行,確保早期建立目錄
[Service]
Type=oneshot # 一次性執行,不常駐
ExecStart=/usr/local/bin/init-shm-folders.sh # 執行的腳本,負責建立目錄
RemainAfterExit=true # 執行完仍視為 active,避免被 systemd 停用
[Install]
WantedBy=multi-user.target # 在 multi-user.target 階段啟動(正常開機流程)
sudo systemctl daemon-reexec #重新執行 systemd 的主程序(daemon)
sudo systemctl enable mkdir-shm.service #開機啟動
sudo systemctl start mkdir-shm.service #立即啟動