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

Sau*_*mar 6 nautilus filemanager 12.04

我非常渴望在Ubuntu 12.04 LTS 中使用Nautilus File Manager 3.6或更高版本。我尝试了很多方法,但最终还是厌倦了问这个问题。

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

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

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

Nautilus 在 Ubuntu 13.04 中是默认的。它的功能喜欢search files and folder并且lighting speed让我发疯。但不幸的是,我想坚持使用 Ubuntu LTS 版本。

编辑

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

文件 (Nautilus) 3.6.0 Final 可供下载

图片

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

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

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

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

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

    E: Unable to find a source package for nautilus
    
    Run Code Online (Sandbox Code Playgroud)

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

  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.
    
    Run Code Online (Sandbox Code Playgroud)

Rom*_*uet 5

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


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


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

在菜单栏中选择Edit -> Software Sources。单击以启用“源代码存储库”。以防万一我使用“主服务器”下载。

在此处输入图片说明

然后..

  • 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 中的垃圾箱图标。

Nautilus 3.6.3 使用以下图标作为垃圾桶(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(稀有)源代码。

  • 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)以防万一......设置默认首选项,如显示桌面图标,桌面不显示垃圾图标等。

  • 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)最后重新启动系统以查看更改。

结果:

在此处输入图片说明

希望这可以帮助。