更改窗口管理器 unity-2d 在登录时启动

Ros*_*son 1 window-manager 11.04 unity-2d

此问题相反,我想更改登录时unity-2d启动的窗口管理器。IOW,当我在欢迎屏幕上选择“Unity 2d”会话并登录时,我想更改以下内容启动不同的窗口管理器而不是 metacity.

既不设置:

/desktop/gnome/applications/window_manager/default

也不是

/desktop/gnome/session/required_components/windowmanager

gconf 键似乎有所作为。
如何才能做到这一点?我正在运行 Ubuntu 11.04。

$ apt-cache policy unity-2d
unity-2d:
  Installed: 3.8.4.1-0ubuntu1
  Candidate: 3.8.4.1-0ubuntu1
  Version table:
 *** 3.8.4.1-0ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ natty/main i386 Packages
        100 /var/lib/dpkg/status
Run Code Online (Sandbox Code Playgroud)

小智 5

Unity 2D 在很大程度上独立于窗口管理器。然而,Unity 2D 会话将 metacity 定义为窗口管理器并忽略您列出的相关 gconf 键。

如果您查看 /usr/share/gnome-session/sessions,您将看到为 gnome-session 的好处而定义的不同会话。

您可以创建一个新会话。例如,这是我的,名为 2d-ubuntu-compiz.session:

[GNOME Session]
Name=Unity 2D with Compiz
Required=windowmanager;panel;filemanager;
Required-windowmanager=compiz
Required-panel=unity-2d-panel
Required-filemanager=nautilus
DefaultApps=gnome-settings-daemon;unity-2d-launcher;
FallbackSession=classic-gnome
Run Code Online (Sandbox Code Playgroud)

您还可以将行更改为 Required-windowmanager=gnome-wm

然后应该尊重窗口管理器的 gconf 键。

然后,您只需将您的新会话告诉登录管理器 (gdm)。在 /usr/share/xsessions 中创建一个新文件。这是我的,叫做 unity-2D-compiz.desktop

[Desktop Entry]
Name=Unity 2D with Compiz
Comment=This session logs you into Unity 2D
Exec=gnome-session --session=2d-ubuntu-compiz
TryExec=gnome-session
Icon=
Type=Application
X-Ubuntu-Gettext-Domain=unity-2d
Run Code Online (Sandbox Code Playgroud)