Mi a különbség a Fluxbox és az Openbox között?

Fórumok

(Miért az Arch linux témában -> *)

Próbálok kialakítani egy produktívan és kényelmesen használható környezetet. Mivel eddig a legszebb emlékeim a Blackbox/Fluxbox-os időkből vannak, és sehogy sem áll igazán kézre az új vonal (Gnome 3/Unity/KDE), így újra a Fluxbox-ra gondoltam.

Szóval nézegettem, hogy mikori az utolsó frissítés és, hogy fejlesztik e még. 2011. okt. 30-án frissítették utoljára. Azt nem találtam, hogy aktív-e a fejlesztés.

A google szerint elég sokan használják az Openbox-ot. De nem igazán értem a lényegét, leginkább az zavar össze, hogy sok screenshot és leírás szerint KDE-n és Gnome-on belül használják.

El tudnátok magyarázni, hogy miben más, esetleg jobb az Openbox a Fluxboknál? Tudom, hogy nagyon értelmetlen ez így, de valami aktuális Fluxbox szerü megoldást keresek. (Megj.: Szerintem a Fluxbox-on nincs sok minden amit folyamatosan fejleszteni kell, szóval ez a 2011 év végi verzió lehet nem is olyan rossz.)

*: Mivel Arch linux-on szándékozom ezt használni, így ideraktam, és persze kéretik nem flame-lni.

Megj.: http://hup.hu/node/119628#comment-1536204

Hozzászólások

https://wiki.archlinux.org/index.php/Fluxbox

Fluxbox is yet another window manager for X11. It is based on the (now abandoned) Blackbox 0.61.1 code, but with significant enhancements and continued development.

Egyébként ha produktív és kényelmes környezetet akarsz, és esetleg "szokatlan" dolgokra is nyitott vagy, nézelődhetsz más ablakkezelők táján is: awesome, dwm, xmonad, notion, stb.. Személy szerint az awesome-ot használom lassan már öt éve. Kicsit más, mint a többi (szokványos), kicsit bele kell rázódni, tanulni kell (gyakorlatilag a konfigfájl egy lua-szkript), de szerintem nagyon megéri.

Nekem nem fordul le.

root[awesome-3.4.13]# make
Running cmake…
-- cat -> /bin/cat
-- ln -> /bin/ln
-- grep -> /bin/grep
-- git -> /usr/bin/git
-- hostname -> /bin/hostname
-- gperf -> /usr/bin/gperf
-- asciidoc not found.
-- xmlto not found.
-- gzip -> /bin/gzip
-- lua -> /usr/bin/lua
-- luadoc not found.
-- convert -> /usr/bin/convert
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Not generating manpages. Missing: asciidoc xmlto
-- Not generating luadoc. Missing: luadoc
-- checking for modules 'glib-2.0;cairo;x11;pango>=1.19.3;pangocairo>=1.19.3;xcb-randr;xcb-xtest;xcb-xinerama;xcb-shape;xcb-util>=0.3.8;xcb-keysyms>=0.3.4;xcb-icccm>=0.3.8;xcb-image>=0.3.0;cairo-xcb;libstartup-notification-1.0>=0.10;xproto>=7.0.15;imlib2;libxdg-basedir>=1.0.0'
-- package 'xcb-util>=0.3.8' not found
-- package 'xcb-icccm>=0.3.8' not found
-- package 'libxdg-basedir>=1.0.0' not found
CMake Error at /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:266 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:320 (_pkg_check_modules_internal)
awesomeConfig.cmake:132 (pkg_check_modules)
CMakeLists.txt:15 (include)

CMake Error at awesomeConfig.cmake:153 (message):
Call Stack (most recent call first):
CMakeLists.txt:15 (include)

-- Configuring incomplete, errors occurred!
make: *** [cmake] Error 1

Szerintetek az xcb-util-t meg az egyebeket frissítenem kéne és akkor lefordulna? (Volt már olyan valamikor, hogy egyes csomagokat mégsem újítottam fel, aztán egyszer csak lefordultak a programok)

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Letöltöd a cairo-slackbuild-et. A

--disable-xcb

részt átírod

--enable-xcb

-re, majd a csomagot lefordítod (lényegében

sh ./cairo.SlackBuild

), és telepíted. Ezután a linkelt oldalon írják, hogy a lua és az imlib2 csomagokat is le kell fordítani, hasonlóképp megteszed (csak itt nem kell átírni).
Utána elvileg megy.

