2020年7月

linux (usb/ip server) :

安装usbipd
apt install linux-tools-generic-lts-utopic
cd /usr/lib/linux-tools/4.4.0-21-generic

安装usbip_bind_driver
apt install usbip

注意:apt install usbip 安装的 usbipd 是无法使用的(版本不对),需要用 /usr/lib/linux-tools/4.4.0-21-generic 下的 usbipd 覆盖,或者从linux源码自行编译
加载驱动
sudo modprobe usbip-core
sudo modprobe vhci-hcd
sudo modprobe usbip-host

开启服务
usbipd -D

在服务端列出usb设备
usbip list -l

在服务端绑定usb设备(比如重定向摄像头)
usbip --debug bind -b 1-5

windows(usb/ip client)
usbip官网的windows端版本过老了
https://github.com/cezanne/usbip-win
使用这里的release版本

安装驱动
安装证书 driver/usbip_test.pfx
打开Windows测试签名 bcdedit.exe /set TESTSIGNING ON
重启Windows

https://github.com/cezanne/usbip-win/releases 下载 usbip 驱动,在设备管理器中安装
或使用 usbip.exe install 命令安装

查看远程可用的usb设备
usbip list -r 192.168.1.19

重定向远端的设备
usbip attach -r 192.168.1.19 -b 1-5

在Windows里,我们知道操作系统是傻白甜的直接看扩展名选择对应的应用程序打开某个文件的。
但是在Ubuntu里,似乎没那么简单。在Ubuntu里,每个文件都可以通过mimetype 这个命令查看到对应的文件类型(姑且这么称呼)。有些文件,即使改了扩展名,也能判断出文件类型是什么。
比如我拷贝一个word文档到ubuntu里,然后通过mimetype看一下:

mimetype 1.doc 
1.doc: application/wps-office.docx

当我把文件扩展名改成一个系统不认识的名称后,再用mimetype看一下:

mimetype 1.b 
1.b:   application/msword

好神奇,还是能判断出这是个word文件,我猜想(仅仅是猜想!)是根据文件头的内容判断的。
那么这个word文件,该用什么应用程序打开呢?
在系统中搜了一下,大概找到几个地方:

/usr/share/applications/mimeapps.list
/usr/share/applications/defaults.list
~/.config/mimeapps.list

文件内容类似如下:

application/msword=wps-office-wps.desktop

意思大概就是,msword这种文件,使用 wps-office-wps.desktop 对应的应用程序打开。
我们知道 desktop 是可以看做是ubuntu底下应用程序的快捷方式。那这个快捷方式,是放在哪里的呢?
一顿find之后,找到位置如下:

/usr/share/applications/wps-office-wps.desktop

嗯,大概就是如此了,够了,不求甚解。