以最短的启动时间从 grub 启动应用程序

以最短的启动时间从 grub 启动应用程序

我正在尝试构建一台小型复古游戏电脑,并选择基于 Xubuntu/ubuntu/Xfce。如果可能的话,我希望将其设置为尽快直接启动到 mame(也许以后也可以启动其他游戏,但首先要做的事情)。理想情况下,我希望在 grub 中有一个新的默认条目来执行此操作。

我发现一个可能的方法可能是从 grub 设置一个环境变量,然后稍后使用我启动的一些脚本检查它,如下所述:http://wiki.ubuntuusers.de/Autostart但我认为这不会很快。

答案1

您在问题中包含的链接解释了创建图形登录启动应用程序的基本方法(这正是您想要的)。基本上,Ubuntu 会在您登录后立即运行您想要启动的每个应用程序中的.desktop文件。/etc/xdg/autostart~/.config/autostart

Grub 的目的是启动操作系统,而不是应用程序。如果您想加快操作系统的启动速度,请尽量减少图形启动中的项目数量和启动的服务数量/etc/init。例如,在 ubuntu 14.04 中,/etc/init/bluetooth.conf您可以安全地在行首添加 #start on started dbus以防止它在启动时运行。

我处理此类问题的方法是,首先研究可以安全地阻止哪些服务在启动时启动,进行自动登录(以避免每次都输入密码),并为游戏创建启动项。

这是一个示例脚本,其行为与你在注释中描述的行为相同。将此脚本放入你的/usr/bin目录中,通过运行确保它具有可执行权限,sudo chmod +x scriptname.sh并将此脚本添加为启动应用程序,或手动将.desktop文件添加到你的~/.config/autostart目录中。该脚本非常简单,只需要xdotool你拥有sudo apt-get install xdotool并注释良好,因此它应该非常容易理解

#!/bin/sh

# lets see if we have logitech mouse
# connected

xinput | grep -iq logitech

# if we do, then don't do anything
# if we don't launch the game, wait
# 3 seconds
# and simulate pressing F11 key
# to enter full screen mode
if [ $? -eq 1 ]; then
   sol &
   sleep 3
  xdotool key F11
fi 

相关内容