无法以用户身份挂载 USB 设备、关机等

无法以用户身份挂载 USB 设备、关机等

我试过gnome3gnome3-暂存ppas 来测试运行 Gnome 3.8。过了一段时间,我决定 Gnome 3.8 不适合我,所以我对这两个 ppa 进行了 ppa 清除。如gnome3-stagingppa 页面所述,我还做了:

$ sudo apt-get purge libpam-systemd
$ sudo apt-get install libpam-xdg-support

问题是,我无法再安装外部 USB 设备。当我尝试以用户身份安装它时,它失败了:

$ udisks --mount /dev/sdc1 
Mount failed: Not Authorized

我登录了 XFCE 会话,但在后备 Gnome 会话或 Unity 会话中也发生了同样的事情。此外,在 XFCE 中,“暂停”和“关闭”菜单呈灰色。

我也无法从 XFCE 菜单打开突触包管理器(sudo synaptic有效)。

经过大量搜索,似乎这是一个 policykit 问题。我在我的 中看到以下内容~/.xsession-errors

(polkit-gnome-authentication-agent-1:5805): polkit-gnome-1-WARNING **: Unable to determine the session we are in: No session for pid 5805

PID 5805 不存在。如果我尝试polkit-dnome-authentication-agent-1从 xterm 启动,我会得到相同的错误(不同的 PID):

$ /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
...
(polkit-gnome-authentication-agent-1:15971): polkit-gnome-1-WARNING **: Unable to determine the session we are in: No session for pid 15971

(这些...行是 GTK 发出的有关缺少 css 文件等的警告)。

polkitd在跑:

$ pidof polkitd
1495

我是否遗漏了什么?

答案1

对于您使用的任何 DM(kdm、gdm、lightdm 等),请执行以下操作:

  1. 将以下内容附加到 /etc/pam.d/<your_dm> 文件顶部:

    session required pam_loginuid.so
    session required pam_systemd.so
    
  2. 注销、重新启动 X、登录

  3. 检查一切是否正常

  4. 删除您在步骤 1 中应用的修复。

  5. 注销、重新启动 X、登录

  6. 检查一切是否仍然正常!

登录并检查系统是否正常运行后,即可删除此所谓的修复程序。它显然允许升级的系统完成一些修复潜在问题的过程。完成后(管理员登录后?),即可删除该修复程序。

它还清除了我登录后直接收到的所有崩溃报告。

答案2

PolicyKit 在从 13.04 更新到 13.10 的过程中出现问题,错误报告如下

https://bugs.launchpad.net/ubuntu/+source/policykit-desktop-privileges/+bug/1240336

它包含两种解决方法:

  1. 如果您使用lxdm,请附加到/etc/pam.d/lxdm以下行:

    session required pam_loginuid.so
    session required pam_systemd.so
    
  2. 或者尝试运行

    sudo pam-auth-update --force
    

答案3

经过大量搜索后,我决定重新安装policykit-1软件包。当我这样做时sudo apt-get install --reinstall policykit-1,我收到一条消息,说无法安装该软件包,因为它在存储库中不可用(抱歉没有确切的消息!)。

因此,我运行了:

apt-cache policy $(dpkg -l | awk 'NR >= 6 {print $2}') | less

这显示很多软件包都有类似 的版本0.105-1ubuntu1pitti2,而 Ubuntu 存储库中可用的版本类似于0.105-1ubuntu1。似乎gnome3ppa 从此 ppa

因此,我运行了以下命令(软件包的名称是已pitti安装版本的名称):

sudo aptitude install dbus=1.6.8-1ubuntu6 dbus-x11=1.6.8-1ubuntu6 gir1.2-polkit-1.0=0.105-1ubuntu1 libdbus-1-3=1.6.8-1ubuntu6 libdbus-1-3:i386=1.6.8-1ubuntu6 libdbus-1-dev=1.6.8-1ubuntu6 libpolkit-agent-1-0=0.105-1ubuntu1 libpolkit-backend-1-0=0.105-1ubuntu1 libpolkit-gobject-1-0=0.105-1ubuntu1

上述命令安装了软件包的官方 Ubuntu 存储库版本。版本号来自apt-cache policy上述命令的输出。现在一切正常。

相关内容