启动没有桌面环境的 ubuntu 但启动一个 X 应用程序

启动没有桌面环境的 ubuntu 但启动一个 X 应用程序

我想做一台小型计算机,仅用于上网。我不想加载桌面环境,以尽可能降低 RAM、CPU 和 GPU 的使用率。这台计算机将在 ARM CPU 上运行。我不在乎我使用的发行版,我考虑过老式的普通 Debian。

答案1

我知道这个已经过时了,但是根据我的理解,我看不到该请求的正确答案,因此这里是:

我有一个项目,用于在一台配备 Atom 处理器和触摸屏的简单计算机上创建一个运行特定图形 Java 应用程序的嵌入式系统。我的决定是避免使用这样的窗口管理器,以保持 a) 简单、b) 轻便和 c) 避免各种系统消息突然出现在屏幕上。

该系统如下所示:

  1. 安装基本 Ubuntu 系统,12.04 的最轻量版本(仍然接近 1GB,但对我来说,即使在 2GB 闪存盘上也可以)。您可以稍微折磨一下,以进行较小的安装,当然,有几种方法可以做到这一点。此外,您不必使用 Ubuntu,但应该查看下面的说明 - 发行版之间存在差异,尤其是在配置文件及其位置方面。

  2. 安装 xorg 和其他一些有用的软件,例如用于电阻式触摸屏的 xinput-calibrator、用于实时以太网连接检测的 ifplugd、用于电源按钮操作检测的 acpid 等等。

  3. 打开 /etc/init/tty1.conf 并将exec /sbin/getty -8 -i 38400 tty1行更改为类似的内容exec /sbin/getty -8 -i 38400 tty1 -a username,其中“username”是您希望自动登录的用户的名称。

  4. 要自动启动 X 会话,请打开用户的 .bashrc 文件~/.bashrc并在文件末尾添加如下内容:

    if [ $(tty) == "/dev/tty1" ]; then
        while true; do startx -- -nocursor -depth 16; echo "Again [$?]..."; done
    fi
    

    (-nocursor 适用于触摸屏,将其删除后,普通屏幕才能看到鼠标指针)这将重新启动 X 服务器,因此如果您的应用程序因任何原因退出,它将自动重新启动 X 服务器。

  5. 现在在您的用户的 .xsession 文件中,~/.xsession写入类似这样的内容(请记住,这里的每个命令都是按顺序执行的,因此如果您想启动服务器,请在行末尾使用 & 符号):

    xrandr --output VGA1 --mode 800x600      #For setting a video mode
    xrandr --fb 800x600                      #Not always required, sets the framebuffer size
    xsetbg -center background.png &          #To set the background, comes from the xloadimage package
    xset -dpms s off                         #To avoid screen going blank after a while
    ~username/start.sh                       #Start your application
    #You can put some other application calls here that will be run when your application exits
    

对于这样的系统,还有很多其他事情需要考虑,这只是基本设置。希望它能帮助到别人。祝你好运。

答案2

  1. 创建/usr/share/xsessions/一个“.desktop”格式的文件来创建您的自定义最小会话。若要在登录后将 Google Chrome 作为唯一应用程序运行,请执行以下操作:

    [Desktop Entry]
    Type=Application
    Exec=google-chrome
    Name=Google Chrome
    Comment=Testing
    
  2. 重新启动显示管理器,例如

    sudo restart lightdm  # or kdm, gdm, etc.
    

    或者直接退出。

  3. “Google Chrome” 应该出现在会话列表中以供选择(在常规 Unity 或您已安装的其他 DE 旁边)。

    登录并享受。

选修的

  • XDM 是一个非常小的显示管理器 - LightDM、GDM 和 KDM 相当“大”。使用包安装它西迪姆安装 xdm并使用以下方式重新配置系统启动时的默认设置

    sudo dpkg-reconfigure lightdm
    
  • 配置显示管理器以自动登录特定用户。请参阅显示管理器的文档。

答案3

在过去,您只需运行X,X 就会启动并显示空白屏幕。然后您可以DISPLAY=:0在那里设置并运行某些内容。也许这仍然有效?从 shell 中,您需要X&将其置于后台。

查看-geometry标准 X 命令行参数来调整窗口的位置,因为您没有窗口管理器来帮助您完成此操作。

要以非 root 身份运行某些程序,您需要研究xauth为非 root 用户设置 X 授权。

答案4

(我的声誉太低,无法评论。--> 我使用了@gertvdijk 发布的解决方案,遇到了与@tumbudu 相同的问题)

如果您无法访问 Google Chrome(Alpine Linux),Firefox 软件包可让您传递应用程序应以参数形式打开的屏幕分辨率:

firefox -height 1920 -width 1080

相关内容