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


29

我想做一台仅用于互联网浏览的小型计算机。我不想加载桌面环境以保持RAM,CPU和GPU的使用率尽可能低。该计算机将在ARM CPU上运行。我不在乎我使用的Distro,我想到的是旧的Debian。


然后,我想建议ubuntu minimum iso并安装blackbox DE
Tachyons 2013年

我并不是真正的专家,但是我建议您看一下xsession配置(有一个xsession手册页)。如果只希望一个用户执行此操作,请在用户主目录中创建一个名为.xsession的文件,然后将要运行的命令放入其中。然后,您可能必须使用登录管理器,该登录管理器允许您登录默认的xsession而不是其他桌面环境(或禁用登录管理器,而使用startx)。尽管如此,我还是建议使用资源节省窗口管理器(Tachyons建议使用黑盒,还有许多其他选择)。
soulsource

如果不加载桌面环境,应该如何打开Internet浏览器?
dlin

5
@尼克你可以。使用普通X服务器作为“会话”而没有窗口管理器,则可以在一个应用程序中全屏运行(没有边框或其他装饰)。例如,这就是最小XBMC分发的工作方式。几年前,我在Chromium中使用10.04进行了此操作-但我没有保存确切的配置。
gertvdijk

“我想到了好老的普通Debian。” 如果考虑使用Ubuntu以外的其他发行版,则应改为在Unix和Linux StackExchange上进行询问。该Ask Ubuntu网站仅适用于Ubuntu-与Ubuntu问题无关的问题在此处被认为是题外话。
gertvdijk

Answers:


26
  1. /usr/share/xsessions/在“的.desktop”格式创建一个文件来创建自定义的,最小的会话。要在登录后将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进行安装xdm安装,并使用以下命令重新配置系统启动时的默认值:

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


1
如果需要携带整个桌面,是否只需删除.desktop文件并重新启动?
狂热的人

1
@enthusiasticgeek不需要。在登录管理器只需选择完整的桌面登录,如步骤3中说明
gertvdijk

有人知道在单个应用程序模式下切换系统输入语言很热吗?
fnc12

在单个应用程序模式下缺少鼠标指针时,有人会遇到问题吗?
fnc12

我已经开始使用google-chrome --kiosk,但是它并没有占据完整的屏幕。
tumbudu 2015年

24

我知道这已经过时了,但是据我了解,我看不到该请求的正确答案,所以就这样:

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

系统看起来像这样:

  1. 安装基本的Ubuntu系统,最轻的版本12.04(仍然接近1GB,但即使在2GB闪存盘上也可以)。您可以折磨一下以进行较小的安装,当然,有几种方法可以实现。另外,您不必使用Ubuntu,但应仔细阅读下面的说明-发行版之间存在差异,尤其是在配置文件及其位置上。

  2. 安装xorg和其他一些有用的有用软件,例如用于我的电阻式触摸屏的xinput-calibrator,用于实时以太网连接检测的ifplug插入,用于电源按钮操作检测的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
    

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


1

在过去,您可以运行X,而X会在黑屏的情况下启动。然后,您可以DISPLAY=:0在那里设置并运行某些东西。也许这仍然有效?您需要从外壳中将其X&作为背景。

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

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


-3

首先,我不了解您应该如何在不加载桌面环境的情况下打开Web浏览器。就像想在不打开烤箱的情况下做饭一样。。好的,使用X Server可以解决问题。

您要寻找的是选择要在引导过程中启动的应用程序。

  • 在Ubuntu / Unity中:

    点击顶部面板右上角的齿轮图标。选择启动应用程序

    打开后,将为您显示操作系统启动时系统启动的应用程序列表。

    点击右上角的添加

    您将看到一个对话框。

    在出现的对话框中:

    1)在“名称”字段中输入程序的名称

    2)在“命令”字段中输入命令以运行程序。

    3)在“评论”字段中输入您想要的任何评论。

    例如:

    单击保存关闭

  • 在Gnome shell中:

    按下Alt+F2以弹出“运行”对话框。

    输入gnome-session-properties

    点击“添加”按钮。

    在出现的对话框中:

    1)在“名称”字段中输入程序的名称

    2)在“命令”字段中输入命令以运行程序。

    3)在“评论”字段中输入您想要的任何评论。

    单击保存关闭

  • 在KDE中:

    转到K菜单>计算机>系统设置。

    选择启动和关闭,然后单击添加程序按钮。

    键入命令以运行程序,然后单击“ 确定”

  • 在LXDE中:

    在终端中运行以下命令:

    mkdir -p ~/.config/lxsession/LXDE/
    touch ~/.config/lxsessions/LXDE/autostart
    leafpad ~/.config/lxsessions/LXDE/autostart
    

    将此行添加到自动启动文件:

    @program_command
    

    单击保存关闭

  • 在LXDE / Lubuntu中:

    自动启动文件已存在,位于 ~./config/lxsession/Lubuntu/autostart.

    只需按照上述方式使用此文件而不是制作一个新文件即可。

  • 在XFCE中:

    在“应用程序”菜单中,打开“设置管理器”,然后选择“ 会话和启动”

    在“ 应用程序自动启动”选项卡上,单击“ 添加”按钮。

    1)在“名称”字段中输入程序的名称

    2)在“命令”字段中输入命令以运行程序。

    3)在“评论”字段中输入您想要的任何评论。

    单击保存关闭

  • 由于您只想启动Web浏览器(我猜是firefox),因此可以从启动应用程序列表中删除以下程序列表:

    -蓝牙管理器-Deja Dup-Gnome Do-Gnome登录声音-指示器工作区-Ubuntu One-视觉协助-远程桌面-Pulseaudio

    但绝对取决于您。


    12
    我认为问题在于在没有桌面环境的情况下启动应用程序。您的答案是关于DE启动后启动应用程序的。
    gertvdijk
    By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
    Licensed under cc by-sa 3.0 with attribution required.