作为普通用户,我可以看到安装了gio mount的摄像头,
user@localhost $ gio mount -l
Volume(0): NIKON DSC D3200
Type: GProxyVolume (GProxyVolumeMonitorGPhoto2)
Mount(0): NIKON DSC D3200 -> gphoto2://%5Busb%3A002,007%5D/
Type: GProxyShadowMount (GProxyVolumeMonitorGPhoto2)
Mount(1): NIKON DSC D3200 -> gphoto2://%5Busb%3A002,007%5D/
Type: GDaemonMount但是切换到root,它就变得不可见了
root@localhost $ gio mount -l
Volume(0): Filesystem root
Type: GUnixVolume
Mount(0): Filesystem root -> file:///
Type: GUnixMount因此,以root身份运行脚本,我无法使用以下命令卸载摄像头。
gio mount -s gphoto2发布于 2020-02-27 18:22:42
这是因为在作为根用户运行时,GIO使用不同的后端来枚举挂载,因为提供(例如) gphoto2支持的GVFS守护进程在用户会话(在D-Bus会话总线上)而不是系统范围内运行。所以root不能和他们说话。
以非root用户身份运行您的脚本,否则您将不得不执行一些管道操作,以便让您的脚本显式访问D-Bus会话总线(但只有在您的用户会话处于活动状态时,它才能工作)。
您不应该需要root权限来列出或卸载GIO挂载:权限由polkit控制,如果默认情况下不允许,您应该获得授权提示。
https://stackoverflow.com/questions/60424287
复制相似问题