小编Bru*_*ams的帖子

通过 xfreerdp 在远程 Windows 计算机上启用音频

我正在使用 xfreerdp 登录到我的 linux 机器(运行 RHEL7)旁边的桌面上的 Windows 机器(运行 Windos 7 64 位)。

通常我使用:

xfreerdp -k uk -g 1280x950 --no-nla --plugin cliprdr
Run Code Online (Sandbox Code Playgroud)

这使得音频被禁用。我可以使用以下命令将声音输出从 Windows 机器转发到我的 linux 机器:

xfreerdp --plugin drdynvc --plugin rdpsnd
Run Code Online (Sandbox Code Playgroud)

我无法使用 linux 麦克风设备向 Windows 框提供音频。我试过:

--plugin audin_pulse 
Run Code Online (Sandbox Code Playgroud)

并设置注册表项:

HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
Run Code Online (Sandbox Code Playgroud)

fDisableAudioCapture

到 0。尽管在这里查看了类似的问题,但我不确定如何解决此问题。

然而,windows 盒子在我的桌子上,所以我很高兴能在那里使用耳机和麦克风插座。 那就是我根本不想转发音频,只是在远程机器上启用它。默认情况下,远程桌面似乎禁用它(我认为是在 Windows 端)。

在旧的 rdesktop 程序下,我能够运行-r sound:remote-r sound:local执行此操作。xfreerdp 上的等价物是什么?

[背景:我的目标是在 windows box 上使用 Skype 进行业务。只要我可以让它工作,我在哪里插入耳机并不重要。我确实有 pidgin+sipe 在 linux 机器上工作,但我不确定所有功能都可以使用]

audio xfreerdp

12
推荐指数
3
解决办法
3万
查看次数

为什么共享库应该或不应该是可执行的(例如 Red Hat 与 Debian)?

这几乎但不完全是“为什么 .so 文件可执行? ”的重复。

我注意到在基于 Red Hat 的系统上共享库具有执行权限,但在 Debian 上它们没有。

从逻辑上讲,分片库本身是不可执行的,除非它们是设计使然(通过巧妙的链接)。但是,它们包含的代码会被执行。所以它有点灰色地带。

有一个有趣的文章

链接的问题表明它出于历史原因,而且它是某些类 Unix 操作系统(如 HP-UX)的要求。

我想更深入地了解 Debian 和 Red Hat 在这里不同的原因。

哪个系统发生了变化,为什么?

BSD 上的情况如何?

是否有任何可能的安全考虑?


更新:2017 年 10 月 26 日

以下是 Red Hat 对这个主题的看法(重点是我的):

除了可以从 shell 执行之外,在库上设置可执行位不会产生任何影响。Linux 中的共享库采用一种称为 ELF 的格式,它代表 Executable and Linkable Format。这是可执行文件和共享库的格式,因此这就是库被标记为可执行位的原因。值得注意的是,GCC 创建了默认设置了可执行位的共享库。

删除可执行位没有任何副作用(除了不能运行某些库来显示它们的信息,例如 libc),因为动态加载器不关心库的权限:它而是映射库的一部分到内存的一部分,那些需要执行的被映射到先前标记为 PROT_EXEC 的内存区域。

正如所指出的那样,Debian 政策将库安装为不可执行的。我认为 gcc(或者更确切地说 ld)是平台无关的错误,通过使库默认可以执行来谨慎行事?

这里有一篇有趣的文章:https : //www.technovelty.org/linux/shared-libraries-and-execute-permissions.html

另见/sf/ask/440957681/

rhel debian libraries dynamic-linking

8
推荐指数
1
解决办法
1542
查看次数

为什么默认情况下 /usr/local/lib 不在库路径上?

在FHS下,系统软件包(例如 RPM)将库安装到/usr/lib(或/usr/lib64)。同样,使用旧的“”例程编译的库configure;make;make install(不属于系统发行版的一部分)默认安装到/usr/local/lib(或/usr/local/lib64)。

一般来说,要求用户更改 LD_LIBRARY_PATH 或ld.so.conf他们安装的应用程序被认为是不好的形式。参见示例:

http://web.archive.org/web/20060719201954/http://www.visi.com/~barr/ldpath.html

但是,这条规则不应该/usr/local/lib是一个例外吗?

如果是这种情况,为什么许多/大多数发行版默认情况下不包含/usr/local/lib在库搜索路径中?到目前为止,似乎只有 ArchLinux 认为这是一个错误,请参阅http://bugs.archlinux.org/task/20059?project=1&opened=2263 以及相关的http://bbs.archlinux.org/viewtopic.php?id =99807

/usr/local/lib对于需要将库包含/usr/local/lib在其 RPATH 中的应用程序来说,还是期望操作系统已经具有该设置更正确?我不喜欢在 RPATH 中使用任何不基于 $ORIGIN 的东西。

这不是一个迂腐的问题,因为它对系统稳定性以及软件的打包方式有影响。

fhs

5
推荐指数
1
解决办法
8542
查看次数

标签 统计

audio ×1

debian ×1

dynamic-linking ×1

fhs ×1

libraries ×1

rhel ×1

xfreerdp ×1