linux RDP 共享磁盘,USB Over Network - USB Server for Linux (RDP使用讀卡機殘念)_永远的12的博客-程序员宅基地

技术标签: linux RDP 共享磁盘  

USB Over Network

Linux上常遇到讀卡機無法在 !FireFox 使用的問題,其實這個議題已經有許多的商用軟體已經解決了。許多軟體提供透過驅動程式與網路將裝置掛載到遠端的作業系統中,從下面的網址可以看到現有的 USB Over Network Software

http://usb-over-network.qarchive.org/

USB Server

如何將本地端的 USB 連接埠進行網路分享,大致歸納兩種方式:

1. 透過專屬的 Service

2. 透過 RDP 或 ICA 通訊協定

那麼我們的需求是將 Linux 上的 USB Device Share 到 RDP 上,而目前找到的 Open Source 軟體稱為 USB-Server,網站如下:

http://www.usb-server.com/usb-server.html

USB-Server 軟體提供了在 Linux 上的 USB 分享解決方案如下:

1. USB-Server (分享 USB)

2. USB-Client (使用遠端的USB)

3. rdesktop RDP USB 分享功能

先說明一下:

Workststion : 指的是要分享出去的電腦 (就是我們的tOS)

Terminal : 指的是遠端連線上的電腦 (Windows 2008 Terminal Server)

Workststion 安裝方法

環境 Linux Ubuntu 9.04(Workststion)

1. 編譯 Driver 提供識別所有的 USB 裝置

下載 USB-Server,網址如下:

http://www.usb-server.com/downloads.html

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30解壓縮usb-server.tar.gz

# tar -zxf usb-server.tar.gz

下載程式原始碼與Kernelsourcehead版本2.6.28

# apt-get source linux-source

解壓縮trar-zxflinux-source-2.6.28.tar.bz2

# trar -zxf linux-source-2.6.28.tar.bz2

建立link

# ln -s /usr/src/linux-source-2.6.28 /usr/src/linux

編譯

# make oldconfig && make prepare && make scripts

官方有提供./installer.shinstall-server的方式,但是測試之後發現有問題,所以改用手動編譯。

切換到usb-server解壓縮後的目錄,進入/modules/src/tusbd目錄中,依據Kernel重新編譯驅動程式得到tusvd.ko。

# make clean && make

載入tusbd.ko

# insmod tusbd.ko

啟動USBServer

# ./usbsrvd

使用命令操作USBServer,列出所有可用的USB

# ./usbsrv -l

分享USB設備

# ./usbsrv -s 1

2. 重新編譯 rdesktop 1.6 加入遠端分享 USB 功能

1

2

3

4

5

6

7

8

9

10

11

12

13下載rdesktopsource版本1.6

# apt-get source rdesktop

解壓縮rdesktop_1.6.0.orig.tar.gz

# tar -zxf rdesktop_1.6.0.orig.tar.gz

Patchrdesktopsource,複製USBServer解壓縮目錄中rdesktop-1.6.0-path底下的檔案(usbrdr.c和usbrdr.patch)到rdesktop_1.6.0.orig原始碼目錄中,並且進行Patch

# patch -p3 -i usbrdr.patch

重新編譯rdesktop(這時候Compile出來的rdesktop就有把本地USB送出去的能力了,即-rusbrdr參數),順便偷偷編譯了scard模組

# ./configure --enable-smartcard --enable-debug --enable-debug-smartcard

# make clean

# make

usbsrv.PNG

Terminal 安裝方法

環境 Windows XP(Terminal)

安裝 usbrdr_terminalserver_setup.exe (這個軟體為試用版)

進行測試

使用rdesktop連線

1rdesktop-rusbrdrrdp.server.com

確實在 Windows 的裝置管理員中看見了讀卡機,並且也能夠正確安裝 Drive,但是 IE 在網站中還是無法找到。如下圖

d948fcbd755fb0dab57b9b673aba718d.png

但是隨身碟倒是很聽話,用起來的感覺就根本地端的 USB 一樣,一插上 Remote Desktop 馬上找到。

聽說這樣的技術連視訊都可以過去,有空在來試試。

但是為什麼讀卡機沒辦法使用?明明已經抓到了。(RD前面那一台已經有這樣的環境了,期待高手的出現)

或許可以找成熟的商用軟體來測試,以下商用軟體支援 Citris 與 RDP Server,也支援了 Linux

http://www.usb-over-network.com/usbnet-solutions/rdp.html

此外有一個發現,經過測試之後即使讀卡機直接接在 Terminal Server 上,透過 Wondows RDP 登入之後依然無法使用讀卡機,因此我猜想是不是 Windows 對於遠端桌面所設定的限制。這個答案就需要 Microsoft 高手來回答了?

這是真的廣告

白金贊助

ebb7e7de37b5329315caa8bad2210398.png

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_35749440/article/details/116716324

智能推荐

JavaFX:播放视频和音频_Al_assad的博客-程序员宅基地

