X 启动后如何启动一个程序?

X 启动后如何启动一个程序?

有一款小应用叫卢克斯它可以根据一天中的时间设置屏幕温度。Linux 版本略显简陋,只有一个控制台界面,但运行起来却非常顺畅。

我可以在哪里调用它以便它在 X 启动后启动?

答案1

如果您从那里启动窗口管理器,则可以使用 .xinitrc。如果您使用 KDE 或 GNOME,则需要将该程序添加到登录时自动启动的服务中。

答案2

首先,阅读“man X”:

 STARTING UP

   There are two main ways of getting the X server and an initial  set  of
   client  applications  started.   The  particular method used depends on
   what operating system you are running and whether or not you use  other
   window systems in addition to X.

您将了解到,根据您启动 xserver 的方式,在 xserver 启动后,有 2 个脚本用于启动事物:

  • .xinitrc(用于当您通过 启动会话时startx(将启动xinit))
  • .xsession(当您通过显示管理器(xdm)登录系统时使用)

(就我而言ln -s .xinitrc .xsession,因此我如何启动 xserver 并不重要)。

根据您用来登录系统的方式(我认为现在是 gdm 或 kdm),情况会有所不同。通常,gdm 和 kdm(以及其他显示管理器)都会让用户选择“用户会话”或类似标签。如果您选择这个“用户会话”,那么大多数这些显示管理器都会启动~/.xsession。您将负责启动您的应用程序和桌面环境/窗口管理器。

另一个可能的解决方案是找出不同的桌面环境/窗口管理器如何支持“自动启动”的概念。我个人避免使用这些机制,并坚持使用老方法.xinitrc / .xsession

示例 .xinitrc 如下所示:

xmodmap ~/.Xmodmap
xsetxkbmap de
autocutsel &
xflux -l 52
exec /usr/bin/fluxbox

答案3

尝试将一个名为的脚本.xinitrc放在您的主目录中。如果您使用其中之一,KDE 和 Gnome 也可以在登录时运行脚本/应用程序。如果没有,我相信.Xstartup.xstartup也可能做你想要的事情.xinitrc。我的 Linux 似乎有点生疏了。>.>

答案4

XDG 自动启动规范适用于任何符合 XDG 的桌面环境,包括 Gnome、KDE、XFCE 等。

相关内容