标签: session

使用 dbus 和 policykit 的根任务

在某些时候,我的应用程序需要执行管理任务,例如在 /etc 中创建文件或使用 root 权限运行命令。

我知道可以做一个问答:

os.popen("pkexec foo bar")
Run Code Online (Sandbox Code Playgroud)

但我也知道这不是可预见的干净方式。对用户来说有些烦人,因为他总是需要重新输入密码,而不是进行类似会话的处理。

我非常乐观,因为我找到了用于身份验证的 python 示例

这是一个立即生效的简单示例:

import dbus

bus = dbus.SystemBus()
proxy = bus.get_object('org.freedesktop.PolicyKit1', '/org/freedesktop/PolicyKit1/Authority')
authority = dbus.Interface(proxy,  dbus_interface='org.freedesktop.PolicyKit1.Authority')

system_bus_name = bus.get_unique_name()

subject = ('system-bus-name', {'name' : system_bus_name})
action_id = 'org.freedesktop.policykit.exec'
details = {}
flags = 1            # AllowUserInteraction flag
cancellation_id = '' # No cancellation id

result = authority.CheckAuthorization(subject, action_id, details, flags, cancellation_id)

print result
Run Code Online (Sandbox Code Playgroud)

我一直很天真地认为在授权后我可以继续使用一些 os.popen() 命令在脚本中。现在我知道了 :(

我可以在上面的示例中看到元组结果,但是在进一步的文档中,我找不到此时可以继续执行的工作代码。

这个结果与我有什么关系?我怎样才能继续执行我需要的任务?是否有提供可用方法的示例的 python 参考?

我尝试使用 dir() 列出授权方法,但找不到任何线索如何继续。

我真的想避免使用我的后备,但这将是我的最后手段。请帮助我以正确的方式做这件事:)

感谢致敬

安德烈 …

session python root policykit dbus

10
推荐指数
1
解决办法
2921
查看次数

什么程序启动 dbus-daemon?

什么程序在 GNOME 2 和 GNOME 3 中启动每个用户会话 dbus-daemon 进程(大概是通过 dbus-launch)?我想知道,因为我想在 dbus-daemon 检查 .service 文件的目录列表中添加一个目录。

(显然,如果它是一个 sh 程序,“sh”不是我正在寻找的答案;-)

我怎么能有效地为自己回答这个问题?桌面和会话启动有哪些文档?

session dbus

10
推荐指数
1
解决办法
4万
查看次数

如何在系统范围内关闭 Xfce 会话保存?

我们正在使用运行 Xubuntu 的终端服务器。因为我们在保存会话时遇到了一些问题,所以我们想完全关闭会话的保存。

到目前为止,我们已经能够将默认设置为不保存会话,但是在注销屏幕中仍然可以保存会话。是否可以完全关闭会话保存(系统范围内)以便我们的用户不会“意外”使用它?

xfce session xubuntu

10
推荐指数
1
解决办法
6738
查看次数

如何在 LightDM 中添加“很棒”的选择?

awesome使用apt-get安装,安装完成后,我注销到lightdm.

但是没有选择awesome,只有 Unity 和subtle(因为我最近安装了subtle)。

我该怎么做,才能使awesome选择可用?

安装时没有错误awesome

session awesome lightdm 13.04

10
推荐指数
1
解决办法
1万
查看次数

注销时 Firefox 未正确关闭

我刚刚安装Ubuntu 14.04 beta2了 25 次尝试退出、关闭或重新启动,Firefox退出时我的会话没有正确关闭23 次。结果是 Firefox 选项卡恢复页面,如果我事先花时间手动关闭 Firefox,则永远不会发生。

由于它工作了 2/25 次,感觉像是一个时间问题,Ubuntu 不允许 Firefox 的处理时间结束(Ubuntu 在大约 1-2 秒内注销)。我什至从未收到过“等待 Firefox?/仍然关闭?” 我在 12.04 下观察到的对话框。

所以如果我是对的,我该如何让它等待?如果不是问题是什么,我该如何解决不正确的退出?

我没有管理配置文件或会话配置文件的经验,也很少使用 bash(我理解它,但在编码方面很糟糕)。因此,如果您无法回答但有一篇关于配置文件/会话如何在 Unix/Linux/Debian/Ubuntu 中工作(如果相同)和/或如何更改登录/注销事件的好文章,我会对此感到高兴。

编辑:我做了额外的测试,进一步表明这是一个时间问题

  • wmctrl -c firefox; sleep 0.5; sudo shutdown now -r 工作正常 100%
  • wmctrl -c firefox; sleep 0.2; sudo shutdown now -r 工作正常 50%
  • wmctrl -c firefox; sudo shutdown now -r 工作正常 10%
  • sudo shutdown now -r& wmctrl -c firefox 似乎从来没有工作...

