
alexabolada
(usa Debian)
Enviado em 21/09/2025 - 17:26h
Certo. Pode ser que o pacote
fbmenugen não esteja nos repositórios Debian atuais.
Vou mostrar verificações e alternativas rápidas.
Verifique se o pacote existe nos repositórios.
$ apt policy fbmenugen
Se não existir, opções viáveis.
1) Usar o gerador do Openbox (
obmenu-generator) se você estiver em Openbox.
Instale com:
# apt update
# apt install obmenu-generator
2) Usar utilitários para validar/ler .desktop e adaptar um script próprio.
Instale ferramentas úteis:
# apt update
# apt install desktop-file-utils gvfs-bin
3) Gerar o menu do Fluxbox com um script mais robusto.
O script abaixo agrupa por categoria e evita entradas vazias.
Salve como gerar-menu-fluxbox.sh.
#!/bin/bash
OUT="${HOME}/.fluxbox/menu"
TMPDIR=$(mktemp -d)
trap 'rm -rf "$TMPDIR"' EXIT
for f in /usr/share/applications/*.desktop "${HOME}/.local/share/applications"/*.desktop; do
[ -r "$f" ] || continue
NAME=$(grep -m1 -E '^Name\[pt_BR\]=|^Name=' "$f" | sed -E 's/^Name\[pt_BR\]=|^Name=//' | sed -n '1p')
EXEC=$(grep -m1 '^Exec=' "$f" | sed 's/^Exec=//' | sed -E 's/%[^ ]*//g' | sed -E 's/^[[:space:]]+//;s/[[:space:]]+$//')
CAT=$(grep -m1 '^Categories=' "$f" | sed 's/^Categories=//' | cut -d';' -f1)
[ -z "$CAT" ] && CAT="Other"
if [ -n "$NAME" ] && [ -n "$EXEC" ]; then
echo "[exec] ($NAME) {$EXEC}" >> "$TMPDIR/${CAT}.menu"
fi
done
echo "[begin] (Applications)" > "$OUT"
for catfile in $(ls "$TMPDIR"/*.menu 2>/dev/null | sort); do
catname=$(basename "$catfile" .menu)
echo "[submenu] ($catname)" >> "$OUT"
sort -u "$catfile" >> "$OUT"
echo "[end]" >> "$OUT"
done
echo "[end]" >> "$OUT"
Tornar executável e rodar.
$ chmod +x gerar-menu-fluxbox.sh
$ ./gerar-menu-fluxbox.sh
Recomendações finais.
Faça um backup do menu atual antes de sobrescrever.
$ cp ~/.fluxbox/menu ~/.fluxbox/menu.bak
Teste primeiro redirecionando a saída para um arquivo temporário.
Se quiser, adapto o script para: ícones, filtros, prioridade por .desktop local, ou para gerar menu em XML para Openbox.