Csak egy megjegyzés: ha ez neked magas, akkor az awesome ablakozót még pihentesd, ott egy kicsit programozni kell tudni :) Talán az i3 bemelegítésnek jó lehet - hogy csak az "érzést" megérezd. Azt még telepíteni se nehéz slackware-re.

szerintem probald ki batran, en openbox-ot hasznalok par eve archlinux-on, probaltam anno fluxbox-ot is, tul nagy kulonbseget nem veltem felfedezni.
van egy projekt, archbang, van live iso meg minden, openboxot hasznal alapbol, egy elore beallitott arch rendszer. azzal meglesheted, és kiprobalhatod, akar fel is telepitheted, ha nincs idod/energiad minden aprosagot magadnak megcsinalni.

Továbbá a Fluxboxban van tabbed windows is — onmouseoverrel is lehet köztük váltani, termináloknál nagyon kényelmes.
Létre lehet hozni az ablakokra szabályokat, hogy mi alapján rendezze automatikusan egy tabbed ablakba őket (nálam pl. a pdf olvasókat rakja egybe, meg a terminálokat)
Valamint megjegyeztethető vele, hogy egy ablaknak pozíciója, mérete, állapota, van-e címsora, etc… Ezzel pl. kikapcsoltam a Firefox címsorát, mert minek az…

Azt hiszem, Openboxban nincs beépített keygrabber sem, nem mintha ez pótolhatatlan lenne – valahol olvastam, hogy ott a céljuk egy minimalista, sztenderdeket követő ablakkezelő létrehozása volt, amihez összerakhatod magadnak a környezetet – hozzáadhatsz panelt, keygrabbert, munkaasztal-ikonokat, widgeteket, amit jól esik, és az Openbox nem áll az utadba.

int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

Openboxot használok, asztalin KDE-vel,
netbookon LXDE-vel. Működik, gyors.

Az eredeti kérdés még mindig érdekes, és érdekelnek a vélemények. Közben az itt levő tanácsra kipróbáltam az awesome wm-et. 5 napja használom és egyelőre maradok ennél, nagyon ígéretes.
---
arch linux user

Openbox felhasználó/rajongóként az Openboxról leírom amit eddig sikerült kipróbálnom, vagy megtudnom.
Mivel nem vagyok informatikus, így előre is elnézést, ha valamit pontatlanul, vagy helytelenül fogalmazok meg. Mivel segíteni szeretnék, ezért írom.

Nos az Openbox valójában pont a "tabbed windows" dolgában(is) kevesebb a Fluxboxnál, meg abban, hogy nincs saját panelje, tálcája, vagy nevezzük akárminek.. Viszont rengeteg előnye van egy Openbox egyedi munkamenetnek. Azaz, ha nem használjuk semmivel(LXDE, Gnome-Openbox, KDE-Openbox), csupán önmagában.
Ha ugyanis a zárójelben említettek akármelyikét használjuk, akkor az Openboxnak pont a lényege vész el, mivel a menüt nem tudjuk kihasználni. ugyanis a hibrid munkamenetekben az Openbox csupán az ablakdekorációt végzi(Kivéve LXDE, ahol még a munkaterületeket is kezeli).

Ablak elhelyezés, ablakszabályok, kikényszeríthető window-tiling

Openboxban is be lehet állítani alkalmazásszintű ablakszabályokat. Pl.: melyik munkaasztalon, képernyőn(!), milyen méretben, milyen képernyő pozícióban induljon el egy adott alkalmazás. Továbbá azt is, hogy legyen/ne legyen ablakdekoráció, és teljes képernyőn, maximalizált méretben, vagy normál méretben induljon. Mindezt a már fent említett XML konfigurációs fájl segítségével lehet elkövetni.

Mozaikos elrendezés, azaz window-tiling

Módunkban áll mozaikos elrendezésben "előcsalni" az alkalmazásainkat, persze ezt nem automatizálhatjuk kizárólag az Openboxszal, ám egy helyes kis billentyűparancs segítségével állíthatunk be gyorsbillentyűt arra, hogy az ablakkezelő az adott alkalmazásablakot helyezze a képernyő(munkaterület, de erről majd később) alsó, felső, vagy valamelyik oldalsó szélére, esetleg sarkába.

Munkaterület-határok

