如何将窗口管理器恢复为默认值?

如何将窗口管理器恢复为默认值?

我想创建一个 Ubuntu 信息亭,然后我按照以下说明操作:https://web.archive.org/web/20131210161955/http://phunehehe.is-great.org/2010/run-linux-with-a-bare-window-manager/

通过在 /usr/share/xsessions/metacity-session.desktop 创建文件来添加自定义会话。该文件告诉登录管理器有关您的会话的信息。内容:

[Desktop Entry]
Encoding=UTF-8
Name=Metacity
Comment=Metacity without GNOME
Exec=/usr/local/bin/metacity-session
Type=Application

创建(1)/usr/local/bin/metacity-session中添加的会话要执行的文件。

content:
#!/bin/bash
if test -z "$DBUS_SESSION_BUS_ADDRESS"; then
eval `dbus-launch --sh-syntax --exit-with-session`
fi
metacity --replace ccp & wmpid=$!
sleep 1
if [ -f ~/.metacity-session ]; then
source ~/.metacity-session &
else
xterm &
fi
# Wait for WM
wait $wmpid

创建用户特定的配置文件 ~/.metacity-session。该文件将由(2)中添加的文件执行。内容应该是您要运行的程序,后跟一个&符号,例如

 firefox &

但是当我注销然后想使用metacity-session登录时,它不起作用(黑屏一秒钟,然后再次返回登录页面)。然后我决定重新启动计算机,然后,即使使用我的 Ubuntu 默认桌面也无法登录!因为当我尝试登录时,输入密码并登录后,我没有菜单,什么也没有!仅显示默认背景图片和鼠标指针,没有其他!

然后我尝试在另一台装有 Win10 的笔记本电脑上安装 Putty,然后通过 SSH 连接到 Ubuntu 笔记本电脑,并删除我之前创建的所有 3 个文件(上述说明中提到的 3 个文件)。但什么也没发生,我无法使用我的 Ubuntu,因为登录后什么也没有!只有背景图片,没有任何菜单。

编辑:我尝试过这些但没有用:

sudo apt-get update
sudo apt-get remove --purge ubuntu-desktop
sudo apt-get remove --purge unity
sudo apt-get install ubuntu-desktop
sudo apt-get install unity

答案1

这看起来像是您不小心覆盖了一些默认会话代码(三个文件之一,用于正常会话)。只需登录并等待几分钟,即可确保这不仅仅是由 Metacity 在不同会话后刷新其缓存引起的延迟。

如果这没有帮助,请重新安装(通过 apt)您的桌面环境(unity 或 gnome,可能称为 unity-desktop 或 gnome-desktop)。首先简单地尝试一下apt-get install --reinstall <packagename>,如果这没有帮助,apt-get remove --purge <packagename>然后正常安装。后者将擦除与 DE 相关的所有配置和本地数据,因此您可能需要重新配置。

其次,遵循已经不存在的 7 年前的教程通常不是最好的主意。即使在这里问也会是一个更好的选择。

第三,如果你想创建一个信息亭系统,你实际上不需要这么重的窗口管理器。如果您只想要一个程序带有一个窗口,只需将exec firefox(或任何程序)放入脚本文件中(默认为~/.xinitrc,假设您有一个仅使用该会话的单独用户)并启动startx。它startx的作用是启动一个裸 X 服务器并等待任何 X 客户端(任何想要显示窗口的客户端)连接。如果所有客户端都退出,它将终止 X 服务器并终止。

另一方面,如果您想要几个窗口但仍然想要一个简约的 GUI,请尝试开箱。 Openbox 是一个窗口管理器,它实际上是一个可以显示和管理窗口的黑屏。您可以通过右键单击任意位置并从可配置的上下文菜单中选择选项来启动任何内容。拱门维基一如既往地是有关该主题的宝贵信息来源。

第四,会话启动脚本有两种启动应用程序的形式。 firefox &将启动 Firefox,然后将其分叉到后台,并阅读进一步的说明。exec firefox将启动 Firefox 并停止阅读。因此,要启动“主”应用程序,而不是某些后台进程,请使用以下exec语法。

第五(这是应该如何编写它?),应该将要执行的脚本标记为可执行文件,否则可能会出现错误“文件 x 不可执行”,从而停止您正在执行的任何操作(在这种情况下,启动图形会话)。您可以使用 来将文件标记为可执行文件chmod +x <filename>。这可能是首先导致黑屏的原因,但我们永远不会知道,因为您已经删除了这些文件。

相关内容