mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-24 23:32:12 +08:00
9685244358
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@17065 af4574ff-66df-0310-9fd7-8a98e5e911e0
301 lines
10 KiB
XML
301 lines
10 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY rox-filer-download-http
|
|
"&sourceforge-repo;/rox/rox-filer-&rox-filer-version;.tar.bz2">
|
|
<!ENTITY rox-filer-download-ftp " ">
|
|
<!ENTITY rox-filer-md5sum "0eebf05a67f7932367750ebf9faf215d">
|
|
<!ENTITY rox-filer-size "1.8 MB">
|
|
<!ENTITY rox-filer-buildsize "19 MB">
|
|
<!ENTITY rox-filer-time "0.3 SBU">
|
|
]>
|
|
|
|
<sect1 id="rox-filer" xreflabel="Rox-Filer-&rox-filer-version;">
|
|
<?dbhtml filename="rox-filer.html"?>
|
|
|
|
<sect1info>
|
|
<othername>$LastChangedBy$</othername>
|
|
<date> </date>
|
|
</sect1info>
|
|
|
|
<title>Rox-Filer-&rox-filer-version;</title>
|
|
|
|
<indexterm zone="rox-filer">
|
|
<primary sortas="a-rox-filer">rox-filer</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to Rox-Filer</title>
|
|
|
|
<para>
|
|
<application>rox-filer</application> is a fast, lightweight, gtk2 file
|
|
manager.
|
|
</para>
|
|
|
|
&lfs79_checked;
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download (HTTP): <ulink url="&rox-filer-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download (FTP): <ulink url="&rox-filer-download-ftp;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download MD5 sum: &rox-filer-md5sum;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download size: &rox-filer-size;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated disk space required: &rox-filer-buildsize;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated build time: &rox-filer-time;
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">rox-filer Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required</bridgehead>
|
|
<para role="required">
|
|
<xref linkend="libglade"/> and
|
|
<xref linkend="shared-mime-info"/>
|
|
</para>
|
|
|
|
<para condition="html" role="usernotes">
|
|
User Notes: <ulink url="&blfs-wiki;/rox-filer"/>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 role="kernel" id="rox-filer-kernel">
|
|
<title>Kernel Configuration</title>
|
|
|
|
<para>
|
|
If you want <application>rox-filer</application> to be able to update
|
|
the contents of a directory when changes are made to the files by other
|
|
applications (eg, if a script is running) you will need to enable
|
|
dnotify support in your kernel. In <command>make menuconfig</command>:
|
|
</para>
|
|
|
|
<screen><literal>File systems --->
|
|
[*] Dnotify support [CONFIG_DNOTIFY]</literal></screen>
|
|
|
|
<para>
|
|
Save the new <filename>.config</filename> and then compile the kernel.
|
|
</para>
|
|
|
|
<indexterm zone="rox-filer rox-filer-kernel">
|
|
<primary sortas="d-rox-filer">rox-filer</primary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of Rox-Filer</title>
|
|
|
|
<para>
|
|
Compile <application>rox-filer</application> with the following commands:
|
|
</para>
|
|
|
|
<screen><userinput>cd ROX-Filer &&
|
|
sed -i 's:g_strdup(getenv("APP_DIR")):"/usr/share/rox":' src/main.c &&
|
|
|
|
mkdir build &&
|
|
pushd build &&
|
|
../src/configure LIBS="-lm -ldl" &&
|
|
make &&
|
|
popd</userinput></screen>
|
|
|
|
<para>
|
|
Now install it as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>mkdir -p /usr/share/rox &&
|
|
cp -av Help Messages Options.xml ROX images style.css .DirIcon /usr/share/rox &&
|
|
|
|
cp -av ../rox.1 /usr/share/man/man1 &&
|
|
cp -v ROX-Filer /usr/bin/rox &&
|
|
chown -Rv root:root /usr/bin/rox /usr/share/rox &&
|
|
|
|
cd /usr/share/rox/ROX/MIME &&
|
|
ln -sv text-x-{diff,patch}.png &&
|
|
ln -sv application-x-font-{afm,type1}.png &&
|
|
ln -sv application-xml{,-dtd}.png &&
|
|
ln -sv application-xml{,-external-parsed-entity}.png &&
|
|
ln -sv application-{,rdf+}xml.png &&
|
|
ln -sv application-x{ml,-xbel}.png &&
|
|
ln -sv application-{x-shell,java}script.png &&
|
|
ln -sv application-x-{bzip,xz}-compressed-tar.png &&
|
|
ln -sv application-x-{bzip,lzma}-compressed-tar.png &&
|
|
ln -sv application-x-{bzip-compressed-tar,lzo}.png &&
|
|
ln -sv application-x-{bzip,xz}.png &&
|
|
ln -sv application-x-{gzip,lzma}.png &&
|
|
ln -sv application-{msword,rtf}.png</userinput></screen>
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<para>
|
|
<command>sed -i 's:g_strdup(getenv("APP_DIR")):"/usr/share/rox":'
|
|
src/main.c</command>: This command hard codes /usr/share/rox as the
|
|
directory for <application>rox-filer</application>'s private files.
|
|
Without this sed rox needs the environment variable ${APP_DIR} to be set.
|
|
</para>
|
|
|
|
<para>
|
|
<command>ln -sv application-...</command>: These commands duplicate the
|
|
icons for some common mime types. Without these links
|
|
<application>rox-filer</application> would just display the default
|
|
"unknown binary blob" icon.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 role="configuration">
|
|
<title>Configuring RoxFiler</title>
|
|
|
|
<sect3><title>Configuration Information</title>
|
|
|
|
<para>
|
|
Most of the configuration of <application>rox-filer</application> is
|
|
achieved by right clicking on a <application>rox-filer</application>
|
|
window and choosing "Options" from the menu. It stores its settings in
|
|
<filename class="directory">~/.config/rox.sourceforge.net</filename>.
|
|
</para>
|
|
|
|
<para>
|
|
A <application>rox-filer</application> feature is that if there is an
|
|
executable file called <filename>AppRun</filename> in a directory
|
|
<application>rox-filer</application> will first run
|
|
<command>AppRun</command> before it opens the folder.
|
|
</para>
|
|
|
|
<para>
|
|
As an example of how this may be used, if you have ssh access to another
|
|
computer (perhaps another computer on you local network) with ssh
|
|
configured for passwordless logins and you have
|
|
<xref linkend="sshfs-fuse"/> installed you can use AppRun to mount the
|
|
remote computer in a local folder using <command>sshfs</command>. For
|
|
this example AppRun script to work the folder must have the same name as
|
|
the hostname of the remote computer:
|
|
</para>
|
|
|
|
<screen><userinput>cat > /path/to/hostname/AppRun << "HERE_DOC"
|
|
#!/bin/bash
|
|
|
|
MOUNT_PATH="${0%/*}"
|
|
HOST=${MOUNT_PATH##*/}
|
|
export MOUNT_PATH HOST
|
|
sshfs -o nonempty ${HOST}:/ ${MOUNT_PATH}
|
|
rox -x ${MOUNT_PATH}
|
|
HERE_DOC
|
|
|
|
chmod 755 /path/to/hostname/AppRun</userinput></screen>
|
|
|
|
<para>
|
|
That works fine for mounting, but to unmount it the
|
|
command <command>fusermount -u ${MOUNTPOINT}</command> is ran. You could set
|
|
that as your default umount command in your rox preferences, but you
|
|
would then be unable to unmount any normal mountpoints (that need
|
|
umount). A script is needed that will unmount a Fuse mountpoint
|
|
with <command>fusermount -u ${MOUNTPOINT}</command> and everything else
|
|
with <command>umount</command>. As the
|
|
<systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>cat > /usr/bin/myumount << "HERE_DOC" &&
|
|
#!/bin/bash
|
|
sync
|
|
if mount | grep "${@}" | grep -q fuse
|
|
then fusermount -u "${@}"
|
|
else umount "${@}"
|
|
fi
|
|
HERE_DOC
|
|
|
|
chmod 755 /usr/bin/myumount</userinput></screen>
|
|
|
|
<para>
|
|
Now, to make Rox use this simple script, open a Rox window, right click
|
|
on it and choose Options from the menu. In the left hand list choose
|
|
"Action windows" and then on the right hand side, where it says
|
|
"Unmount command" change <command>umount</command> to
|
|
<command>myumount</command>.
|
|
</para>
|
|
|
|
<para>
|
|
If you use a desktop environment like
|
|
<application>Gnome</application> or <application>KDE</application> you
|
|
may like to create a <filename>rox.desktop</filename> file so that
|
|
<application>rox-filer</application> appears in the panel's menus. As
|
|
the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>ln -s ../rox/.DirIcon /usr/share/pixmaps/rox.png &&
|
|
mkdir -p /usr/share/applications &&
|
|
|
|
cat > /usr/share/applications/rox.desktop << "HERE_DOC"
|
|
[Desktop Entry]
|
|
Encoding=UTF-8
|
|
Type=Application
|
|
Name=Rox
|
|
Comment=The Rox File Manager
|
|
Icon=rox
|
|
Exec=rox
|
|
Categories=GTK;Utility;Application;System;Core;
|
|
StartupNotify=true
|
|
Terminal=false
|
|
HERE_DOC</userinput></screen>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>rox</seg>
|
|
<seg>None</seg>
|
|
<seg>/usr/share/rox</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="rox-filer-prog">
|
|
<term><command>rox</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the rox file manager.
|
|
</para>
|
|
<indexterm zone="rox-filer rox-filer-prog">
|
|
<primary sortas="b-rox-filer">rox-filer</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect2>
|
|
</sect1>
|