Difference between revisions of "Getting File Managers to work properly in Window Managers"

From Manjaro Linux
Jump to: navigation, search
Line 1: Line 1:
= Overview =
= Overview =
{{warning|The KDE file manager requires different versions of the packages outlined below. This is covered in '''[[Enable preview files in Dolphin]]'''.}}
{{tip|Where installing a Window Manager in the Net-Edition, it would also be worthwhile reviewing the article on '''[[Getting Window Managers to work properly]]'''.}}
{{tip|Where installing a Window Manager in the Net-Edition, it would also be worthwhile reviewing the article on '''[[Getting Window Managers to work properly]]'''.}}

Revision as of 20:54, 17 November 2013


Warning: The KDE file manager requires different versions of the packages outlined below. This is covered in Enable preview files in Dolphin.
Tip: Where installing a Window Manager in the Net-Edition, it would also be worthwhile reviewing the article on Getting Window Managers to work properly.
note: This issue does not apply to full desktop environments such as XFCE, KDE, Cinnamon, or the Manjaro Openbox flavour. In addition, where a window manager has been installed alongside one of these environments, its chosen File Manager will also source the appropriate software packages provided by them. As such, this article primarily applies to those installing a Window Manager such as openbox, Fluxbox, Awesome, or i3 alone on the Net-Edition of Manjaro.

Installing a File Manager alone on a base system (as provided by the Net-Edition) is comparable to installing a Window Manager such as Openbox or Awesome instead of a desktop environment such as XFCE or Cinnamon. Whereas XFCE will already be pre-configured with a host of pre-installed applications and tools to provide numerous features by default, Openbox only provides a basic foundation to build upon. In the latter instance, the user must determine the configurations, applications, tools, and therefore features that are to be provided.

Exactly the same principal applies to File Managers. Where supplied in full desktop environments, the numerous features provided by - and usually expected of - File Managers have in fact been added by the desktop developers themselves. For example, just like every other aspect of XFCE, its File Manager (Thunar) has also been pre-configured for you. More specifically, this has included adding special configurations and installing additional software packages to:

  • Display or access other partitions
  • Display, mount, or access removable media such as USB sticks, DVDs, or digital cameras
  • Automatically mount removable media when inserted or connected
  • Extract zipped or compressed files
  • Provide thumbnails of images or pdf files
  • Support networking / shared networks with other installed operating systems

A basic file manager in and of itself does not and cannot provide any of these features. It would seem that without realising this, a quite a few (mostly new) users have been caught out, becoming increasingly frustrated and confused when their chosen File Manager is apparently incapable of even the most basic of abilities. This included the author of this article. However, the reality is that where installing in a Window Manager, it is enirely up to the user to determine the nature and extent of the features provided by their chosen File Manager. More specifically, this may largely be determined by selecting what particular software packages to install to enable specific features.

Adding Extra Features to a File Manager

Tip: More File Manager features inevitably means the use of more memory. Where building a desktop environment for older or less powerful systems, consider potential resource savings in this context.

It is worthwhile noting that where installing additional software packages to provide extra features for a File Manager, they will also be automatically sourced by any other installed File Managers, too. This includes File Managers used in other Window Managers or Desktop Environments installed on your system. In essence, the software packages themselves provide general enhancements for all File Managers, rather than specifically for any particular one.

Full Desktop Environments will automatically provide most - if not all - of the software packages listed below to support and enable the features provided by their pre-configured File Managers. This is why other File Managers installed - even where used in another desktop environment or Window Manager - will also automatically possess much the same features. In other words, these extra software packages need only to be installed once to enhance any file manager used in any environment.

Displaying and Accessing Other Partitions

Tip: Users who do not wish to continually enter their password in order to access other partitions or such will find the Access Partitions Without Entering a Password article of interest.

To enable to basic ability to view and access other partitions, two additional software packages are required:

  • gamin: A file and directory monitoring system, this enables the detection of changes to your files and folders
  • gvfs: A virtual file system, this enables mounting and trash functions. There are actually quite a few gvfs packages available (listed below) which provide other additional features.

Although these may easily be installed by using Pamac, users in the process of building their intended desktop environment may particularly find the following terminal command to do so faster and easier:

sudo pacman -S gamin gvfs

There should not need to be any need to re-boot your system; the change should be immediate upon installation.

Displaying, Mounting, and Accessing Removable Media

Another gvfs software package is required to ensure that removable media such as USB sticks and CDs/DVDs can be accessed. This is gvfs-afc, which provides the file manager with additional support to handle removable media. To install this software package, enter the following command in the terminal:

sudo pacman -S gvfs-afc

Auto-Mounting Removable Media

Another source of confusion is why - despite having the necessary software packages installed - a file manager won't automount removable media when connected, or at least will only automount if and when the file manager itself is already running (i.e. it has an open window). The most direct answer to this conundrum is that - quite simply - a file manager cannot automount anything if it is not running at the time! This is just as a multimedia player such as VLC cannot play a DVD unless it has been launched to do so.

Option 1: Run the File Manager in Daemon Mode

Tip: The benefit of running a File Manager in daemon mode is that as it is already running, it should launch much faster. The disadvantage is that the system is reliant on that particular File Manager for auto-mounting, meaning that more work is required to replace it with something else, if desired.

The most obvious solution therefore is to run the File Manager in daemon mode. A daemon itself is simply a process that runs quietly in the background until it is needed. As the File Manager will therefore constantly be running - albeit in the background with no open windows - once removable media has been connected, it will then be able to detect and consequently mount that media automatically.

To do so, it will be necessary to edit the startup file / routine of your installed Window Manager, in order to add the command to start the file manager in daemon mode. The commands to start the most well-known file managers in daemon mode are as follows:

