![启动没有桌面环境的 ubuntu 但启动一个 X 应用程序](https://linux22.com/image/1099366/%E5%90%AF%E5%8A%A8%E6%B2%A1%E6%9C%89%E6%A1%8C%E9%9D%A2%E7%8E%AF%E5%A2%83%E7%9A%84%20ubuntu%20%E4%BD%86%E5%90%AF%E5%8A%A8%E4%B8%80%E4%B8%AA%20X%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F.png)
我想做一台小型计算机,仅用于上网。我不想加载桌面环境,以尽可能降低 RAM、CPU 和 GPU 的使用率。这台计算机将在 ARM CPU 上运行。我不在乎我使用的发行版,我考虑过老式的普通 Debian。
答案1
我知道这个已经过时了,但是根据我的理解,我看不到该请求的正确答案,因此这里是:
我有一个项目,用于在一台配备 Atom 处理器和触摸屏的简单计算机上创建一个运行特定图形 Java 应用程序的嵌入式系统。我的决定是避免使用这样的窗口管理器,以保持 a) 简单、b) 轻便和 c) 避免各种系统消息突然出现在屏幕上。
该系统如下所示:
安装基本 Ubuntu 系统,12.04 的最轻量版本(仍然接近 1GB,但对我来说,即使在 2GB 闪存盘上也可以)。您可以稍微折磨一下,以进行较小的安装,当然,有几种方法可以做到这一点。此外,您不必使用 Ubuntu,但应该查看下面的说明 - 发行版之间存在差异,尤其是在配置文件及其位置方面。
安装 xorg 和其他一些有用的软件,例如用于电阻式触摸屏的 xinput-calibrator、用于实时以太网连接检测的 ifplugd、用于电源按钮操作检测的 acpid 等等。
打开 /etc/init/tty1.conf 并将
exec /sbin/getty -8 -i 38400 tty1
行更改为类似的内容exec /sbin/getty -8 -i 38400 tty1 -a username
,其中“username”是您希望自动登录的用户的名称。要自动启动 X 会话,请打开用户的 .bashrc 文件
~/.bashrc
并在文件末尾添加如下内容:if [ $(tty) == "/dev/tty1" ]; then while true; do startx -- -nocursor -depth 16; echo "Again [$?]..."; done fi
(-nocursor 适用于触摸屏,将其删除后,普通屏幕才能看到鼠标指针)这将重新启动 X 服务器,因此如果您的应用程序因任何原因退出,它将自动重新启动 X 服务器。
现在在您的用户的 .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
创建
/usr/share/xsessions/
一个“.desktop”格式的文件来创建您的自定义最小会话。若要在登录后将 Google Chrome 作为唯一应用程序运行,请执行以下操作:[Desktop Entry] Type=Application Exec=google-chrome Name=Google Chrome Comment=Testing
重新启动显示管理器,例如
sudo restart lightdm # or kdm, gdm, etc.
或者直接退出。
“Google Chrome” 应该出现在会话列表中以供选择(在常规 Unity 或您已安装的其他 DE 旁边)。
登录并享受。
选修的
XDM 是一个非常小的显示管理器 - LightDM、GDM 和 KDM 相当“大”。使用包安装它西迪姆
并使用以下方式重新配置系统启动时的默认设置
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