有没有运行 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
文件放在哪里了?很可能该文件不在PATH
lightdm 尝试执行脚本时,因此找不到它。并且由于会话启动脚本失败,lightdm 尝试切换回greeter-session,后者再次尝试加载该脚本,如此反复。在 lightdm.conf 中指定脚本时请使用绝对路径。
如果上述方法不能解决问题,请粘贴目录中文件的内容/var/log/lightdm/
。