启动完成后启动 Debian mono 应用程序(具有 GUI)

启动完成后启动 Debian mono 应用程序(具有 GUI)

我一直在尝试弄清楚如何在 Debian (Wheezy) 启动完成并在 LXDE 桌面会话上启动应用程序。它是一个单一的 C# 应用程序。我的脚本很简单

mono /home/myapp/myapp.exe

然后我将此脚本添加到 init.d 中,并从那里 update-rc.d 添加了 myapp。这不起作用,因为它会返回

(myapp:4820): Gtk-WARNING **: cannot open display:

显然,尚未将所有内容设置为能够使用 GTK 应用程序。这就是为什么我想在一切设置完毕后启动应用程序。我还尝试通过添加以下行将其添加到 crontab (-e):

@reboot /etc/init.d/myapp.sh

我还添加了

#! /bin/sh
### BEGIN INIT INFO
# Provides: beheertool
# Should-Start: console-screen dbus network-manager
# Required-Start: $all
# Required-Stop: $remote_fs 
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start beheertool
### END INIT INFO
#

对于原始脚本,也许可以使其稍后启动(使用“Required-start:$all”部分)。

这些都不起作用,任何帮助将不胜感激。

编辑1:该应用程序是一个使用 GTK-sharp 的 C# Mono 应用程序。环境本身无需登录即可启动至 GUI (LXDE)。当正常在启动脚本之外运行应用程序时,X 似乎正在运行(使用 pidof X 检查时)。但是,将 /usr/bin/startX 添加到脚本中没有任何改变。

答案1

您要求提供更多信息使我发现该计划必须启动LXDE 已准备好进行桌面会话。

因此我用谷歌搜索发现/etc/xdg/lxsession/LXDE/自动启动包含将在桌面会话启动后启动的应用程序列表。

我添加了

@mono myapp.exe

并重新启动,它成功了!显然这仅适用于 LXDE 环境,因此我将相应地编辑问题。

相关内容