在使用“我的”X Server 的麦克风和扬声器时以另一个用户身份运行 Viber

Ili*_*lia 7 security fedora gnome jails selinux

我用GNOME运行Fedora,最近为 linux安装了Viber。它非常好,一切正常。

由于Viber不是开源软件,我决定以另一个用户身份运行它,以确保它无法在没有我同意的情况下访问我的文件,方法是创建一个user:group viber:viber。如果我尝试从属于我或任何其他用户的Viber文件内部打开,它无法读取它们。目标实现,但部分实现。现在,我偶然发现了另一个问题,即Viber仅适用于消息,当我尝试拨打电话时,它说找不到麦克风和扬声器?这种感觉,我知道为什么(我运行X服务器(GNOME)为自己Viber的作为振动:振动(用户:组))。

如何让Viber 同时运行viber:viber,让它使用麦克风和扬声器,同时运行 GNOME 会话myusername:myusername

SELinux 解决方案也是受欢迎的,但有具体的例子!chroot不是解决方案,因为据我所知,它会导致与上述相同的问题。

编辑 1:

运行它的exec是:su - viber -c /opt/viber/Viber

Ili*_*lia 4

我不知道 Pulseaudio 在 Fedora 上作为音频服务器运行。

经过研究,我终于找到了一种在其他用户之间共享音频(麦克风和扬声器)的方法,同时以普通用户(我自己)身份运行 Pulseaudio,而不是在系统模式下。

为此,您只需将初始配置文件复制到您的主目录:

cp /etc/pulse/default.pa  ~/.pulse/default.pa
Run Code Online (Sandbox Code Playgroud)

然后,添加以下配置选项(~/.pulse/default.pa):

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1

现在,在您想要与之共享音频的用户/用户~/.pulse/client.conf下,在他们的主目录(不是您的)中创建 Pulseaudio 自定义用户配置文件并添加以下选项:

default-server = 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

不要忘记重新启动音频服务器或计算机/服务器以应用新设置。

最终,我可以作为另一个用户运行Viberviber:viber,并可以访问麦克风和扬声器,同时以myusername:myusername.


在Fedora 20上测试成功。