Is there any way to Install Latest Nautilus File Manager in Ubuntu 12.04 LTS

18,481

You can try to upgrade several important packages (gtk, glib, etc.) from the ricotz/testing ppa, then compile Nautilus 3.6 from source.


NOTE: Due to you are going to upgrade several important packages of your system, I strongly recommend to do this in a Virtual Machine or in a Test Machine only for testing purposes to see is everything is OK.


Make sure you have enable the "Source code repository"

In the Menu Bar choose Edit -> Software Sources. Click to enable "Source code repository". Just in case I use the "Main Server" to Download.

enter image description here

Then..

  • sudo apt-get update

1) Open a Terminal and install the following packages.

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

2) Install build dependencies.

  • sudo apt-get build-dep nautilus

3) Add ricotz ppa and upgrade the system.

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

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

  • sudo apt-get dist-upgrade

4) Trash-Full icon in nautilus-places.

Nautilus 3.6.3 use the following icon for the trash-full (user-trash-full-symbolic.svg), not present by default in Ubuntu 12.04.
You can grab the icon from Ubuntu 13.04 to put it in /usr/share/icons/gnome/scalable/status/ directory.

To avoid this:

enter image description here

Once you have the correct icon type in the Terminal.

  • 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/

To look like this:

enter image description here

5) Create a folder to download the source code.

  • mkdir ~/Downloads/src

  • cd ~/Downloads/src

6) Download the nautilus 3.6.3 (raring) source code from Launchpad.

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

7) Extract the source code.

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

8) Basic steps to compile & install. (You can change the steps according to your needs, add prefix etc.).

  • cd nautilus-3.6.3/

  • ./configure

  • make

  • sudo make install

9) Kill nautilus.

  • pkill nautilus

10) Just in case... set default prefereces like show-desktop-icons, no show trash-icon in desktop, etc.

  • 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) Finally reboot the system to see the changes.

Result:

enter image description here

Hope this helps.

Share:
18,481

Related videos on Youtube

Saurav Kumar
Author by

Saurav Kumar

Pursued Master in Computer Application from SRM University. Python and Django full stack developer. You know you're in love when you can't fall asleep because reality is finally better than your dreams..

Updated on September 18, 2022

Comments

  • Saurav Kumar
    Saurav Kumar over 1 year

    I am so desperate to use Nautilus File Manager 3.6 or above in Ubuntu 12.04 LTS. I have tried a lot of ways but finally tired to ask this question.

    • I went for this link: How do I install Nautilus 3.6 in 12.10? but it was not my solution.

    • I tried to install using binary package downloaded from here but it was so difficult to resolve all dependency packages. The list was not going to end.

    • I tried to add repository: ppa:gnome3-team/gnome3 but it says: nautilus is already the newest version.

    Nautilus is by default in Ubuntu 13.04. Its features like search files and folder and lighting speed make me mad. But unfortunately I want to stick with Ubuntu LTS version.

    Edit

    I don't know how but following link shows Files (Nautilus) 3.6 installed in Ubuntu 12.04 :

    Files (Nautilus) 3.6.0 Final Available for Download

    image

    Now my excitement has reached to its peak. Is there really a way to install latest version in Ubuntu 12.04?

    Any help will be greatly appreciated. Thanks in advance!!

    Edit: Tried to install as suggested by Roman Raguet

    1. First step executed without any error and installed listed packages successfully.

    2. When executed 2nd step: sudo apt-get build-dep nautilus got following error:

      E: Unable to find a source package for nautilus
      

      so thought to skip this and continue with next step.

    3. 3rd step also executed successfully and downloaded and installed around 40 to 50 Mb of packages.

    4. Skipped 4th step, thought it as not that much important(ok if trash icon doesn't appear).

    5. Finished 5th, 6th and 7th step and reached to 8th step.

    6. When compiled using ./configure got errors as shown following:

      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.
      
    • blade19899
      blade19899 over 10 years
      To compile, you could resolve dependencies like so, sudo apt-get build-dep nautilus?
    • Saurav Kumar
      Saurav Kumar over 10 years
      It says: E: Unable to find a source package for nautilus Do I need to add some repository? I tried adding: ppa:gnome3-team/gnome3 , ppa:ricotz/stating and ppa:ricotz/testing but no result! Did you install it in Ubuntu 12.04?
    • blade19899
      blade19899 over 10 years
      I dont think that nautilus under 12.04 is supported. Edit I dont know how, but softpedia got it to work? - news.softpedia.com/news/…
    • Saurav Kumar
      Saurav Kumar over 10 years
      @blade19899: I don't know how did they install in Ubuntu 12.04. The download they are providing is nothing but the binary package which I've already used to install it.. :(
  • Saurav Kumar
    Saurav Kumar over 10 years
    Please give a look at my edit..
  • Roman Raguet
    Roman Raguet over 10 years
    @SauravKumar... I Edited my asnswer.
  • Saurav Kumar
    Saurav Kumar over 10 years
    You are genius.. :D Thanks you so much.. I successfully installed nautilus 3.6.x. I got some unmet dependencies while executing sudo apt-get build-dep nautilus but that was not a problem, I solved it using Synaptic and after that everything runs so smoothly.. Thanks a ton to you.. :D
  • Roman Raguet
    Roman Raguet over 10 years
    Glad to help!.. but remember I strongly recommend only for testing purposes..due to the critical packages upgraded in your system.
  • Alain Coste
    Alain Coste over 10 years
    @SauravKumar does nautilus3.6.x work well in ubuntu12.04 ? I wanna install too.
  • Saurav Kumar
    Saurav Kumar over 10 years
    @David: It works without any problem. One thing I noticed that it doesn't search the files and folders which are as sub-directories. For example: Suppose you are at you Home directory and you type doc it will only search and list all files and folders with name doc which is in the current directory. i,e doc named files and folders available under <current_directory>/Music will not be searched. Apart from this I don't see any difference. I hope you understand me.