如何更改 Raspberry Pi 上的窗口管理器?

如何更改 Raspberry Pi 上的窗口管理器?

我想在 Raspberry Pi 上尝试 X11(作为服务器运行,没有连接显示器,操作系统 Raspbian)并通过 VNC 访问它。

我不太喜欢LXDE,所以想换成另一个窗口管理器。我尝试了很多东西,但 LXDE 总是启动。

安装了以下软件包:

sudo aptitude install x-window-system xfce4 xfce4-themes x11vnc icewm fluxbox gnome tightvncserver

我正在使用以下命令运行服务器:

vncserver -geometry 800x600 :0

当我使用 RealVNC 连接到 Raspberry Pi 时,我来到 LXDE 桌面。

到目前为止我已经尝试过:

我运行sudo update-alternatives --config x-window-manager并将其从 openbox 更改为xfwm4

$ update-alternatives --config x-window-manager
Es gibt 5 Auswahlm¦glichkeiten f¦r die Alternative x-window-manager (welche /usr/bin/x-window-manager bereitstellen).

  Auswahl      Pfad                   Priorit¦t  Status
------------------------------------------------------------
  0            /usr/bin/openbox        90        Auto-Modus
  1            /usr/bin/icewm          50        manueller Modus
  2            /usr/bin/metacity       60        manueller Modus
  3            /usr/bin/openbox        90        manueller Modus
  4            /usr/bin/startfluxbox   50        manueller Modus
* 5            /usr/bin/xfwm4          60        manueller Modus

我已将/etc/X11/default-display-manager其编辑并更改/usr/sbin/lightdm/usr/bin/icewm

系统重新启动后,我再次运行 vncserver,然后再次进入 LXDE。

我在进程列表中看到 openbox 和 lxsession:

$ ps aux | grep lx
daniel    3604  0.0  0.3  12904  1516 pts/0    Sl   01:39   0:00 /usr/bin/lxsession -s LXDE -e LXDE
daniel    3614  0.1  1.3  15268  6160 pts/0    S    01:39   0:00 openbox --config-file /rasdata/profiles/daniel/.config/openbox/lxde-rc.xml
daniel    3616  0.6  2.2 113392 10060 pts/0    S    01:39   0:02 lxpanel --profile LXDE
daniel    3632  0.0  1.0  26352  4680 pts/0    Sl   01:39   0:00 /usr/lib/arm-linux-gnueabihf/lxpolkit
daniel    3684  0.0  0.1   3836   816 pts/0    S+   01:46   0:00 grep lx

我目前不确定我想要哪个窗口管理器。我会尝试所有并找出我最喜欢的一个。目前我正在尝试找到一种方法以某种方式将其从 LXDE 中改变出来。

我很喜欢KDE,但是Raspbian中好像没有包含它。在 aptitude 中找不到该包。

答案1

X11 已在您的计算机上

X11 应该已经安装在您的系统上。基本上所有的 Linux 发行版都使用它。 LXDE 运行在 Xorg 之上。 Wayland 正在成为 X Windows 的流行替代品,但仍然存在缺陷。我会等待切换到它。所以,我想说的是,你已经在使用 X11 了。如果没有的话,我会感到非常困惑。

您要做的是安装一个新的窗口管理器,这就是 LXDE。 Enlightenment 和 Openbox 是很好的轻量级替代品。 KDE 是我最喜欢的,但它有点重。对于 Rasp pi,我会坚持轻量级。如果您不打算将其连接到显示器,那么我建议使用无头系统并仅使用 ssh 的 -X 选项。

安装新的 Windows 管理器

安装新的 Windows 管理器,然后编辑 .xinitrc 以启动正确的管理器。

例如,如果您想使用 KDE,则安装 KDE(#apt-get install kde#apt-get install kdebase,这对于 pi 更好,但需要更多设置),然后更改您的 .xinitrc 文件。你会看到exec startlxde哪些需要更改为exec startkde

exec 命令将根据您对 Windows 管理器的偏好而改变。

通过 SSH 连接到你的 pi

现在,如果您正在 sshing 进入您的 pi 并希望以图形方式运行程序,那么您需要执行以下操作

ssh -X user@raspberry-pi-address:portnumber; gtk-program

如果您使用没有窗口管理器的无头系统,这仍然有效。这也将比使用 vnc 快得多。基本上,如果您没有将 Raspberry Pi 连接到显示器,则执行此操作。

答案2

答案比想象的要容易。只需安装xrdp,我就可以在我的 Windows 计算机上享受完整的 Linux 桌面环境,而无需 20 个 X-Windows 四处流动。

另外,了解“窗口管理器”、“会话管理器”、“显示管理器”之间的区别也很重要。唉,没有人解释说我可能使用了错误的术语,而且我对它们感到非常困惑,所以我不知道我需要更改这三件事中的哪一件事才能获得“新的 GUI”。

答案3

我想现在有点晚了,但如果其他人正在处理同样的问题,这就是发生的事情。

您对此感到困惑的原因是,在 VNC 服务器上运行的会话和在本地桌面上运行的会话不必相互关联。事实上,只有当您实际运行本地 GUI,然后专门提供它时,它们才会相关(默认情况下,服务器 Vino(对于 Gnome)、krfb(对于 KDE)和 x11vnc 将提供本地会话)。听起来本地 GUI 没有运行,因此您所做的通常会影响它的所有更改都没有执行任何操作,因为它从未启动。

当您在本地 GUI 之外运行 VNC 服务器时,它可能会也可能不会默认使用与本地 GUI 相同的窗口管理器。它将执行文件 ~/.vnc/xstartup 中配置的任何操作(首次启动服务器时将其复制到您的主目录中)。如果该文件告诉它运行本地定义的 GUI 的另一个副本,它就会运行。如果该文件告诉它运行其他 GUI,它就会执行此操作。因此,如果您想更改 vncserver 运行的窗口管理器,则需要更改该文件,或者更改该文件指向的脚本或链接。

相关内容