Ssh

有沒有辦法 ssh 隧道,並訪問 /dev 目錄中的設備,並像本地一樣使用它?

  • January 14, 2022

有沒有一種方法可以讓一台電腦與另一台電腦共享/dev/目錄中的設備,而另一台電腦可以與它互動,如果它是本地的?類似於 SSH 隧道的東西?

例如相機,或與 arduino 的串列連接,甚至是電腦的/dev/random

簡而言之,沒有。您與設備節點互動的方式比您對實際文件的互動方式“更豐富”,並且如果遠端機器上的核心無法訪問您的本地程序記憶體(它不能通過網路訪問),這是不可能的。

更不用說你想要處理的很多東西只是有不合理的高頻寬要求(例如,原始模式下的高質量相機),低延遲要求(任何期望在電腦端發生某些事情的 USB 大容量設備)在指定的時間內)或其他功能方面,使在原始設備級別上的網路操作變得不可能。

出於這個原因,對於某些設備類別,可以將必須在設備附近完成的工作和可以遠端完成的工作分開,還有其他方法:例如,可以使用 CUPS 通過網路很好地共享列印機,聲音使用 pipewire、jackd 或其他守護程序的設備、使用 VLC 的影片設備、使用 NFS、CIFS 的文件系統……或作為塊設備(例如在 Ceph 中)的儲存設備。

您的串列埠將很容易抽象 - 您在它所在的機器上進行設置(主要是:打開,設置波特率),然後只需使用讀取和寫入它的最小網路守護程序。

事實上,在工業自動化中,這是一種很常見的模式,UART 埠可以通過網路以某種方式定址。在linux下,socat程序可以做這樣的事情。

引用自:https://unix.stackexchange.com/questions/686387