我试过gnome3和gnome3-暂存ppas 来测试运行 Gnome 3.8。过了一段时间,我决定 Gnome 3.8 不适合我,所以我对这两个 ppa 进行了 ppa 清除。如gnome3-staging
ppa 页面所述,我还做了:
$ 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 等),请执行以下操作:
将以下内容附加到 /etc/pam.d/<your_dm> 文件顶部:
session required pam_loginuid.so session required pam_systemd.so
注销、重新启动 X、登录
检查一切是否正常
删除您在步骤 1 中应用的修复。
注销、重新启动 X、登录
检查一切是否仍然正常!
登录并检查系统是否正常运行后,即可删除此所谓的修复程序。它显然允许升级的系统完成一些修复潜在问题的过程。完成后(管理员登录后?),即可删除该修复程序。
它还清除了我登录后直接收到的所有崩溃报告。
答案2
PolicyKit 在从 13.04 更新到 13.10 的过程中出现问题,错误报告如下
https://bugs.launchpad.net/ubuntu/+source/policykit-desktop-privileges/+bug/1240336
它包含两种解决方法:
如果您使用
lxdm
,请附加到/etc/pam.d/lxdm
以下行:session required pam_loginuid.so session required pam_systemd.so
或者尝试运行
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
。似乎gnome3
ppa 从此 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
上述命令的输出。现在一切正常。