搜尋此網誌

2024年7月4日 星期四

Steam Deck 啟用 SSH 並使用 rsync 傳輸資料

緣起:


    最近想要在我的 Steam Deck 與筆電間傳送檔案,想說,該來練習那些 Linux 上的區網傳輸檔案工具了,不然在那邊用 USB 傳檔案,感覺沒效率又很智障。


Steam Deck 啟用 SSH:


    最一開始是想到用 ftp 來傳檔案,是看到這篇文章說,如果有開啟 ssh 的話,預設也會開啟 ftps,所以就先試著在 Steam Deck 啟用 SSH,看著 Reddit 上的這個貼文跟著弄的。

    要先設定 deck 使用者的密碼,因為它預設是空的,打 passwd 來設定,弄好後,再接著下

sudo systemctl enable sshd --now

    下完後,它會跳這個訊息


    再來要查一下 SteamDeck 的區網 ip,之前在 raspberry pi 上使用時,都是用 ifconfig,一直以為這是每個 linux 發行版内建的。在 Steam Deck 下指令後發現,找不到,我再去自己的 Ubuntu 筆電下看看,也是沒有,它還提示我說要 apt install net-tools。

    後來是用

ip addr | grep inet

    得到 deck 的 ip 位置,再來就可以用 ssh 來連線了。在這之前,我還有好奇的去查了一下怎麼看目前本機有在作用的 port,看這篇文章,可以使用

sudo lsof -i -P -n

    回到 ssh 的部份,我在我 Ubuntu 筆電上下指令

ssh deck@{steamdeck 的 ip}

    然後再接著輸入密碼,就成功連上了。下一步想測的是 ftp 的部份,Ubuntu 本身就有 ftp 的指令,原本以為打個 ftp {steam deck 的 ip} 然後再輸入使用者跟密碼就能連上,但它跟我說,ftp: Can't connect to `192.168.0.4:21` : No route to host,哦對,應該用 sfpt 才是,Ubuntu 上面確實也有 sfpt 的指令。

    下了 sfpt {steam deck 的 ip} 的指令後,我發現,啊怎麼是使用我 Ubuntu 目前的使用者帳號 birdshiu 來登入 ? 不是 deck,所以再去查看 sfpt 的指令怎麼指定使用者,在這篇文章找到教學

    指令下

sftp -o User=deck@{steam deck 的 ip}

    然後再輸入密碼,就能成功連上了。


Rsync:


    結果我反而是在 ftp 跟 ssh 那邊操作比較久,本篇主角 rsync 下個兩次的指令後就打算收工了。我是看這篇文章操作的,我在筆電的 Desktop 上建個叫 "testrsync" 的資料㚒,裡面放一張圖片,然後在 deck 的 Desktop 上建一個 forsync 的資料㚒,移至 Ubuntu 筆電的 Desktop,再來下指令

rsync -avzh ./testrsync deck@{steam deck 的 ip}:/home/deck/Desktop/forrsync


    之後,它就把 testrsync 的資料㚒整個 copy 至 deck Desktop 的 forrsync 裡面,我原本想說,它會搬的是 testrsync 裡的内容,想不到是整個資料㚒。

    我再接著試, testrsync 裡建個 hello 資料㚒,然後再下一次 rsync 的指令


    確實是做差異備份,讚哦。我再來應該會接著研究怎麼取出那些 Steam 遊戲裡的 screenshot 跟 video clip 的檔案,然後用 rsync 移動到我的筆電上。

沒有留言:

張貼留言