当前位置: 首页>>技术教程>>正文


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

问题描述

我想做一台只用于浏览互联网的小型计算机。我不想加载桌面环境以尽可能降低 RAM、CPU 和 GPU 使用率。计算机将在 ARM CPU 上运行。我不在乎我使用的发行版,我想到了旧的纯 Debian。

最佳办法

  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 旁边)。登录并享受。

optional

  • XDM 是一个非常小的显示管理器 – LightDM、GDM 和 KDM 相当 “big”。使用包 xdm 安装它并重新配置系统启动时的默认值

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

次佳办法

我知道这个已经过时了,但我看不到我理解的请求的正确答案,所以这里是:

我有一个项目,用于在带有 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
    

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12043.html,未经允许,请勿转载。