thunar --daemon
pacmanfm -d
spacefm -d
qtfm -d

Where using a different choice of File Manager than those shown above, the switch to run it in daemon mode can usually be determined by entering the following command in the terminal, in order to bring up its instruction manual:

man [name of file manager]

If this does not yield results, then an internet search should suffice. However, there is an alternative option...

Option 2: Use Udiskie

Tip: The advantage of using this option is that as a File Manager will not need to be run in daemon mode for automounting, it will be considerably easier to replace it with another one whenever desired. The disadvantage of using this option is that without enabling a special permissions override, it may be necessary to enter passwords to unmount partitions or removable media.

Udiskie is a program that provides an automounting service. Nothing more, and nothing less. This option may be preferable for users who may not wish to tie their system into the use of a particular File Manager. In addition, at least in some instances, running udiskie may require less memory than a File Manager running in daemon mode as well (e.g. it certainly uses less than PCManFM). To install udiskie, either use Pamac, or enter the following command in the terminal:

sudo pacman -S udiskie

As with running a File Manager in daemon mode, it will then be necessary to edit the startup file / routine of your installed Window Manager, in order to add the command udiskie to start it.

An Example of Auto-Starting

note: The Openbox autostart file is already owned by you, so it is not necessary to use the 'sudo' or 'gksu' commands. In addition, note that the use of the ampersand (&) at the end of each command line is of vital importance!

While it is beyond the scope of this guide to provide instruction on how to edit the startup files or routines of the plethora of Window Managers available, a example to do so in openbox has been provided for illustrative purposes. In this instance it will necessary to edit the Openbox autostart file. The syntax of the command to do so in the terminal is as follows:

[text editor] ~/.config/openbox/autostart

For example, if you wish to edit the file within the terminal using nano (a standard terminal-based text editor) then enter:

nano ~/.config/openbox/autostart

Otherwise - if you have installed the full version of Manjaro (i.e. not the NET-Edition) - you may find it easier to use a text editor like Gedit or Leafpad instead. This will create and open the autostart file up as a document, making it easier to read and edit. To use Gedit instead, the command is:

gedit ~/.config/openbox/autostart

Once open, to run a File Manager in daemon mode simply add one of the following commands, depending on the File Manager being used:

thunar --daemon &
pacmanfm -d &
spacefm -d &
qtfm -d &

Alternatively, to run udiskie for automounting instead, add the following command:

udiskie &

Once you have made the necessary amendments to the file, save the change and close it by:

  • nano: Press CTRL and 'x' to exit, 'y' to save, and <enter> to finish, or
  • Gedit or Leafpad: Select the 'save' option and then close the window.

Optional: Desktop Notifications

Tip: Once installed, a notification daemon will also provide useful desktop notifications for other events, such as the battery becoming fully charged or critically low on power.

It is easily possible to enable desktop notifications to confirm the successful mounting of media, through the installation of a notification daemon. While a number of such daemons are available, the recommended choice is xfce4-notifyd. Once installed, no further configuration will be required for it to work upon rebooting. To install this package via the terminal rather than Pamac, enter the following command:

sudo pacman -S xfce4-notifyd

Supporting Archiving and Extraction of Compressed Files

In order to enable the ability to extract tarballs (.tar / .tar.gz) in the File Manager, it will be necessary to install an archiver. Although several are available, file-roller is highly recommended. In addition, it will also be necessary to install some additional software packages in order to support the use of zipped files (.zip). The command to install file-roller and support for zipped files is as follows:

sudo pacman -S file-roller p7zip unzip

Once installed, files in the File Manager may consequently be right-clicked to archive or extract them.

Supporting Thumbnailing

Although of course entirely optional, the ability for the File Manager to provide thumbnail images for pictures, PDF files, and movie files can be very useful, particularly as they will not need to be opened first in order to know what they contain. To provide support for the thumbnailing of any kind, a software package called tumbler must be installed. Also automatically providing thumbnails for image files, it may be installed either through Pamac, or by entering the following command in a terminal:

sudo pacman -S tumbler

Once tumbler has been installed:

1.) To provide additional support for PDF file thumbnails, install poppler-glib:

sudo pacman -S poppler-glib

2.) To provide additional support for movie thumbnails, install ffmpegthumbnailer:

sudo pacman -S ffmpegthumbnailer

3.) To provide additional support for font file thumbnails, install freetype2:

sudo pacman -S freetype2

4.) To provide additional support for ODF file thumbnails, install libgsf:

sudo pacman -S libgsf

5.) To provide additional support for RAW file thumbnails, install libopenraw:

sudo pacman -S libopenraw

Supporting Digital Cameras

In order to transfer images / movies from some (but not all) digital cameras, it will be necessary to install the software package gvfs-gphoto2:

sudo pacman -S gvfs-gphoto2

Supporting Networking / File and Printer Sharing

Tip: For the use of bluetooth, your system must have this functionality enabled as well (e.g. through the installation of packages such as blueman). In addition, Samba should also be installed to support file and printer sharing with Microsoft Windows.

It is possible to enable the file manager to support networking. In addition to enabling support for Bluetooth, file and printer sharing with Microsoft Windows and Apple's OSX - where also installed on your system - is also possible.

1.) To support the use of file transfers via bluetooth, install gvfs-obexftp:

sudo pacman -S gvfs-obexftp

2.) To support the use of file and printer sharing with Microsoft Windows, install gvfs-smb:

sudo pacman -S gvfs-smb

3. To support the use of file and printer sharing with Apple operating systems, install gvfs-afp:

sudo pacman -S gvfs-afp

See Also