有没有办法在Ubuntu 12.04 LTS中安装最新的Nautilus文件管理器

我非常渴望在Ubuntu 12.04 LTS中使用Nautilus文件管理器3.6或更高版本。 我尝试了很多方法,但最后厌倦了问这个问题。

  • 我去了这个链接: 如何在12.10中安装Nautilus 3.6? 但这不是我的解决方案。

  • 我尝试使用从这里下载的二进制包进行安装,但解决所有依赖包很困难。 这份名单不会结束。

  • 我试图添加存储库: ppa:gnome3-team/gnome3但它说: nautilus is already the newest version.

默认情况下,Nautilus是Ubuntu 13.04。 它的function,如search files and folderlighting speed让我很生气。 但不幸的是我想坚持使用Ubuntu LTS版本。

编辑

我不知道如何,但以下链接显示Ubuntu 12.04安装的Files (Nautilus) 3.6

文件(Nautilus)3.6.0最终可供下载

图片

现在我的兴奋已达到顶峰。 有没有办法在Ubuntu 12.04中安装最新版本?

任何帮助将不胜感激。 提前致谢!!

编辑:尝试按照Roman Raguet的建议进行安装

  1. 执行第一步没有任何错误,并成功安装列出的包。

  2. 执行第二步时: sudo apt-get build-dep nautilus出现以下错误:

     E: Unable to find a source package for nautilus 

    所以想跳过这个并继续下一步。

  3. 第3步也成功执行并下载并安装了大约40 to 50 Mb的软件包。

  4. 跳过第4步,认为它不是那么重要(好吧,如果垃圾图标没有出现)。

  5. 完成第5步, 第6步和 7步,并达到第8步。

  6. 使用./configure编译时出现如下错误:

     saurav@saurav-P4I45Gx-PE:~/Downloads/src/nautilus-3.6.3$ ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking how to create a ustar tar archive... gnutar checking whether make supports nested variables... yes checking whether to enable maintainer-specific portions of Makefiles... yes checking for style of include used by make... GNU checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking whether byte ordering is bigendian... no checking for an ANSI C-conforming const... yes checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (cached) none needed checking dependency style of gcc... (cached) gcc3 checking how to run the C preprocessor... gcc -E checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking the maximum length of command line arguments... 1572864 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert i686-pc-linux-gnu file names to i686-pc-linux-gnu format... func_convert_file_noop checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... dlltool checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for mt... mt checking if mt is a manifest tool... no checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking for pkg-config... /usr/bin/pkg-config checking for floor in -lm... yes checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking for LC_MESSAGES... yes checking libintl.h usability... yes checking libintl.h presence... yes checking for libintl.h... yes checking for ngettext in libc... yes checking for dgettext in libc... yes checking for bind_textdomain_codeset... yes checking for msgfmt... /usr/bin/msgfmt checking for dcgettext... yes checking if msgfmt accepts -c... yes checking for gmsgfmt... /usr/bin/msgfmt checking for xgettext... /usr/bin/xgettext checking pkg-config is at least version 0.16... yes checking whether NLS is requested... yes checking for intltool >= 0.40.1... 0.50.2 found checking for intltool-update... /usr/bin/intltool-update checking for intltool-merge... /usr/bin/intltool-merge checking for intltool-extract... /usr/bin/intltool-extract checking for xgettext... (cached) /usr/bin/xgettext checking for msgmerge... /usr/bin/msgmerge checking for msgfmt... (cached) /usr/bin/msgfmt checking for gmsgfmt... (cached) /usr/bin/msgfmt checking for perl... /usr/bin/perl checking for perl >= 5.8.1... 5.14.2 checking for XML::Parser... ok checking for gtkdoc-check... no checking for gtkdoc-rebase... no checking for gtkdoc-mkpdf... no checking whether to build gtk-doc documentation... no checking for perl5... no checking for perl... perl checking for glib-genmarshal... /usr/bin/glib-genmarshal checking sys/mount.h usability... yes checking sys/mount.h presence... yes checking for sys/mount.h... yes checking sys/vfs.h usability... yes checking sys/vfs.h presence... yes checking for sys/vfs.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking malloc.h usability... yes checking malloc.h presence... yes checking for malloc.h... yes checking for mallopt... yes checking for EXIF... yes checking for EXEMPI... yes checking for is_selinux_enabled in -lselinux... no checking for more warnings... no checking for TRACKER... yes checking for BASE... no configure: error: Package requirements ( gtk+-3.0 >= 3.5.12 glib-2.0 >= 2.33.13 ) were not met: No package 'gtk+-3.0' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables BASE_CFLAGS and BASE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. 

您可以尝试从ricotz / testing ppa升级几个重要的包(gtk,glib等) ,然后从源代码编译Nautilus 3.6


注意:由于您要升级系统的几个重要软件包,我强烈建议您在虚拟机或测试机器中执行此操作仅用于测试目的,以确保一切正常。


确保您已启用“源代码存储库”

在菜单栏中,选择“ 编辑” – >“软件源” 。 单击以启用“源代码存储库” 。 以防我使用“主服务器”下载。

在此处输入图像描述

然后..

  • sudo apt-get update

1)打开终端并安装以下软件包。

  • sudo apt-get install build-essential libtracker-sparql-0.14-dev wget

2)安装构建依赖项。

  • sudo apt-get build-dep nautilus

3)添加ricotz ppa并升级系统。

  • sudo add-apt-repository ppa:ricotz/testing

  • sudo apt-get update && sudo apt-get upgrade

  • sudo apt-get dist-upgrade

4) nautilus-places中的Trash-Full图标。

Nautilus 3.6.3对trash-full (user-trash-full-symbolic.svg)使用以下图标,默认情况下在Ubuntu 12.04中不存在。
您可以从Ubuntu 13.04中获取图标,将其放在/ usr / share / icons / gnome / scalable / status /目录中。

为了避免这种情况

在此处输入图像描述

在终端中获得正确的图标类型后。

  • sudo mv /path/to/trash/image/user-trash-full-symbolic.svg /usr/share/icons/gnome/scalable/status/
  • sudo chmod 644 /usr/share/icons/gnome/scalable/status/user-trash-full-symbolic.svg
  • sudo gtk-update-icon-cache /usr/share/icons/gnome/

看起来像这样:

在此处输入图像描述

5)创建一个文件夹来下载源代码。

  • mkdir ~/Downloads/src

  • cd ~/Downloads/src

6)从Launchpad下载nautilus 3.6.3(raring)源代码。

  • wget https://launchpad.net/ubuntu/raring/+source/nautilus/1:3.6.3-0ubuntu16/+files/nautilus_3.6.3.orig.tar.xz

7)提取源代码。

  • tar -xvf nautilus_3.6.3.orig.tar.xz

8)编译和安装的基本步骤。 (您可以根据需要更改步骤,添加前缀等)

  • cd nautilus-3.6.3/

  • ./configure

  • make

  • sudo make install

9)杀死鹦鹉螺。

  • pkill nautilus

10)以防万一…设置默认优先级如show-desktop-icons,在桌面上没有显示垃圾桶图标等。

  • gsettings set org.gnome.nautilus.desktop trash-icon-visible false

  • gsettings set org.gnome.nautilus.desktop home-icon-visible false

  • gsettings set org.gnome.desktop.background show-desktop-icons true

11)最后重启系统以查看更改。

结果:

在此处输入图像描述

希望这可以帮助。