Az Openboxban létezik munkaterület határ(Fluxboxot nem ismerem ennyire), ami azt jelenti, hogy a képernyőmérettel(pixelek) ellentétben mi bármekkora területet "szabhatunk" azon belül munkaterületnek, amin belül fognak megjelenni az alkalmazásablakaink. Mik ennek a lehetőségei? Nos, létrehozhatunk egy olyan munkaterületet, amely "nem lóg rá" a munkánk szempontjából haszontalan, ám informatív részére a munkaasztalnak, azaz a panelre(tálca, stb.), valamint az esetleges rendszer információkat közlő Conkyra. További előnye, hogy ennek segítségével mindig hagyhatunk a képernyőnk valamelyik, vagy akár mindegyik szélén egy 1-2 pixeles csíkot, ahol az egérrel is előhívhatjuk az Openbox menüt.

Pipe menük

Az Openbox egyik nagy előnye a pipe-menükben is rejlik. létrehozhatunk egyedi almenüket, amiket aztán a főmenü "behúz". Ezek közölhetnek információt (időjárás, e-mail ellenőrzés), vagy irányíthatunk ezek segítségével alkalmazásokat. A pipe-menük, valamint a testre szabható gyorsbillentyűk kombinálásával, akár egyedi menüket is készíthetünk a főmenü mellé. Azaz egy adott billentyűkombinációra mondjuk egy médialejátszó vezérlésére szolgáló menü ugorhat elő. A pipe-menüket a ~/.config/openbox/pipemenus mappában "keresi" az Openbox.

A "places" azaz a helyek pipe-menü:


#!/usr/bin/perl
# Recursively browse filesystem through openbox3 pipe menus
#### Usage: add
#

# to your .config/openbox/menu.xml
#### CAVEAT ####
# This script was hacked on exclusively in stints between the hours of
# 4 and 5 in the morning. Quality may have suffered.
####
# Script by dircha from ob list on 05/17/04
# suggested improvements by John Russell on 05/17/04 implemented
# a year later by Kacper Wysocki.
# 05/30/05 - Kacper Wysocki
# - opens files with 'rox', which launches appropriate file handler
# - hidden directories now stay hidden
# - spaces, ampersands in dir- and filenames are escaped
# - newlines at each entry to make output a little readable
# 06/04/05 - Kacper Wysocki
# - use $0 for scriptname
# - use $ENV{'HOME'} as default path
# - now follows symlinks

use strict;

# Command to lauch files with
my $cmd = "pcmanfm";

my $path = $ARGV[0];
$path = "$ENV{'HOME'}" if $path eq "";
my @files = split /\n/, `ls -1p '$path'`;
mk_menu_element($path, @files);

sub mk_menu_element {
my ($path, @files) = @_;

print "\n";

# "Browse here..." lauches this dir
print "".
"\n\t".
"\n\t\t$cmd '$path'".
"\n\t".
"\n\n".
"";

foreach $_ (@files) {
my $length = length $_;
my $last_c = substr $_, $length - 1, 1;

if ($last_c eq "/") {
print mk_dir_element($path, substr $_, 0, $length - 1);
} elsif ($last_c eq "@") {
print mk_sym_element($path, substr $_, 0, $length - 1);
} else {
print mk_file_element($path, $_);
}
}
print "\n";
}

sub mk_dir_element {
my ($path, $name) = @_;
# escape ampersand and space in pathnames
$path =~ s/&/&/g;
$name =~ s/&/&/g;
$path =~ s/ /\\ /g;
$name =~ s/ /\\ /g;

return "
\n";
}

sub mk_sym_element {
my ($path, $name) = @_;
# escape ampersand in pathnames
$path =~ s/&/&/g;
$name =~ s/&/&/g;

# Follow symlinks instead of opening links in rox.
return "
\n";
=cut
return "".
"\n\t".
"\n\t\t$cmd '$path/$name'".
"\n\t"
. "\n\n";
=cut
}

sub mk_file_element {
my ($path, $name) = @_;
my $label = $name;
# escape ampersand in pathnames
$path =~ s/&/&/g;
$name =~ s/&/&/g;

return "".
"\n\t".
"\n\t\t$cmd '$path/$name'".
"\n\t"
. "\n\n";
}

Gyorsbillentyűk

