到目前为止,我只在 Linux 世界中生活了两个月,并且遇到了上述任务的问题,现在更详细地解释一下:
我们公司有两台 Windows 终端服务器,不同的客户端从不同的分支机构连接到这两台服务器。我现在尝试整合一台 Lubuntu 12.10 PC,该 PC 应该仅用作远程桌面客户端。
作为 RDP-Client,我正在使用自由数据(xfreerdp)效果很好,但是当我尝试访问重定向挂载的 Windows 共享时,出现以下错误:
Open Folder (Title)
\\tsclient\Office is not accessible. You might not have permission to use this network resource. Contact the administrator of this server to find out if you have access permissions.
我用于连接的语法:
xfreerdp --sec rdp --no-nla --ignore-certificate -g 1680x1050 -f --plugin rdpdr --data printer:HPLJ5200_SMB:"HP LaserJet 5" --plugin rdpdr --data disk:Transfer:/home/apl03/Transfer --plugin rdpdr --data disk:Office:/media/Office -- 192.168.0.101
如您所见,我正在重定向一台打印机和两个文件夹。我可以从 Windows 终端会话中成功使用打印机进行打印,并且可以/home/apl03/Transfer
毫无问题地访问文件夹。
访问第二个文件夹/media/Office
,不起作用。
/media/Office
是该分支机构本地文件服务器的共享。用户 apl03 在本地 Active Directory (AD) 中有一个帐户,并且 Lubuntu 本身对共享的文件访问没有任何问题(读取和写入)。
该共享通过以下方式安装/etc/fstab
:
//192.168.1.1/OFFICE /media/Office cifs credentials=/home/apl03/.smbcredentials,file_mode=0777,dir_mode=0777 0 0
Lubuntu文件系统的权限/media/Office
如下:
drwxrwxrwx 2 root root 0 Mär 27 15:26 Office
这很可能是权限问题,但我不知道该去哪里查找。我在文件系统和 fstab 中都使该文件夹可用。
我很感激任何建议或指点。
更新
终端上输出的日志:
loading plugin rdpdr
connected to 192.168.0.103:3389
null server certificate
freerdp_load_library_symbol: failed to open /usr/lib/i386-linux-gnu/freerdp/--plugin.so: /usr/lib/i386-linux-gnu/freerdp/--plugin.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
freerdp_load_plugin: failed to load --plugin/DeviceServiceEntry
freerdp_load_library_symbol: failed to load /usr/lib/i386-linux-gnu/freerdp/rdpdr.so: /usr/lib/i386-linux-gnu/freerdp/rdpdr.so: undefined symbol: DeviceServiceEntry
freerdp_load_plugin: failed to load rdpdr/DeviceServiceEntry
freerdp_load_library_symbol: failed to open /usr/lib/i386-linux-gnu/freerdp/--data.so: /usr/lib/i386-linux-gnu/freerdp/--data.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
freerdp_load_plugin: failed to load --data/DeviceServiceEntry
freerdp_load_library_symbol: failed to open /usr/lib/i386-linux-gnu/freerdp/--plugin.so: /usr/lib/i386-linux-gnu/freerdp/--plugin.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
freerdp_load_plugin: failed to load --plugin/DeviceServiceEntry
freerdp_load_library_symbol: failed to load /usr/lib/i386-linux-gnu/freerdp/rdpdr.so: /usr/lib/i386-linux-gnu/freerdp/rdpdr.so: undefined symbol: DeviceServiceEntry
freerdp_load_plugin: failed to load rdpdr/DeviceServiceEntry
freerdp_load_library_symbol: failed to open /usr/lib/i386-linux-gnu/freerdp/--data.so: /usr/lib/i386-linux-gnu/freerdp/--data.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
freerdp_load_plugin: failed to load --data/DeviceServiceEntry
freerdp_load_library_symbol: failed to open /usr/lib/i386-linux-gnu/freerdp/-plugin.so: /usr/lib/i386-linux-gnu/freerdp/-plugin.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
freerdp_load_plugin: failed to load -plugin/DeviceServiceEntry
freerdp_load_library_symbol: failed to load /usr/lib/i386-linux-gnu/freerdp/rdpdr.so: /usr/lib/i386-linux-gnu/freerdp/rdpdr.so: undefined symbol: DeviceServiceEntry
freerdp_load_plugin: failed to load rdpdr/DeviceServiceEntry
freerdp_load_library_symbol: failed to open /usr/lib/i386-linux-gnu/freerdp/--data.so: /usr/lib/i386-linux-gnu/freerdp/--data.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
freerdp_load_plugin: failed to load --data/DeviceServiceEntry
registered device #1: PRN1 (type=4 id=1)
registered device #2: PRN2 (type=4 id=2)
registered device #3: Transfer (type=8 id=3)
registered device #4: Office (type=8 id=4)
尽管有一些奇怪的错误,但访问“传输”文件夹仍然正常。如果我只重定向该文件夹并删除其他文件夹,它仍然会出现这些错误,但它确实有效。此外,所有设备都记录为已注册这一事实似乎表明错误与此无关。
我还尝试将“/media/Office”的所有权更改为用户 apl03,但没有效果。
更新
我现在设法使用两台笔记本电脑在测试环境中重现了这个问题。虽然它们使用的是相同版本的 Ubuntu,samba.conf 和 fstab 的配置也相同(我用“diff”检查过),但一台可以运行,另一台不行。文件所有权和权限相同,甚至用户名也相同。在这两种情况下,文件夹都会显示在会话中,但一台客户端无法访问 - 就像在我们公司一样。
为了好玩,我尝试了“桌面“而不是“freerdp”,至少在我的测试设置中,一切似乎都正常。我会检查在工作中是否也一样。如果是的话,我想这个问题可以关闭,并归咎于“freerdp”中的一个错误
作为参考,这是我使用的等效 rdesktop 命令:
rdesktop -z -P -x m -a 16 -k de -g 1680x1050 -f -r disk:Transfer=/home/apl03/Transfer,Office=/media/Office 192.168.0.101
答案1
你需要以此结束所有--plugin
部分,--
例如
--plugin rdpdr --data disk:Transfer:/home/apl03/Transfer
变成
--plugin rdpdr --data disk:Transfer:/home/apl03/Transfer --
答案2
我还是不明白为什么自由数据在某些客户端上不起作用。但是,每个客户端都可以使用桌面(请参阅原始问题中的更新)。虽然它不是原始问题的令人满意的解决方案,但使用 rdesktop 是一种满足所有要求的解决方法。
除非有人另有建议,否则我认为这是 freerdp 的一个错误。
我现在最终使用的命令:
rdesktop -z -P -x m -a 16 -k de -u "" -g 1680x1050 -f -r printer:HPLJ5200="HP LaserJet 5" -r printer:Brother-MFC-8370DN="HP LaserJet 5" -r disk:Transfer=/home/apl03/Transfer,Office=/media/Office 192.168.0.101
答案3
我注意到,如果我使用 ,文件夹重定向将不起作用-g
,但使用 则-f
工作正常。所以我做了:
在完成工作之前添加空格-g
,这里是命令行(在工作中用空格替换点):
nohup xfreerdp *...* -g 1600x900 -d DOMAIN (Working)
nohup xfreerdp -g 1600x900 -d DOMAIN (Failed)
在职的:
nohup xfreerdp ... -g 1600x900 -d DOMAIN -u USERNAME --plugin cliprdr --plugin rdpsnd --plugin rdpdr --data disk:K55A:/media/NAME_OF_FOLDER -- --ignore-certificate -z --disable-wallpaper NAME_OF SERVER:3389
不工作:
nohup xfreerdp -g 1600x900 -d DOMAIN -u USERNAME --plugin cliprdr --plugin rdpsnd --plugin rdpdr --data disk:K55A:/media/NAME_OF_FOLDER -- --ignore-certificate -z --disable-wallpaper NAME_OF SERVER:3389