README for SpaceFM v0.7.7+ BETA TEST VERSION
For updates and instructions visit:
http://ignorantguru.github.com/spacefm/
http://ignorantguru.github.com/spacefm/news.html
http://ignorantguru.github.com/spacefm/spacefm-manual-en.html
CONTENTS
DESCRIPTION
PACKAGES
INSTALLER
BUILD
BUILD DEBUG
BUILD NEXT
CREATE DEB PACKAGE
UNINSTALL
TRANSLATIONS
LICENSE
DESCRIPTION
SpaceFM is a multi-panel tabbed file manager with built-in VFS, udev-based
device manager, customizable menu system, and bash integration.
PACKAGES
antiX's current test release includes spacefm:
http://news.softpedia.com/news/AntiX-M12-test-2-Has-Linux-Kernel-3-2-9-256940.shtml
Arch Linux's [community] repository includes spacefm:
http://www.archlinux.org/packages/community/i686/spacefm/
http://www.archlinux.org/packages/community/x86_64/spacefm/
and Arch's AUR includes spacefm-git (equivalent to BUILD NEXT):
http://aur.archlinux.org/packages.php?ID=58247
Debian-based deb packages are available in Downloads:
(to save a file, click on its filename and click 'View Raw'):
https://github.com/IgnorantGuru/spacefm/tree/master/packages
and are also available in the author's PPA:
http://igurublog.wordpress.com/downloads/ppa/
These convenience deb packages contain the source code and will build
and install SpaceFM automatically on most Debian-based distros.
$TMPDIR (usually /tmp) must NOT be mounted noexec. Or see CREATE DEB
PACKAGE below.
NOTE: SpaceFM requires libgtk >= 2.24. Debian Squeeze and Ubuntu 10.04
users also may not be able to install SpaceFM due to repositories
missing package libgdk-pixbuf2.0-0
For signatures and SHA256 sums see
http://ignorantguru.github.com/spacefm/spacefm.SHA256.txt
Foresight Lxde uses SpaceFM as its default file manager; Foresight includes
spacefm in its repositories:
http://www.foresightlinux.se/wiki-en/index.php?title=Spacefm
Gentoo's portage tree includes spacefm:
http://packages.gentoo.org/package/x11-misc/spacefm
openSUSE 12.1 repo (add the following repo to Yast software manager):
http://download.opensuse.org/repositories/home:/mournblade:/spacefm/openSUSE_12.1
openSUSE Tumbleweed repo:
http://download.opensuse.org/repositories/home:/mournblade:/spacefm/openSUSE_Tumbleweed/
openSUSE rpm packages:
http://software.opensuse.org/search?q=spacefm&baseproject=openSUSE%3A12.1&lang=en&include_home=true
PCLinuxOS has spacefm test packages available (see forum):
http://www.pclinuxos.com/
Sabayon includes spacefm in its repositories:
http://www.sabayon.org/
SliTaz includes spacefm in its repositories:
http://pkgs.slitaz.org/search.sh?lang=C&object=Package&query=spacefm&submit=Search"
Ubuntu: see 'Debian-based' above
VectorLinux has spacefm test packages available:
http://vectorlinux.com/
Other:
See INSTALLER below
NOTE: Enabling kernel polling is recommended after installing SpaceFM:
http://ignorantguru.github.com/spacefm/spacefm-manual-en.html#devices-kernpoll
INSTALLER
A self-extracting installer is available (spacefm-x.x.x-installer.sh):
https://github.com/IgnorantGuru/spacefm/tree/master/packages
(To save a file, click on its filename and click 'View Raw')
The installer requires the build dependencies listed below in BUILD. If
any dependencies are missing, examine the error, install missing packages,
and try again.
The installer MUST be run in a terminal. It automatically builds and
installs. Run it like this:
bash spacefm-x.x.x-installer.sh
or to see options:
bash spacefm-x.x.x-installer.sh --help
To reinstall or upgrade, just run the latest installer again.
NOTE: Enabling kernel polling is recommended after installing SpaceFM:
http://ignorantguru.github.com/spacefm/spacefm-manual-en.html#devices-kernpoll
BUILD
1) Install required build dependencies (below are Debian package names -
packages names on your distro may vary but should be similar):
autotools-dev bash build-essential dbus desktop-file-utils libc6
libcairo2 libdbus-1-3 libglib2.0-0 libgtk2.0-0 (>=2.24) libpango1.0-0
libstartup-notification0 libx11-6 shared-mime-info intltool pkg-config
libgtk2.0-dev libglib2.0-dev fakeroot libstartup-notification0-dev
libdbus-1-dev libgdk-pixbuf2.0-0 libudev0 (>=143) libudev-dev
NOTE: libgtk must be >= 2.24. Debian Squeeze and Ubuntu 10.04 users
may not be able to install SpaceFM due to repositories missing package
libgdk-pixbuf2.0-0
Also Recommended: udevil|pmount|udisks, eject, lsof, wget, ktsuss|gksu
IF building with HAL support, you also need:
hal libhal-dev libhal-storage-dev libdbus-glib-1-dev libhal-storage1
libhal1 libdbus-glib-1-2
and with HAL you do NOT need: libudev0 libudev-dev
IF disabling inotify support, you also need fam or gamin:
fam|gamin libfam0|libgamin0 libfam-dev|libgamin-dev
configure will report anything missing when you run it as shown below.
2) Use these commands to download the SpaceFM tarball and build:
# Download & Extract
mkdir /tmp/spacefm-build && cd /tmp/spacefm-build
wget -O spacefm.tar.gz https://github.com/IgnorantGuru/spacefm/tarball/master
tar xzf spacefm.tar.gz
cd IgnorantGuru-spacefm-*
# Build & Install
./configure
make
sudo make install
sudo update-mime-database /usr/share/mime > /dev/null
sudo update-desktop-database -q
# Remove Temporary Files
cd / && rm -rf /tmp/spacefm-build
NOTE: If configure reports missing dependencies, install them and run
configure again before proceeding to make.
NOTE: If hal support is desired (this will disable udev support and will
seriously limit device manager capabilities), add --enable-hal to the
configure command above.
NOTE: If you don't want to use the inotify kernel support and instead
want fam or gamin to detect directory changes, add to configure:
--disable-inotify
NOTE: SpaceFM supports ktsuss, gksu, gksudo, gnomesu, kdesu, and xdg-su.
To build with an additional custom su program ('/usr/bin/mysu' in this
example), add:
--with-preferable-sudo=/usr/bin/mysu # to the configure command
NOTE: Enabling kernel polling is recommended after installing SpaceFM:
http://ignorantguru.github.com/spacefm/spacefm-manual-en.html#devices-kernpoll
For general build information consult the INSTALL file.
BUILD DEBUG
If SpaceFM crashes on your system, you can help to correct this problem by
reporting it, including a full backtrace.
IF you are using Arch Linux, you can perform step 2 below, then use the AUR
spacefm-git package.
For other distros:
1) Install build dependencies (see BUILD step 1 above).
2) Install the 'gdb' GNU Debugger, and debugging symbols for gtk. For example
on Debian, this is done like this (packages on other distros should have
similar names):
apt-get install gdb libc6-dbg libglib2.0-0-dbg libgtk2.0-0-dbg librsvg2-dbg
3) Use these commands to download the SpaceFM tarball and build:
# Download & Extract
mkdir /tmp/spacefm-build && cd /tmp/spacefm-build
wget -O spacefm.tar.gz https://github.com/IgnorantGuru/spacefm/tarball/master
tar xzf spacefm.tar.gz
cd IgnorantGuru-spacefm-*
# Build & Install
CFLAGS='-ggdb -O1' STRIP='!strip' ./configure
make
sudo make install
sudo update-mime-database /usr/share/mime > /dev/null
sudo update-desktop-database -q
# Remove Temporary Files
cd / && rm -rf /tmp/spacefm-build
4) Run spacefm with the debugger:
gdb /usr/local/bin/spacefm
In gdb, enter 'run' at the prompt. SpaceFM will start. When the crash
occurs, gdb will freeze SpaceFM. Return to the terminal running gdb and
enter 'bt full'. Provide the output with your detailed bug report at
https://github.com/IgnorantGuru/spacefm/issues
NOTE: When SpaceFM is built this way, it may run more slowly. Once you are
done debugging, be sure to install a normal (optimized) build.
BUILD NEXT
The git 'next' branch of SpaceFM is a work in progress which eventually becomes
the next release version. The next build is less stable in general, and
functions may be incomplete. To build from this branch, install the required
build dependencies listed above in BUILD, then:
# Download & Extract
mkdir /tmp/spacefm-next && cd /tmp/spacefm-next
wget -O spacefm-next.tar.gz https://github.com/IgnorantGuru/spacefm/tarball/next
tar xzf spacefm-next.tar.gz
cd IgnorantGuru-spacefm-*
# Build, & Install
./autogen.sh # pass desired configure options (if any) here to autogen.sh
make
sudo make install
# Remove Temporary Files
cd / && rm -rf /tmp/spacefm-next
CREATE DEB PACKAGE
To build a deb file of SpaceFM on your Debian-based distro:
1) Install build dependencies (see BUILD section above) plus 'debhelper'.
2) Use these commands to download and extract the SpaceFM tarball:
mkdir /tmp/spacefm-build && cd /tmp/spacefm-build
# Note: you can change "master" to "next" if you want the next branch:
wget -O spacefm.tar.gz https://github.com/IgnorantGuru/spacefm/tarball/master
tar xzf spacefm.tar.gz
cd IgnorantGuru-spacefm-*
3) IF hal support IS desired:
cp debian/control-hal debian/control
cp debian/rules-hal debian/rules
4) Build package: (the package files will appear in the parent directory)
dpkg-buildpackage -b -uc
cd .. && rm -rf IgnorantGuru-spacefm-* spacefm.tar.gz
5) To install the package you built:
dpkg -i spacefm*.deb
UNINSTALL
If you installed from a package, use your package manager to remove SpaceFM.
Otherwise, run these command AS ROOT:
rm /usr/local/bin/spacefm /usr/local/bin/spacefm-auth
rm -r /usr/local/share/spacefm
rm /usr/local/share/pixmaps/spacefm.png
rm /usr/local/share/pixmaps/spacefm-*.png
rm /usr/local/share/locale/*/LC_MESSAGES/spacefm.mo
rm /usr/local/share/applications/spacefm*.desktop
rm /usr/local/share/mime/packages/spacefm-mime.xml
update-mime-database /usr/local/share/mime > /dev/null
update-desktop-database -q
TRANSLATIONS
Adding or updating a translation of SpaceFM doesn't require any special tools,
just a text editor. For instructions, see the TRANSLATE file.
LICENSE
SpaceFM - Copyright (C) 2012 GPL2
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
USE AT YOUR OWN RISK. This program is distributed in the hope that it
will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
the GNU General Public License for more details.
The 'exo' libraries and source code used by this software are licensed
under the GNU General Public License and the GNU Lesser General Public
License version 2 (LGPL2).
You should have received a copy of the GNU General Public License and
the GNU Lesser General Public License along with this program; if not,
write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Floor, Boston, MA 02110-1301, USA.
See COPYING file.
Source: README, updated 2012-05-27