从源代码构建 GNOME Shell

从源代码构建 GNOME Shell

我按照 GNOME Shell 的编译说明进行操作,它确实编译成功了,但出现了一些错误,无法运行。我安装了 GNOME Shell,sudo apt-get install gnome-shell但我得到的是 2.31.x 版本,而最新版本是 2.91.5 或类似版本。那么我有没有办法安装最新版本?

是否有一些可用于最新版本的存储库?

答案1

从软件中心安装(11.10 及更新版本)

打开软件中心搜索“gnome shell”并安装,或者直接点击此按钮:

通过软件中心安装

在此处输入图片描述

安装完成后,注销。

  • 对于 11.10

    在登录屏幕上单击小齿轮图标并从菜单中选择“GNOME”。

    截图来源于 datengrund.de/wp-content/uploads/2012/03/1.png

  • 对于 12.04 和 12.10

    在登录屏幕上单击显示的图标并从菜单中选择“GNOME”。

    在此处输入图片描述

    截图来源于 3.bp.blogspot.com/-2Z6BaRDokKs/T5pFnOu92sI/AAAAAAAADtg/bD8BAJuEh5M/s320/Gnome-Shell-session-menu.png

之后只需输入您的密码并登录:

登录管理器将记住您上次进入的会话,因此您只需选择 GNOME 一次,之后即可正常登录。

进一步定制

如果您喜欢老式的体验,也可以使用后备模式:

如果你使用自动登录,你可能需要告诉 lightdm 始终使用 shell:

与其一起安装的其他好东西

命令行说明:

 sudo apt-get install gnome-shell


向何处报告问题:

  • 关于 GNOME3 打包的讨论(左下角的邮件列表链接):https://launchpad.net/~gnome3-team
    • 该软件包的大多数问题和故障都可以列在这个列表中,它应该是您报告问题和故障的第一个地方。
  • 与包装无关的错误报告:https://bugzilla.gnome.org/
    • 如果 GNOME3 运行不正常,则可能与包装有关,所以请不要随意向 GNOME 报告错误,除非您确信这是上游 GNOME 的问题。
    • 如果您不确定是否应该向上游报告该错误,那么请在 IRC 或上面的邮件列表中询问某人,如果您需要帮助确定是否应该向 GNOME 报告某些内容。

答案2

从源代码构建 GNOME Shell

(最后内容更新:2011 年 2 月 11 日,基于官方指南,请随意编辑。)

0. 编译期间的警告/错误

GNOME Shell 正在大力开发,源代码通常每天更新几次。虽然下面的说明通常应该有效,但成功编译可能需要一些技巧,或者根本无法成功。

如果遇到任何问题,请检查:

当前的问题:

  • 需要删除库目录中的几个文件,否则编译将失败。在进行系统更新时,这些文件可能会返回:读取解释为什么需要删除这些文件以及如何防止升级重新安装它们。

    sudo rm -rf /usr/lib*/*.la
    

    (不用担心,这不会损害您的系统!)

  • 在运行 GNOME Shell 之前,您需要在构建过程后删除一个文件:

    rm ~/gnome-shell/install/lib*/gtk-3.0/modules/libcanberra-gtk-module.so
    


1. 构建 GNOME Shell

(在 Ubuntu 10.10 32 位和 Ubuntu 11.04 64 位开发版本上测试。)

以下操作将以类似沙盒的方式下载、编译和安装 GNOME Shell - 这意味着它不会影响系统的其余部分!

  • 安装依赖项:

    sudo apt-get install curl dpkg-dev autopoint libedataserverui1.2-dev \
    libecal1.2-dev evolution-data-server-dev libcups2-dev libupower-glib-dev \
    libgnome-keyring-dev libxklavier-dev libvorbis-dev libltdl-dev \
    libgstreamer0.10-dev libcroco3-dev xserver-xephyr xulrunner-dev \
    python-dev libpam0g-dev mesa-utils mesa-common-dev libxml2-dev \
    libreadline5-dev libpulse-dev liborbit2-dev libgl1-mesa-dev libwnck-dev \
    libtiff4-dev libstartup-notification0-dev libpng12-dev libjpeg62-dev \
    libjasper-dev libgtop2-dev libgnome-desktop-dev libgnome-menu-dev \
    libffi-dev libexpat1-dev libdbus-glib-1-dev icon-naming-utils \
    gtk-doc-tools gnome-common git-core gettext flex bison automake cvs
    
  • 获取 GNOME Shell 的安装脚本:

    curl -O https://git.gnome.org/browse/gnome-shell/plain/tools/build/gnome-shell-build-setup.sh
    
  • 构建构建工具jhbuild并下载配置文件:

    /bin/bash gnome-shell-build-setup.sh
    
  • 这将安装jhbuild~/bin,您需要将其添加到您的PATH变量中:

    . ~/.profile
    
  • [选修的]:您可以jhbuild通过编辑文件来更改下载源的路径等几个选项~/.jhbuildrc-custom

  • 开始构建过程:

    jhbuild build
    