A már fent emlegetett XML fájlban bármire állíthatunk gyorsbillenytűt, billentyűkombinációt. Ez azt jelenti, hogy akár át is írhatjuk kedvünk szerint, mert nincs semmi, amit ne változtathatnánk meg. Tehát akár a "futtatás" parancs Alt+F2 helyett is használhatunk nekünk tetszőt. Ez nagyon gyors alkalmazásindítást tesz lehetővé, hiszen a kedvenc napi szinten használt alkalmazásainkat egy kézmozdulattal indíthatjuk. Az sem elhanyagolható, hogy így nem kell szinte semmivel elfoglalnunk a hasznos munkaterületet, azaz nem szükséges panelt vagy tálcát (mindig láthatóra gondolok), sem használnunk, hiszen már nem ikonokkal, hanem billentyűkombinációkkal végezhetjük az alkalmazások indítását.

Automatikus alkalmazásindítás

Ha elhelyezünk a ~/.config/openbox/ mappában egy autostart.sh fájlt, abban beállíthatjuk a "rendszer" indulásakor automatikusan indítandó alkalmazásainkat. Mivel ez egy bash-script, természetesen ez nem az Openbox egyedi megoldása, viszont sokan ezt nem ismerik. Itt főleg azokra az emberekre gondolok, akik LXDE-t használnak, holott egy jól összehozott Openbox-standalone sokkal többre(is lehet) képes, mint az LXDE. Az erőforrásigényéről (illetve annak szinte hiányáról) nem is beszélve..

Egy régebbi autostart.sh fájlom tartalma:


## Openbox autostart.sh
## ====================
## When you login to your CrunchBang Openbox session, this autostart script
## will be executed to set-up your environment and launch any applications
## you want to run at startup.
##
## More information about this can be found at:
## http://openbox.org/wiki/Help:Autostart
##
## If you do something cool with your autostart script and you think others
## could benefit from your hack, please consider sharing it at:
## http://crunchbanglinux.org/forums/
##
## Have fun! :)

## Start session manager
lxsession &

## Enable power management
xfce4-power-manager &

## Start Thunar Daemon
## thunar --daemon &

## Set desktop wallpaper
nitrogen --restore &

## Launch panel
tint2 &

## Enable Eyecandy - off by default, uncomment one of the commands below.
## Note: cairo-compmgr prefers a sleep delay, else it tends to produce
## odd shadows/quirks around tint2 & Conky.
#(sleep 10s && cb-compmgr --cairo-compmgr) &
#cb-compmgr --xcompmgr &

## Launch network manager applet
(sleep 4s && nm-applet) &

## Detect and configure touchpad. See 'man synclient' for more info.
if egrep -iq 'touchpad' /proc/bus/input/devices; then
synclient VertEdgeScroll=1 &
synclient TapButton1=1 &
fi

## Start xscreensaver
xscreensaver -no-splash &

## Start Conky after a slight delay
(sleep 3s && ~/blacktable_conky.sh) &

## Start volumeicon after a slight delay
(sleep 3s && volumeicon) &

## Start Clipboard manager
(sleep 3s && parcellite) &

## Bad Nautilus, minimises the impact of running Nautilus under
## an Openbox session by applying some gconf settings. Safe to delete.
cb-bad-nautilus &

## The following command will set-up a keyboard map selection tool when
## running in a live session.
## cb-setxkbmap-live &

## cb-welcome - post-installation script, will not run in a live session and
## only runs once. Safe to remove.
## (sleep 10s && cb-welcome --firstrun) &

## cb-fortune - have Statler say a little adage
(sleep 120s && cb-fortune) &

Témázás

Az Openbox ugyanúgy témázható, mint a GTK+ widgetek, azaz ugyanott találjuk a témák mappáit, a /usr/share/téma_neve/openbox-3 mappában, mint a többi gyakori asztali környezet témáit. Az asztal téma (ez esetben inkább ablakkeret+menü téma, mivel az alkalmazások megjelenését a GTK widgetek adják)az ablakdekoráción látható gombok kis képfájljaiból, valamint egy szöveges fájlból áll. Egy korábban kedvelt Openbox témám konfigurációs fájlja:

AquaMoss|| themerc:

#AquaMoss II OpenBox Theme

# Window geometry
padding.width: 1
border.width: 1
window.client.padding.width: 1
window.client.padding.height: 1
window.handle.width: 0

#Menu geometry
menu.border.width: 1
menu.overlap: -6

# Border colors
window.active.border.color: #296460
window.inactive.border.color: #296460
menu.border.color: #296460
window.active.client.color: #121313
window.inactive.client.color: #121313

# Text shadows
window.active.label.text.font: shadow=n
window.inactive.label.text.font: shadow=n
menu.items.font: shadow=n
menu.title.text.font: shadow=n

# Window title justification
window.label.text.justify: left

