如何在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启动时运行一个资源。
3个回答

在过去的一周里,我在进行研究和努力解决问题时多次遇到了这个问题。结果发现,在Ubuntu 13.10中,将任何条目放入“lightdm.conf”文件中都会导致lightdm崩溃。
对此,lightdm.conf.d中提供了一个条目。我将我的KVM脚本添加到了其中:
/etc/lightdm/lightdm.conf.d/50-unity-greeter.conf

这个有效!

如果您无法正常登录,因为一个文件50-unity-greeter.conf已经损坏,您可以尝试以下操作:
  • 按下Ctrl+F6
  • 输入用户名和密码
  • 键入startx
  • 打开任意目录并导航到硬盘,然后搜索greeter。
当您看到类似于unity-greeter_14.04.10-0ubuntu1_amd64.deb或者greeter.deb的文件时,执行该文件。重新启动计算机,问题就解决了。 此安装程序包将重新安装所有的greeter文件。

请查看12月27日15:40的答案。问题出在最近版本的Ubuntu中,将条目放置在"lightdm.conf"中会破坏lightdm。您必须使用"50-unity-greeter.conf"来正确执行脚本。我相信这个问题从13.10版本开始出现。 - L. D. James

你把你的test.sh文件放在哪里了?很可能当lightdm尝试执行脚本时,该文件不在PATH中,所以找不到它。而且因为会话启动脚本失败,lightdm尝试切换回greeter-session,然后再次尝试加载该脚本,如此往复。请在lightdm.conf中指定脚本时使用绝对路径。
如果以上方法没有解决问题,请将/var/log/lightdm/目录中文件的内容粘贴过来。

谢谢。这是那一行: [greeter-setup-script=/etc/lightdm/test.sh]正如你所看到的,这是一个完整的路径。此外,我在控制台窗口中输入了完整的路径以确保文本正确。它创建了日志条目。然而,lightdm会出现错误并且无法启动。错误有所不同。这次它显示为"The system is running in log-graphics mode"。将配置注释掉将允许lightdm正常启动。 - L. D. James
你的系统能否使用greeter-setup-script?你正在运行哪个版本的Ubuntu? - L. D. James
@L.D.James 我成功地让它在从12.04到13.10几乎所有类型的系统上工作。你说现在日志文件已经创建了,所以脚本可以使用。脚本仍然只包含将 日期日志记录 到文件中吗?还是你添加了一些更有趣的命令?此外,你有检查过lightdm日志吗? - falconer
Wfalconer。它在所有先前的版本上一直工作正常。只有13.10版本对我而言不起作用。我通过命令行测试了脚本的完整路径名,以确保我在配置文件中正确输入了它。它在lightdm.conf文件中失败了。只有当我从控制台命令行手动输入时,脚本才会更新日志。对于两台真实机器和一个virtualbox安装,登录界面的配置都产生了相同的效果...全都是13.10版本。对我来说,在13.10之前的每个安装都很好用。 - L. D. James
@L.D.James 你有检查/var/log/lightdm目录下的lightdm日志文件吗?你尝试过在终端中使用lightdm -d --test-mode来测试lightdm吗?结果如何?你尝试过使用sudo apt-get install --reinstall lightdm重新安装lightdm吗? - falconer
谢谢。在搜索所有的安装过程中,试图找出最好的方法来向您描述问题时,我意识到了一个变化。这是我的问题的要点。有什么不同之处。看起来lightdm.conf(任何参数)会破坏13.10版的lightdm...与以前的版本不同。我尝试将脚本添加到lightdm.conf.d目录中,它执行了并且没有破坏lightdm。 - L. D. James
@L.D.James 我刚刚在 Lubuntu 13.10 上安装了 lightdm,没有你提到的问题。 - falconer