这将(目前)编译 33 个模块。喝杯咖啡,小睡一会儿 -> 这需要一些时间。

一旦看到,*** success *** [33/33]您就完成了。恭喜,您刚刚编译了 GNOME Shell!

2. 运行 GNOME Shell

  • 如果您正在运行 Compiz,则首先需要将其停止(通过启动 Metacity),否则 GNOME Shell 将无法启动:

    metacity --replace &
    
  • 最后运行:

    cd ~/gnome-shell/source/gnome-shell/src
    ./gnome-shell --replace
    

就这样,希望您现在能够运行 GNOME Shell。

3. 将 GNOME Shell 设为默认窗口管理器

在 Ubuntu 10.10 中,您可以通过更改 GConf 键简单地替换 GNOME 会话的窗口管理器:

  • 为 GNOME Shell 创建本地 .desktop 启动器:

    ln -s ~/gnome-shell/install/share/applications/gnome-shell.desktop ~/.local/share/applications/gnome-shell.desktop
    
  • 然后将会话的窗口管理器更改为 GNOME Shell:

    gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-shell" -t string
    
  • 要恢复更改,请运行:

    gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-wm" -t string
    

在 Ubuntu 11.04 中,更改窗口管理器键似乎不起作用。相反,您可以添加一个新的会话项,您可以在 GDM 登录屏幕上选择它。因此,您需要像上面一样创建本地 .desktop 文件,然后创建两个文件:

  1. 会话文件/usr/share/gnome-sessions/sessions/gnome-shell.session::

    [GNOME Session]
    Name=gnome-shell
    Required=windowmanager;
    Required-windowmanager=gnome-shell
    DefaultApps=gnome-settings-daemon;
    
  2. 指向会话文件的会话项/usr/share/xsessions/gnome-shell.desktop::

    [Desktop Entry]
    Name=GNOME Shell
    Comment=This session logs you into Ubuntu
    Exec=gnome-session --session=gnome-shell
    TryExec=gnome-session
    Icon=
    Type=Application
    X-Ubuntu-Gettext-Domain=gnome-session-2.0
    

退出后你就可以选择GNOME Shell作为会话。

4. 更新 GNOME Shell

  • 跑步

    jhbuild build
    

    应该更新源并重建必要内容。

  • 如果某个模块失败,您会得到如下结果:

    fatal: git-write-tree: error building trees
    Cannot save the current index state
    *** Error during phase checkout of gdk-pixbuf: ########## Error running git stash save jhbuild-stash *** [7/33]
    

    然后您可以尝试清除当前模块目录并通过选择选项 6 从干净的源开始:

    [6] Go to phase "wipe directory and start over"
    
  • 如果这没有帮助,您可以通过运行从头开始:

    jhbuild build -afc
    

还是编译不成功?那么检查 0 中提到的地方。

答案3

适用于 12.04 及更高版本

如果您拥有最新的稳定版本,则可以将软件包升级到下一个 gnome 版本,但出于稳定性原因,一些软件包将保留在以前的版本中。您可以添加两个 gnome 测试 ppa,其中包含未进入最新稳定版本的附加软件包然而有机会这些会破坏你的系统

这不太可能被认为“稳定”至少一个月,可能更长。

sudo add-apt-repository ppa:gnome3-team/gnome3
sudo add-apt-repository ppa:ricotz/testing 

然后更新您的系统。

警告:如果您立即在新版本的 Gnome-Shell 上尝试此操作,它将破坏很多东西。确实会。

你仍然可以使用这些 ppa,但你应该预计会有很多破损。请自行承担风险,添加这些 ppa,然后:

sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install gnome-shell

答案4

听从 Jon 的建议。不过,安装后,Gnome 的外观可能并不像您期望的那样。

我自己也听从了 Jon 的建议,但他和其他人忽略了一件事,那就是您可能需要删除gnome-accessibility-themes并安装gnome-themes-standard,以防这些不是默认安装的。否则 Gnome 3 及其窗口装饰看起来就不那么漂亮了。

您可以通过图形方式或从终端进行操作:

sudo apt-get remove gnome-accessibility-themes
sudo apt-get install gnome-themes-standard

如果您的桌面看起来仍然不像您在网上的屏幕截图中看到的那样,您可能需要运行gnome-tweak-tool(如果尚未安装,请安装它),转到界面部分,在“Gtk+ 主题”和“光标主题”字段中选择 Adwaita,图标主题为“gnome”。它应该会呈现默认的 Gnome 3 外观。

一个额外的可选步骤是安装添加gnome-backgrounds默认 Gnome 桌面壁纸的软件包,您稍后可以在系统设置->背景中设置它。

相关内容