看板 MobileComm 關於我們 聯絡資訊
*本文僅適用Android手機,iOS的情況見文末 要將大量手機檔案整理到電腦時,如果要用檔案總管像整理硬碟般的操作,那我們會將手 機接上電腦用MTP傳輸。 但是MTP功能有限,並且檔案一多直接卡。整理相片也看不到縮圖: https://i.imgur.com/cvhRlde.png
影片點開也必須是完整下載到電腦才能預覽/播放,所以MTP僅是一種傳檔案的手段而已, 而且還沒ADB指令穩定。 如果我想要更無縫的瀏覽手機檔案的體驗呢?所以找到了SSHFS,能看縮圖,檔案操作像 是在用本機硬碟一般,還有批次備份檔案的用法。 https://i.imgur.com/Hn31Ski.png
市面上有那麼多傳輸檔案APP組合,的確就傳輸檔案而言,網路檔案系統並無優勢,甚至是 搞剛。但我想要的是方便整理檔案的界面,為此選擇SSHFS。 顧名思義,SSHFS是透過加密SSH連線掛載的檔案系統,跟SMB、NFS、SFTP一 樣都是網路檔案系統,也就是將遠端硬碟掛載至本機存取。SSHFS好處在於看得到縮圖,傳 輸速度屬中上(下面的例子都以區網傳輸為主)。 以作業系統支援度來說,Linux、Wndows、MacOS安裝軟體也能支援掛載SSHFS。 Android跑SSH伺服器不需要Root權限。 具體作法 Linux用戶要掛載SSHFS可以用指令,也可以用Gnome Nautilus或KDE Dolphin的圖形化界 面掛載。 以Windows 11掛載Android手機的SSHFS來說,要讓二部装置處在同一個Wifi下。 1. Android手機安裝開源終端機Termux:https://reurl.cc/kqkmZb 2. 在Termux依序執行以下指令: ``` pkg update -y # 安裝OpenSSH pkg install openssh sshfs # 設定user密碼 passwd # 允許Termux存取手機內部儲存空間 termux-setup-storage # 執行SSH伺服器 sshd # (選擇性) 每次啟動Termux就自動啟動SSH伺服器 echo "sshd" >> ~/.profile ``` 3. 以上步驟,Termux會將手機內部儲存空間掛載到自己的storage目錄。storage/shared 目錄下就是Download、DCIM、Movies等手機內部的目錄,像照片路徑就是 `storage/shared/DCIM`;要存取下載的目錄則是`storage/shared/Download`。 4. 點選手機的Wifi設定查看手機的區域IP,通常是以192.168開頭。 https://i.imgur.com/FWrCRfE.png
5. 在Windows安裝sshfs-win和SSHFS-Win Manager。 https://reurl.cc/28NXrX https://reurl.cc/YdGLOx 6. 啟動SSHFS-Win Manager,點選Add Connection https://i.imgur.com/QHWIX6r.png
7. IP填手機IP,Port要填8022。user一律為user,Password填寫Termux設定的密碼。 PATH則是填寫要掛載的手機目錄,例如上面說過「相機」的目錄為 `storage/shared/DCIM`,或者你要掛載整個手機目錄的話就是`storage/shared`。 https://i.imgur.com/CEd7ycM.png
8. 點選插頭的圖示連線,檔案總管就會以網路磁碟機掛載Android的目錄,在這裡可以自 由刪改Android上的檔案。 https://i.imgur.com/ONycR49.png
如果不用了記得回到SSHFS-Win Manager取消掛載。 其他應用 Android端跑SSH server不需要Root權限,但Android手機需要Root權限才能以SSHFS 掛載電腦上的目錄。Android有EasySSHFS這個APP方便掛載SSHFS。 如果只是要單純傳檔案,就用SCP指令傳輸目錄或檔案。 另外,考慮到Termux有自動執行script的能力,你可以在Temrux用Rsync走SSH通道,無線 將檔案或整個目錄備份到電腦上,還能設定排程任務。 詳情有點複雜,煩請參閱:https://reurl.cc/gQx907 iOS能否做到SSHFS 不越獄的話,iOS有「iSH」能執行SSH伺服器 https://reurl.cc/91xMO8 不過iSH的SSHFS我怎麼樣也連不上,也許有bug。此外因為iOS的檔案管理不好用,即使 iSH的目錄能用檔案APP存取,要備份相機膠卷的照片也很麻煩。 -- 最真實的1944年日美海空戰,絕贊上映中。 https://i.imgur.com/kRCHaaH.png
https://i.imgur.com/QrmG2LL.png
https://i.imgur.com/zZ0vNvR.png
https://i.imgur.com/dlhNnEL.png
https://i.imgur.com/sRxPU0m.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.222.21 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1671220267.A.211.html
LastAttack: 原來各家連接電腦的軟體,傳照片就是用這技術?功能特12/17 07:24
LastAttack: 徵基本上一樣,可預覽、可輕鬆拖曳到想要的地方12/17 07:24
johnhmj: 怎麼不直接用AirDroid ??12/17 10:32
fiiox3: 有不需要區網的方案嗎12/17 11:12
用ZeroTier這類技術做一個虛擬區域網路
ch410773: Solid explorer一鍵開好ftp,不過看不了縮圖12/17 12:06
tomsawyer: 當然有不須要區網的方案 比如樓上提到的airdroid 但檔12/17 12:11
tomsawyer: 案就要預設經過他們的relay做中轉 12/17 12:11
tomsawyer: 作業系統支援度來說=0 全不支援原生掛載 不如ftp來的12/17 12:13
tomsawyer: 方便 windows可用 linux也可以直接掛12/17 12:13
tomsawyer: 不如用sftp就好了 又不用而外裝東西12/17 12:13
SFTP也是個方法,KDE Connect用的就是這個。我是想說SSH就不用再跑一個FTP服務這樣。
tomsawyer: 不然rclone+fuse/winfsp是萬解12/17 12:14
Leo123457: https://i.imgur.com/Ojm7BUf.png 縮圖可以從這開12/17 14:02
FTP模式下還是看不到縮圖吧? ※ 編輯: ivon852 (36.236.222.21 臺灣), 12/17/2022 15:08:17
tcchu: 的確是很搞剛12/17 18:42
tcchu: 不然直接adb pull或app開ftp比較實際12/17 18:43
tcchu: 沒有掛載需求平常直接app存取PC sftp就好12/17 18:45
tcchu: 我是為了retroarch檔案同步 pc定時跑一次adb-sync12/17 18:46
Leo123457: https://i.imgur.com/OBM2gIH.png 12/17 21:44
Leo123457: 或許skip previews for remote files above要調大一點 12/17 21:45
謝謝 ※ 編輯: ivon852 (36.236.222.21 臺灣), 12/18/2022 03:43:31
x21999125x: 不用區網的方案我推薦syncthing 12/21 09:46
x21999125x: 缺點的話就是如果不改設定讓syncthing常駐很耗電,但 12/21 09:51
x21999125x: 這很容易改掉 12/21 09:51
carbeso: syncthing ++ 12/21 15:33