因此,作为一种解决方法,我如何写入wmctrl -c firefox; sleep 0.5类似于.profile …

session firefox shutdown restart logout

10
推荐指数
1
解决办法
3295
查看次数

为什么我的时钟、指示器小程序和通知区域在我重新启动时有时会四处移动?我怎样才能防止这种情况?

我已将它们全部锁定在面板上,但它们在注销和重新登录时会继续移动。因此,例如,有时指示器小程序会话最靠右,但有时时钟/日历是,有时是通知面积是。这是一个小问题,但很烦人。

notification gnome session indicator clock

9
推荐指数
1
解决办法
1628
查看次数

添加新的自定义会话?

我想在登录屏幕上添加一个新会话(您选择“Ubuntu、Ubuntu Classic 等”来安装新的 GUI。我该怎么做?

session gui

9
推荐指数
1
解决办法
4623
查看次数

如何让 kate 恢复上次使用的会话?

我有两台计算机,并且都具有完全相同的行为。我选择了“加载上次使用的会话”选项,但每次,凯特都会启动一个新会话。什么可能导致这种情况?

以下是权限 ~/.kde/share/apps

mike@mike-laptop:~/.kde/share/apps$ ls -l
<..>
drwx------ 4 mike mike 4096 2011-08-19 10:58 kate
<..>

mike@mike-laptop:~/.kde/share/apps$ ls -l kate
-rw------- 1 mike mike 2927 2011-08-19 10:58 metainfos
drwx------ 5 mike mike 4096 2011-03-18 09:49 plugins
drwxr-xr-x 2 mike mike 4096 2011-03-18 09:49 sessions
Run Code Online (Sandbox Code Playgroud)

同样从命令行启动 kate 根本不会产生任何输出。

kate session kubuntu

9
推荐指数
1
解决办法
6205
查看次数

为什么我在启动时没有要求输入密码?

我有 Xubuntu 11.10。当我注销和登录(不重新启动计算机)时,我总是需要选择一个会话并提供进入该会话的密码。但是当我重新启动计算机时,我直接登录到我的最后一个会话(或者被要求在我保存的会话之间进行选择 - 作为一个已经登录的用户 - ,如果我检查登录时提示)而没有询问任何密码。

在所有其他正常情况下,我会被要求输入密码(在终端中安装、访问 Synaptic、使用 root 访问等)——除非打开我的电脑,这很奇怪。在设置管理器、会话和启动中,我看到(并检查了)有关登录、注销和保存会话的选项,但似乎没有启动选项,仅用于会话。有这样的选择吗?一定有,我的印象是在第一次安装操作系统后(大约 4 个月前),我在启动 PC 时被要求输入密码。我怎么能把它转回来?

-- 考虑到我得到的一些答案,我添加以下内容:我找不到设置登录窗口出现的位置(在 Ubuntu 中是系统>管理>登录窗口)。如果我设置在登录时收到提示,正如我所说的(在设置管理器、会话和启动中),那是另一回事:当被要求在用户保存的会话之间进行选择时,我实际上已经以用户身份登录。我似乎没有找到 System--> Login Window 的设置,以便检查在启动时提示选择会话(甚至是 Ubuntu 或 Lubuntu 会话,如果已安装)的选项。——

xfce session startup xubuntu password

9
推荐指数
1
解决办法
2万
查看次数

自动记住当前运行的应用程序

大家好,我遇到了一个奇怪的问题,我正在尝试在 Ubuntu 18.04.1 LTS 上启用自动保存会话,我尝试按照此处已有的一些答案进行操作,但是我无法恢复我的 gnome 会话。

我使用此链接来配置我的 Ubuntu:https : //medium.com/@pwaterz/how-to-dual-boot-windows-10-and-ubuntu-18-04-on-the-15-inch-dell- xps-9570-with-nvidia-1050ti-gpu-4b9a2901493d

我的内核版本是 4.18.14-041814-lowlatency,在 gnome:3.28 在这里发布这个问题之前,我曾尝试执行以下操作:

https://www.howtogeek.com/203952/how-to-automatically-remember-running-applications-from-your-last-session-in-ubuntu-14.04/

查看/编辑“记住当前正在运行的应用程序”所记录的启动程序

我不确定我做错了什么,但是,如果您能给我一些帮助,我将不胜感激。

gnome session gnome-session

9
推荐指数
1
解决办法
1万
查看次数