如何使用 lightdm 运行欢迎/登录脚本

如何使用 lightdm 运行欢迎/登录脚本

有没有运行 lightdm 脚本的变通方法?文档中的那个不起作用。放在那里的任何东西都会阻止 X 工作。

我想使用的脚本是我的 KVM 实用程序 synergy。我一度以为是 synergy 导致了问题。但是,我发现只要 lightdm.conf 文件中的该行包含任何内容,X 就会加载失败。

例子:

greeter-setup-script=/etc/lightdm/test.sh

text.sh 文件只是一个 shell 命令,表示它已运行:

test.sh:
#!/bin/bash
date >> /tmp/test.log

在此先感谢任何提供意见的人,或者正如我提到的解决方法,这样我就可以拥有一个在用户实际登录之前在 X 启动时运行的资源。

答案1

在过去的一周里,我多次发现这个问题,并努力研究和修复它。事实证明,Ubuntu 13.10 的“lightdm.conf”文件中放置的任何条目都会破坏 lightdm。

lightdm.conf.d 中有一个为此提供的条目。我将我的 KVM 脚本添加到:

/etc/lightdm/lightdm.conf.d/50-unity-greeter.conf

这有效!

答案2

如果由于文件50-unity-greeter.conf损坏而无法正常登录,您可以尝试以下操作:

  • 按Ctrl+F6
  • 输入登录名和密码
  • 类型startx
  • 打开任意目录并转到硬盘并搜索greeter。

例如,当你看到:unity-greeter_14.04.10-0ubuntu1_amd64.deb,或类似的问候语,执行此文件。重启就好了。此安装程序包将重新安装所有欢迎文件。

答案3

您将test.sh文件放在哪里了?很可能该文件不在PATHlightdm 尝试执行脚本时,因此找不到它。并且由于会话启动脚本失败,lightdm 尝试切换回greeter-session,后者再次尝试加载该脚本,如此反复。在 lightdm.conf 中指定脚本时请使用绝对路径。

如果上述方法不能解决问题,请粘贴目录中文件的内容/var/log/lightdm/

相关内容