glfs/xsoft/other/rox-filer.xml
Bruce Dubbs 9685244358 Tags for X Software
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@17065 af4574ff-66df-0310-9fd7-8a98e5e911e0
2016-03-05 06:15:24 +00:00

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 ---&gt;
[*] 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 &amp;&amp;
sed -i 's:g_strdup(getenv("APP_DIR")):"/usr/share/rox":' src/main.c &amp;&amp;
mkdir build &amp;&amp;
pushd build &amp;&amp;
../src/configure LIBS="-lm -ldl" &amp;&amp;
make &amp;&amp;
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 &amp;&amp;
cp -av Help Messages Options.xml ROX images style.css .DirIcon /usr/share/rox &amp;&amp;
cp -av ../rox.1 /usr/share/man/man1 &amp;&amp;
cp -v ROX-Filer /usr/bin/rox &amp;&amp;
chown -Rv root:root /usr/bin/rox /usr/share/rox &amp;&amp;
cd /usr/share/rox/ROX/MIME &amp;&amp;
ln -sv text-x-{diff,patch}.png &amp;&amp;
ln -sv application-x-font-{afm,type1}.png &amp;&amp;
ln -sv application-xml{,-dtd}.png &amp;&amp;
ln -sv application-xml{,-external-parsed-entity}.png &amp;&amp;
ln -sv application-{,rdf+}xml.png &amp;&amp;
ln -sv application-x{ml,-xbel}.png &amp;&amp;
ln -sv application-{x-shell,java}script.png &amp;&amp;
ln -sv application-x-{bzip,xz}-compressed-tar.png &amp;&amp;
ln -sv application-x-{bzip,lzma}-compressed-tar.png &amp;&amp;
ln -sv application-x-{bzip-compressed-tar,lzo}.png &amp;&amp;
ln -sv application-x-{bzip,xz}.png &amp;&amp;
ln -sv application-x-{gzip,lzma}.png &amp;&amp;
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 &gt; /path/to/hostname/AppRun &lt;&lt; "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 &gt; /usr/bin/myumount &lt;&lt; "HERE_DOC" &amp;&amp;
#!/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 &amp;&amp;
mkdir -p /usr/share/applications &amp;&amp;
cat &gt; /usr/share/applications/rox.desktop &lt;&lt; "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>