我的 ubuntu 服务器在启动时不执行基于 gtk 的程序!

我的 ubuntu 服务器在启动时不执行基于 gtk 的程序!

我有 Ubuntu 服务器 16.04。安装了 gtk3 并可以通过以下命令手动执行我的程序:./img当我进入它的目录时/home/m在此输入图像描述

但是当我尝试将此行添加到我的/etc/rc.local文件中时:

/home/m/img &

它不起作用。这是我的rc.local全部内容:

startx
/home/m/img &
exit 0

然后我尝试创建~/.xinitrc包含以下内容的文件:

 #!/usr/bin/env bash
/home/m/img &
exec openbox-session

然后通过以下命令使其可执行: chmod +x ~/.xinitrc

但我什么也没得到(即使重启后没有显示我的 openbox),所以我也执行了这个命令:

ln -s ~/.xinitrc ~/.xsession

之后我的 openbox 回来了,但我的程序在启动后没有启动!或任何其他时间!

我的目标是这样的:当我打开主板时,启动后,它会运行基于 gtk 的程序并显示我的图像。它类似于 Kiosk,但 C++ 程序应该只显示图像!

我该怎么做呢?

编辑:我确实添加了这一行: /home/m/img & 到我的/etc/xdg/openbox/autostart文件中,它在登录后可以工作,但不显示我的图像,它仅在屏幕中心显示一个文件图标。但是当我转到这个地址/home/m/并运行这个命令时./img,它会全屏显示我的图像!

为什么会出现这种情况?

**我也喜欢隐藏我的鼠标指针和窗口边框,但不知道如何?

EDIT2:这是我启动后看到的: 在此输入图像描述

这是我在尝试此命令后看到的结果(在写入按钮角落出现一个图标):/home/m/img & 在此输入图像描述

答案1

**我也喜欢隐藏我的鼠标指针和窗口边框,但不知道如何?

您可以附加-- -nocursor到您的startx隐藏鼠标指针:

exec startx -- -nocursor

有文件~/.config/openbox/rc.xml/etc/xdg/openbox/rc.xml您编辑(参考:http://openbox.org/wiki/Help:配置) ,例如(该文件的底部):

    ...
  </menu>
    <applications>

    <application class="*">
        <decor>no</decor>
        <position force="yes">
              <x>50</x>
              <y>50</y>
              <monitor>1</monitor>
        </position>
        <size>
              <width>300</width>
              <height>300</height>
        </size>
        <focus>yes</focus>
        <desktop>1</desktop>
        <layer>normal</layer>
        <iconic>no</iconic>
        <skip_pager>no</skip_pager>
        <skip_taskbar>no</skip_taskbar>
        <fullscreen>no</fullscreen>
        <maximized>false</maximized>
    </application>

</applications>
</openbox_config>

其中<decor>no</decor>上述将使图像应用程序变得无边框。调整<width><height>如果您发现图像未显示完整尺寸。您还可以调整应用程序的 , <x><y>

还有更多,例如注释掉菜单标签(有多个<context标签有此条<menu>目):

  <mousebind button="Right" action="Press">
    <action name="ShowMenu">
        <!-- menu>root-menu</menu -->
    </action>
  </mousebind>

它将禁用右键单击显示菜单(startx -- -nocursor隐藏鼠标光标不会阻止您右键单击打开菜单)。

还有openbox/menu.xml自定义右键菜单项,eg:

  <item label="Run Image app">
    <action name="Execute"><execute>/home/m/img</execute></action>
  </item>

您可以选择右键菜单项Reconfigure一次menu.xmlrc.xml编辑后生效。

我也发布了答案这里,解决非root自动启动问题。

答案2

使用 openbox(这是您根据其中一个日志使用的),为单个用户打开图形应用程序(登录后)的更好选择是使用~/.config/openbox/autostart.

对于所有用户,请尝试/etc/xdg/openbox/autostart.

来源:http://openbox.org/wiki/Help:自动启动

相关内容