如何在Linux桌面环境下自动启动程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Linux桌面环境下自动启动程序相关的知识,希望对你有一定的参考价值。

  我在本教程中将介绍如何在各种Linux桌面环境下,自动启动某个程序。
  GNOME桌面环境
  在终端中运行这个命令,启动"Startup Applications Preferences"(启动应用程序首选项)GUI。
  $ gnome-session-properties

  点击"Add"(添加)按钮,即可配置一个新的启动应用程序。分别往"Name"(名称)栏和"Command"(命令)栏里面键入该应用程序的名称和该应用程序的CLI命令。往"Comment"(注释)栏里面键入可选的描述。

  Unity桌面环境
  在Unity Dash中键入"startup"(启动)。一旦"Startup Application"(启动应用程序)图标出现,就点击该图标。

  一旦"Startup Applications Preferences"(启动应用程序首选项)窗口打开,输入"Name"(名称)、"Command"(命令)和"Comment"(注释),即可配置自动启动的某个程序。

  KDE桌面环境
  首先,打开"System Settings"(系统设置)窗口。你会在System Administration(系统管理)下面找到"Startup and Shutdown"(启动和关闭)图标。点击该图标。

  系统会要求你从一系列已知的应用程序中选择自动启动的某个应用程序。如果你的程序没有列出来,在上面空白区输入该应用程序的名称。如果该程序(比如CLI命令)将在终端中运行,就要选中"Run in terminal"(终端中运行)复选框。点击"OK"(确定)按钮。

  下一步,系统要求你输入该应用程序的详细信息,包括名称、命令和描述。

  之后,你会看到该程序已完成配置,可自动运行。想配置额外的启动程序/脚本,你可以点击右边侧边栏中的"Add Program"(添加程序)按钮或"Add Script"(添加脚本)按钮。

  MATE桌面环境
  在MATE桌面上,依次进入到"Applications"(应用程序)-> "Preferences(首选项)-> "Startup Applications"(启动应用程序)。

  你会看到"Startup Applications Preferences"(启动应用程序首选项)窗口。点击"Add"(添加)按钮。

  输入启动应用程序的详细信息:"Name"(名称)、"Command"(命令)和"Comment"(注释)。

  Xfce桌面环境
  从Xfce桌面菜单中选择"Settings Manager"(设置管理器)。在"Settings"(设置)窗口中,点击"Session and Startup"(会话和启动)图标。

  在"Application Autostart"(应用程序自动启动)选项卡下,点击底部的"Add"(添加)按钮。

  输入自动启动的某个程序的详细信息:"Name"(名称)、"Command"(命令)和"Description"(描述)。

  LXDE桌面环境
  想在LXDE桌面环境下配置启动应用程序,只需在终端中运行下面几个命令。
  $ mkdir -p ~/.config/lxsession/Lubuntu/ $ touch ~/.config/lxsession/Lubuntu/autostart $ leafpad autostart

  然后,把下面这一项添加到已创建的自动启动文件中:
  @conky
  这里,"conky"是登录后,我想自动运行的那个CLI命令的名称。
  保存并关闭。
参考技术A 将文件写入到crond中! 参考技术B 定时启动?写定时任务呀,就是楼上说的crontab

如何在Linux实现自动运行程序

1、开机启动时

  Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。

  init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d ( /etc/rc?.d) 目录下的脚本文件,可以使init自动启动其它程序。

/etc/rc:This file is responsible for starting/stopping services when the runlevel changes

例如:

  编辑 /etc/rc.d/rc.local 文件,在文件最末加上一行"xinit"或"startx",可以在开机启动后直接进入X-Window。(也可修改/etc/inittab)

  添加mount /dev/sr0  /mnt,开机自动挂载光驱(用于yum安装)。

 

2、登录时

Q:bash启动时,会进行初始化,初始化就是执行一些脚本,有哪些脚本呢?

A:分2种情况

①登录时启动的bash,登录shell

初始化脚本执行顺序:/etc/profile-->/etc/profile.d/*.sh-->~/.bash_profile-->~/.bashrc-->/etc/bashrc

#如果这些脚本中的变量发出冲突,那么以最后一个脚本的设置生效。

②登录后启动的bash,非登录shell

初始化脚本执行顺序:~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh

 

注意:这些脚本中不要乱增加内容。例如:在脚本中增加echo,这会导致每次登录都输出echo(常用恶作剧)。

 

3、退出登录时

  退出登录时,bash自动执行个人的退出登录脚本.bash_logout。

例如:

  在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",则在每次退出登录时自动执行 "tar" 命令备份 *.c 文件。

 

4、定期自动运行程序

①使用at命令调用atd进程设置在某个特定的时间,执行一次性任务

②使用crontab命令调用crond进程,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务

  Linux有一个称为crond的守护程序,主要功能是周期性地检查 /var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。

  用户可以通过crontab 命令来建立、修改、删除这些命令文件。

下回详解……

以上是关于如何在Linux桌面环境下自动启动程序的主要内容,如果未能解决你的问题,请参考以下文章

在Linux系统如何让程序开机时自动启动

在Linux系统如何让程序开机时自动启动

在Linux系统如何让程序开机时自动启动

怎样让linux启动后不运行桌面而是运行自己写的图形界面程序?

Linux下开机启动脚本程序

linux环境下如何通过shell脚本监测tomcat是不是关闭并自动启动?