![Policykit 未在通过 LightDM 启动的自定义 xsession 中初始化](https://linux22.com/image/811476/Policykit%20%E6%9C%AA%E5%9C%A8%E9%80%9A%E8%BF%87%20LightDM%20%E5%90%AF%E5%8A%A8%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%20xsession%20%E4%B8%AD%E5%88%9D%E5%A7%8B%E5%8C%96.png)
我正在运行完全更新的 Ubuntu 11.10 安装,并且我一直在使用 LightDM 启动“用户定义会话”,该会话在我的主文件夹中执行 .xsession 脚本。我编写的脚本运行完美,但我无法在 nautilus 中挂载分区或访问系统设置中的用户帐户条目。我推测这是由于我的脚本存在问题导致 policykit 无法正确启动的问题。任何帮助都将不胜感激。
我的.xsession:
#! /bin/bash
ck-launch-session dbus-launch compiz &
ck-launch-session dbus-launch gnome-settings-daemon &
ck-launch-session dbus-launch docky &
ck-launch-session dbus-launch synapse
答案1
解决这个问题的方法不是.xsession脚本,而是定制的gnome session,就像unity、unity2d、gnome-classic都是gnome桌面的变种。
会话文件
将其放置在下方/usr/share/gnome-session/sessions
并命名docky.session
[GNOME 会话] 名称=既不是 Ubuntu 也不是 Gnome 必需=窗口管理器;面板;文件管理器; 必需的-windowmanager=compiz 必需面板=docky 必需的文件管理器=nautilus DefaultApps=gnome-settings-daemon;突触;
xsession 文件
将其放置在下方/usr/share/xsessions
并命名docky.desktop
[桌面条目] 名称=Docky 评论=此会话将您登录到 Ubuntu 执行=gnome-session --session=docky TryExec=gnome-session 图标= 类型=应用程序 X-Ubuntu-Gettext-Domain=gnome-session-2.0
要弄清楚哪些 freedesktop 东西(比如 DBus、policykit、gvfs)需要按什么顺序启动实在是太费事了,只需让 gnome-session 完成繁重的工作,然后集中精力于那些被认为重要的内容即可。
编辑:这适用于 11.04 和 gdm,但会话文件格式在 11.10 中发生了变化,因此docky.session
需要看起来像:
[GNOME 会话] 名称=Docky 必需组件=gnome-settings-daemon; 必需的提供程序 = 窗口管理器;面板;启动器; DefaultProvider-windowmanager=compiz DefaultProvider-panel=docky DefaultProvider-launcher=突触 IsRunnableHelper = / usr / lib / gnome-session / gnome-session-check-accelerated 桌面名称=Docky