# Active window
window.active.title.bg: Flat
window.active.title.bg.color: #121313
window.active.label.bg: Parentrelative
window.active.label.text.color: #121313

window.active.handle.bg: Flat
window.active.handle.bg.color: #296460
window.active.grip.bg: Flat
window.active.grip.bg.color: #296460

window.active.button.unpressed.bg: Flat
window.active.button.unpressed.bg.color: #121313
window.active.button.unpressed.bg.border.color: #121313
window.active.button.unpressed.image.color: #296460

window.active.button.pressed.bg: Flat
window.active.button.pressed.bg.color: #121313
window.active.button.pressed.bg.border.color: #121313
window.active.button.pressed.image.color: #296460

window.active.button.disabled.bg: Flat
window.active.button.disabled.bg.color: #121313
window.active.button.disabled.bg.border.color: #121313
window.active.button.disabled.image.color: #296460

window.active.button.toggled.bg: Flat
window.active.button.toggled.bg.color: #121313
window.active.button.toggled.bg.border.color: #121313
window.active.button.toggled.image.color: #296460

window.active.button.hover.bg: Flat
window.active.button.hover.bg.color: #121313
window.active.button.hover.bg.border.color: #121313
window.active.button.hover.image.color: #4ff2d8

# Inactive windows
window.inactive.title.bg: Flat
window.inactive.title.bg.color: #121313
window.inactive.label.bg: Parentrelative
window.inactive.label.text.color: #121313

window.inactive.handle.bg: Flat
window.inactive.handle.bg.color: #296460
window.inactive.grip.bg: Flat
window.inactive.grip.bg.color: #296460

window.inactive.button.unpressed.bg: Flat
window.inactive.button.unpressed.bg.color: #121313
window.inactive.button.unpressed.bg.border.color: #121313
window.inactive.button.unpressed.image.color: #296460

window.inactive.button.pressed.bg: Flat
window.inactive.button.pressed.bg.color: #121313
window.inactive.button.pressed.bg.border.color: #121313
window.inactive.button.pressed.image.color: #296460

window.inactive.button.disabled.bg: Flat
window.inactive.button.disabled.bg.color: #121313
window.inactive.button.disabled.bg.border.color: #121313
window.inactive.button.disabled.image.color: #296460

window.inactive.button.toggled.bg: Flat
window.inactive.button.toggled.bg.color: #121313
window.inactive.button.toggled.bg.border.color: #121313
window.inactive.button.toggled.image.color: #296460

window.inactive.button.hover.bg: Flat
window.inactive.button.hover.bg.color: #121313
window.inactive.button.hover.bg.border.color: #121313
window.inactive.button.hover.image.color: #4ff2d8

# Menus
menu.title.bg: flat
menu.title.bg.color: #121313
menu.title.text.color: #3baf9d
menu.title.text.justify: right

menu.items.bg: Flat Solid
menu.items.bg.color: #121313
menu.items.text.color: #296460
menu.items.disabled.text.color: #343434

menu.items.active.bg: flat diagonal gradient
menu.items.active.bg.color: #121313
menu.items.active.bg.colorTo: #121313
menu.items.active.text.color: #3baf9d
menu.items.active.disabled.text.color: #343434

#separator
menu.separator.color: #296460
menu.separator.width: 1
menu.separator.padding.width: 3
menu.separator.padding.height: 3

#osd
osd.border.width: 1
osd.border.color: #121313

osd.bg: flat border
osd.bg.color: #296460
osd.bg.border.color: #121313

osd.label.bg: parentrelative

osd.label.text.color: #121313

A jelenleg talán legfrissebb, és legtermékenyebb Openbox scripting-pimping banda a világon, a Cruchbanglinux közössége. A fórumon annyi minden van, hogy az szinte már sok a jóból. Szóval minden Openbox rajongónak ajánlom a Crunchbang fórumokat olvasgatásra. http://crunchbang.org/forums/

Mivel mostanában "szoktam" írni az Androbit -re az asztali környezetekről, így talán nem lesz túl nagy baj, ha megemlítem, hogy pár hét múlva pont az Openbox részhez ér az "Asztal, ahol élünk" cikksorozatom. Ott majd próbálok még több információval is szolgálni. Remélem elég informatív volt ez a poszt is, és nem haragszik meg Trey, hogy ilyen hosszút floodoltam.

Végül mellékelném az egyik régebbi Openbox rc.xml konfigurációs fájlomat:

http://pastebin.com/nbh04VNa

http://taklertamas.blogspot.com/ | #! | androbit.org