我是一名老师,我会要求我的学生携带安装了 Ubuntu 并预装了特定软件包列表的笔记本电脑,或者携带带有 Ubuntu 和预装软件包的 USB 驱动器或外部硬盘驱动器。
对于那些要带 USB 的人来说,有两种可能性:
然后,在任何一种情况下,使用该媒体启动并安装软件包。
因此,出于我的目的或任何其他目的:
从 11.04 更新到 11.10 后,我的机器中出现有线行为:
关闭 GUI 方法(包括重新启动)只会导致注销,并且在登录屏幕中,关闭或重新启动选项会执行任何操作(如果您想知道,重新启动会出现在关闭对话框中)。
我可以重新启动或关闭的唯一方法是通过控制台sudo shutdown -h now
或sudo reboot
. 这对我来说没问题,但对其他用户来说不是。
如何解决这个问题?
更新
从我的桌面选择关机时的系统日志输出是:
AptDaemon: INFO: Quitting due to inactivity
AptDaemon: INFO: Quitting was requested
CRON[5095]: (root) CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
CRON[5094]: (root) MAIL (mailed 1 byte of output; but got status 0x00ff, #012) …
Run Code Online (Sandbox Code Playgroud) 在某些时候,我的应用程序需要执行管理任务,例如在 /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() 列出授权方法,但找不到任何线索如何继续。
我真的想避免使用我的后备,但这将是我的最后手段。请帮助我以正确的方式做这件事:)
感谢致敬
安德烈 …
如何以可以在脚本中使用的格式获取 LXC 容器的 IP 地址?
现在,该命令lxc info <container>
报告该信息,但是以人类可读的格式,包含大量信息。
我只想获取给定容器名称的 IP 地址。
注:我HAVE重复这个问题,因为Linux容器已经改变了很多。
安装lxd并使用非特权容器是当今(2017 年)的默认方式,我认为在原始问题上发布的解决方案在这种情况下无法解决问题。
无论如何,我安装了包lxc1来访问命令lxc-info
,但该命令无法识别我的任何非特权容器。