Rox-Filer-2.11

Introdução ao Rox-Filer

rox-filer é um gerenciador de arquivos gtk2 rápido e leve.

Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.

Informação do Pacote

Dependências do rox-filer

Exigidas

libglade-2.6.4 e shared-mime-info-2.2

Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/rox-filer

Configuração do Núcleo

Se você quiser que o rox-filer seja capaz de atualizar o conteúdo de um diretório quando mudanças forem feitas nos arquivos por outros aplicativos (por exemplo, se um conjunto de comandos sequenciais estiver executando), você precisará habilitar o suporte dnotify em teu núcleo. No make menuconfig:

File systems --->
  [*] Dnotify support   [CONFIG_DNOTIFY]

Salve o novo .config e então compile o núcleo.

Instalação do Rox-Filer

Compile o rox-filer com os seguintes comandos:

cd ROX-Filer                                                        &&
sed -i 's:g_strdup(getenv("APP_DIR")):"/usr/share/rox":' src/main.c &&
sed -i 's/gboolean/extern &/' src/session.h                     &&

mkdir build                        &&
pushd build                        &&
  ../src/configure LIBS="-lm -ldl" &&
  make                             &&
popd

Agora instale-o como o(a) usuário(a) root:

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

Explicações do Comando

sed -i 's:g_strdup(getenv("APP_DIR")):"/usr/share/rox":' src/main.c: Esse comando codifica rigidamente /usr/share/rox como o diretório para os arquivos privados do rox-filer. Sem esse sed, o rox precisa que a variável de ambiente ${APP_DIR} esteja configurada.

sed -i 's/gboolean/extern &/' src/session.h: Esse comando corrige uma definição múltipla sinalizada como um erro pelo GCC 10 e superior.

ln -sv application-...: Esses comandos duplicam os ícones para alguns tipos MIME comuns. Sem esses links, o rox-filer exibiria apenas o ícone padrão "blob binário desconhecido".

Configurando o RoxFiler

Informação de Configuração

A maior parte da configuração do rox-filer é obtida clicando-se com o botão direito em uma janela do rox-filer e escolhendo "Opções" a partir do menu. Ele armazena as configurações dele em ~/.config/rox.sourceforge.net.

Um recurso do rox-filer é que, se existir um arquivo executável chamado AppRun em um diretório, o rox-filer executará primeiro o AppRun antes de abrir a pasta.

Como exemplo de como isso pode ser usado, se você tiver acesso ssh a outro computador (talvez outro computador em tua rede local de intercomunicação) com ssh configurado para logins sem senha e tiver o sshfs-3.7.3 instalado, você poderá usar o AppRun para montar o computador remoto em uma pasta local usando o sshfs. Para que este exemplo de conjunto de comandos sequenciais AppRun funcione, a pasta precisa ter o mesmo nome que o nome do dispositivo do computador remoto:

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

Isso funciona bem para montagem, mas para desmontá-lo o comando fusermount -u ${MOUNTPOINT} é executado. Você poderia configurar isso como teu comando padrão de desmontagem em tuas preferências do rox, mas, então, não seria capaz de desmontar nenhum ponto de montagem normal (que precisasse de desmontagem). Um conjunto de comandos sequenciais é necessário que desmontará um ponto de montagem do Fuse com fusermount -u ${MOUNTPOINT} e todo o resto com umount. Como o(a) usuário(a) root:

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

Agora, para fazer o Rox usar esse conjunto de comandos sequenciais simples, abra uma janela do Rox, clique com o botão direito nela e escolha Opções a partir do menu. Na lista à esquerda escolha "Janelas de ação" e depois no lado direito, onde diz "Comando de desmontagem", mude umount para myumount.

Se você usa um ambiente de área de trabalho, como Gnome ou KDE, você possivelmente goste de criar um arquivo rox.desktop, de forma que o rox-filer apareça nos menus do painel. Como o(a) usuário(a) root:

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=O Gerenciador de Arquivos Rox
Icon=rox
Exec=rox
Categories=GTK;Utility;Application;System;Core;
StartupNotify=true
Terminal=false
HERE_DOC

Conteúdo

Aplicativos Instalados: rox
Bibliotecas Instaladas: Nenhum(a)
Diretórios Instalados: /usr/share/rox

Descrições Curtas

rox

é o gerenciador de arquivos rox