JavaFX MediaPlayer支持的媒体编码以下是目前支持的编码格式:音频:MP3;包含非压缩PCM的AIFF;包含非压缩PCM的WAV;使用AAC音频的MPEG-4;(MP4)视频:包含VP6视频和MP3音频的FLV;使用H.264

XXL-JOB使用问题总结_有趣的灵魂_不世俗的心的博客-程序员宅基地

问题一:XXL-JOB的服务器端和用户端版本必须保持一致,不然会报错问题二: 由于xxl-job使用的一些依赖包与原有项目中的依赖包存在版本冲突,造成java.lang.NoClassDefFoundError错误本人实际遇到问题:1、报错信息如下,造成该问题原因,由于hessian包版本如项目中其他包存在冲突造成,解决方案,移除xxl-job自带的hessian添加更低版本的包。...

Jetson nano安装Pytorch详解_ooMelloo的博客-程序员宅基地_jetson pytorch

一、官网下载安装包NVIDIA官网:https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-7-0-now-available/72048可以根据个人需求下载不同版本的Pytorch安装包,建议科学上网。# 安装指令sudo pip3 install torch-1.7.0-cp36-cp36m-linux_aarch64.whl二、验证torch>>> import .

TCP 和 UDP 的区别( 面向连接 和 面向无连接 )_aga8737的博客-程序员宅基地

第一:TCP 和 UDP 的区别( 面向连接 和 面向无连接 )TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠...

linux tee 重定向_Linux tee命令_Bachnroth的博客-程序员宅基地

Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。在执行Linux命令时,我们可以把输出重定向到文件中,比如 ls >a.txt,这时我们就不能看到输出了,如果我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令了。tee命令读取标准输入,把这些内容同时输出到标准输出和(多个)文件中,tee命令可以重定向标准输出到多个文件。要注意的是:在使用管道线时,...

JavaWeb(一)HTML与CSS_梓阡的博客-程序员宅基地_id002

HTML和CSSw3school在线教程:https://www.w3school.com.cn/index.html离线文档:https://wwa.lanzous.com/iDtoUotltjc基本概念HTML负责页面的内容,CSS负责页面内容的布局前端开发流程网页的组成部分页面由三部分内容组成:(1)内容:页面中可以看到的数据,使用HTML技术展示(2)表现:内容在页面上的展示形式,比如:布局、颜色、大小等。一般使用CSS技术实现(3)行为:页面中元素与输入设备交互的相应,一般

随便推点

springboot集成swagger3出现如下错误:Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception_shl一直在路上的博客-程序员宅基地

原因: 这是因为Springfox使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的是PathPatternMatcher。解决:在application.properties里配置:spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER1.导入依赖 <dependency> <groupId>io.springfox</gro

《Spring实战》学习笔记-第五章:构建Spring web应用_dengwan3818的博客-程序员宅基地

之前一直在看《Spring实战》第三版,看到第五章时发现很多东西已经过时被废弃了,于是现在开始读《Spring实战》第四版了,章节安排与之前不同了,里面应用的应该是最新的技术。本章中,将会接触到Spring MVC基础,以及如何编写控制器来处理web请求,如何通明地绑定请求参数到业务对象上,同时还可以提供数据校验和错误处理的功能。Spring MVC初探跟踪S...

三维(点云)语义分割概述以及方法总结_霜桥月馆的博客-程序员宅基地_三维点云分割

语义分割语义分割需要两部分classification: 需要全局信息segmentation:更加依赖全局信息和局部信息一般的网络结构是:提特征-特征映射-特征图压缩(降维)-全连接-分类,其实就是encoder-decoder的过程,比如在二维的的pspnet,fcn等等0. 三维表示的数据结构Point cloud无序性点云实际上是无序的,比如有8个点云,你放到...

华工计算机组成原理试卷,华工 2014计算机组成原理 作业答案_weixin_40004659的博客-程序员宅基地

1. 1. 说明计算机系统的层次结构。计算机系统由硬件和软件两大部分所构成,而如果按功能再细分,可分为7层(如图所示)。 第零级是硬联逻辑级,这是计算机的内核,由门,触发器等逻辑电路组成。 第一级是微程序级。这级的机器语言是微指令集,程序员用微指令编写的微程序,一般是直接由硬件直接执行的。 第二级是传统机器级,这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行...

《windows核心编程系列》四谈谈进程的建立和终止_ithzhang的博客-程序员宅基地

http://blog.csdn.net/ithzhang/article/details/7927682转载请注明出处!第二部分:工作机理第一章:进程上一章介绍了内核对象,这一节开始就要不断接触各种内核对象了。首先要给大家介绍的是进程内核对象。进程大家都不陌生,它是资源和分配的基本单位,而进程内核对象就是与进程相关联的一个数据结构。操作系统内核通过它管理进

spin_lock & mutex_lock的区别? ._Jarry_le的博客-程序员宅基地

为什么需要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是可以访问所有内核数据的,因此要对共享数据进行保护,即互斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v加1原子操作比普通操作效率要低,因此必要时才使用,且不能与普通操作混合使用如果是单核处理器,则原子操作与普通操作相同

推荐文章

热门文章

相关标签