Ivn 发表于 2003-11-29 23:59:51

Fluxbox 安装, 启动, 配制 [讨论稿]

author: Ivn<[email protected]> from: http://linuxfans.org
date: 29/11/2003 23:01:51


一. 关于 Fluxbox
=============
        Fluxbox是在 Blackbox 0.61.0代码上开发的窗口管理器, 当前版本:
                $ fluxbox -version
                $ Fluxbox 0.9.6 : (C) 2001-2003 Henrik Kinnunen
       
        Fluxbox 官方网站: http://fluxbox.sf.net/
        主题网站: http://themes.freshmeat.net/

二. 安装 Fluxbox
=============
        登录 http://fluxbox.sourceforge.net/ 下载 fluxbox-0.9.6.tar.bz2
      $ cp fluxbox-0.9.6.tar.bz2 /tmp
        $ tar jxf fluxbox-0.9.6.tar.bz2
        $ cd fluxbox-0.9.6
        $ ./configure        
        $ make
        $ su
        $ make install
       
        Fluxbox 默认安装在 :
                /usr/local/bin        -        fluxbox
                /usr/loca/bin                -        fluxbox-generate-menu
                /usr/local/share/fluxbox                // 系统范围 Fluxbox 配制文件
                /usr/local/share/fluxbox/styles        // Fluxbox 默认主题文件目录
                /usr/local/man/man1/        - fluxbox.1

三. 启动 Fluxbox
=============
        1) 窗口管理器中启动 fluxbox
        ======================
                如果你使用如 wmaker, blackbox 之类的窗口管理器, 可以通过修改
                菜单文件添加 fluxbox 一项, 从菜单选择退出当前窗口管理器,启动
                fluxbox. 以 wmaker 为例:
                $ cat ~/GNUstep/WMRootMenu | grep -5 'fluxbox'
                $ (
                $   Exit,
                $   (Restart, RESTART),
                $   ("Start blackbox", RESTART, blackbox),
                $    ("Start matchbox", RESTART, matchbox),
                $    ("Start fluxbox", RESTART, fluxbox),
                $    (Exit, EXIT)
                $)
                $}
                当然, 要确定 fluxbox 所在的目录在你的 PATH 变量里.
                $ which fluxbox
                $ /usr/local/bin/fluxbox
       
                如果无法启动 Fluxbox 请检查 ~/.xsession-errors 文件.

        2) RedHat Linux 8.0 添加 fluxbox 到 GDM, 使用 GDM 启动 fluxbox
        ===============================================
                注意: 这里使用的 GDM 是 RedHat Linux 8.0 默认安装的, 没有升级.
                $ touch /etc/X11/gdm/Sessions/fluxbox
                $ cat /etc/X11/gdm/Sessions/fluxbox
                $ #!/bin/sh
                $ exec /etc/X11/xdm/Xsession fluxbox
                $
                $ touch /usr/share/apps/switchdesk/Xclients.fluxbox
                $ cat /usr/share/apps/switchdesk/Xclients.fluxbox
                $ #!/bin/sh
                $ exec /usr/local/bin/fluxbox
                $
               
                对于 GNOME 升级到 2.4.0 , GDM 2.4.4.0 的朋友可以添加 .xprofile 到己目录.
                $ touch ~/.xprofile
                $ cat ~/.xprofile
                $ #!/bin/sh
                $ exec /usr/local/bin/fluxbox
               
                :( 我只找到这么一种方法, 这样做使 fluxbox 作为默认窗口管理器启动,
                要启动到别的窗口管理器,可能要修改或者删除该文件.

四. 配制 Fluxbox
==============
                1) Fluxbox 的配制文件
                =================
                        /usr/local/share/fluxbox/init                       //                Fluxbox 资源配制文件.
                        /usr/local/share/fluxbox/menu               //                默认的 Fluxbox 系统范围内的菜单文件.
                        /usr/local/share/fluxbox/keys               //                Fluxbox 键盘操作配制文件.
                        /usr/local/share/fluxbox/styles                  //                Fluxbox 主题文件目录.
                       
                        启动 fluxbox 后会在 ~/ 目录建立 ./fluxbox 或者 fluxbox, 主要文件同上, styles 目录要
                        自己建立.
               
                   2) 资源配制 init 文件
                ================
                        ~/.fluxbox/init 由 Fluxbox 自动建立和维护. 部分配制选项可以通过
                        菜单中的 config 子菜单的对应选项修改, 如: 最后选择的主题文件,
                        工作区名称 等.
                       
                        可以手动修改,选项如下:
                                session.menuFile:
                                        告之 Fluxbox 在哪里可以找到菜单配制文件.
                                                session.menuFile:        ~/.fluxbox/menu-2
                               
                                session.keyFile:
                                        设置方式同上.
                                       
                                session.styleFile:
                                        告之 Fluxbox 在哪里可以找到主题文件.
                                                session.styleFile:        ~/.fluxbox/myStyles/fluxbox.style
                               
                                session.groupFile:
                               
                                session.slitlistFile:
                     
                                 session.screen0:toolbar.tools: &lt;list of tools&gt;
                                        描述工具条要加入的工具, 可选工具有:
                                                workspacename, prevworkspace, nextworkspace,
                                                iconbar, systemtray, prevwindow, nextwindow, clock. :
                                                        session.screen0.toolbar.tools: clock, iconbar
                               
                                session.screen0.strftimeFormat:
                                        指定工具条上 clock 时间的显示格式, see man strftime.
                                        默认值:
                                                %I:%M:%p
                               
                                session.screen0.rootCommand:
                                        如果设置,将屏蔽主题文件中的 rootCommand的设置.
                                        设置它可以在使用不同主题的时候保持相同的背景.
                               
                                session.autoRaiseDelay:
                                        在窗口获取焦点到 raise 之间的延迟时间 (毫秒), 默认值: 250
                                       
                                session.doubleClickInterval:
                                        双击延迟时间 (毫秒). 默认值: 250
                                       
                                session.screen0.edgeSnapThreshold:
                               
                                session.cacheMax:
                                        Fluxbox 在 X server 中用来写入 chache pixmaps 使用的内存 (Kb).
                                       
                                session.cacheLife:
                                        未使用的 pixmaps 可在 X server 的内存中
                                        驻留的时间 (分钟). 默认值: 5
                               
                                session.opaqueMove:
                               
                                session.imageDither:
                               
                                session.colorsPerChannel:
                               
                                session.iconbar:
                                        True or False 打开或者关闭通过图标引用,显示窗口.
                                       
                                session.tabs:

                                 session.screen0.tab.placement:
                                        定制 Tab 在窗口的位置, 可以使用菜单设置.
                                        可选值: Top Bottom Left Right
                               
                                session.screen0.tab.alignment:
                               
                                session.screen0.tab.rotatevertical:
                                       
                                session.screen0.tab.width:
                                        宽度(像素).
                               
                                session.screen0.tab.height:
                                        高度(像素).

                2) 应用程序配制
                ============        ==
                        纪录程序启动的位置, 所在工作区, shaded state, sticky state 等.
                       
                3) 菜单 menu 文件
                ===============
                        熟悉 wmaker, blackbox 的朋友不会对这种菜单编辑陌生,语法很简单,
                        参考 man fluxbox.
               
                4)键盘 keys 文件
                ===============
                        语法:
                                &lt;modifier&gt; &lt;key&gt; [...] :&lt;operation&gt;
                               
                                1) example:
                                                Mod1        Tab        :NextWindow                // 使用 alt+tab 切换窗口.
                                       
                                                Control n Mod n :NextWindow        //       emacs 风格的 keybindings.
                               
                                2) operation
                                                &lt;operation&gt; 中, 命令的拼写大小写敏感, 工作区标号从 1 开始.
                                                可用 &lt;operations&gt;:
                                                       
                                                        1)        窗口管理器命令
                                                        ===============
                                                       
                                                                Restart&lt;argument&gt;
                                                                Quit
                                                                Reconfigure
                                                                SetStyle &lt;argument&gt;
                                                                ExecCommand
                                                       
                                                      
                                                          2) 焦点窗口操作命令
                                                        =================
                                                       
                                                                Minimize
                                                                MinimizeWindow or Iconify
                                                                Maximize
                                                                MaxmizeWindow
                                                                MaximizeVertical//垂直最大化
                                                                MaximizeHorizontal// 水平最大化
                                                               
                                                                ResizeTo&lt;width&gt; &lt;height&gt;
                                                                Resize &lt;delta-width&gt; &lt;delta-height&gt;
                                                                ResizeHorizontal &lt;delta-width&gt;
                                                                ResizeVertical &lt;delta-height&gt;
                                                               
                                                                MoveTo &lt;x&gt; &lt;y&gt;
                                                                Move&lt;delta-x&gt; &lt;delta-y&gt;
                                                                MoveRight &lt;delta-x&gt;
                                                                MoveLeft &lt;delta-x&gt;
                                                                MoveUp&lt;delta-y&gt;
                                                                MoveDown &lt;delta-y&gt;
                                                               
                                                                Raise
                                                                Lower
                                                                Close
                                                                Shade, ShadeWindow
                                                                Stick, StickWindow
                                                                ToggleDecor
                                                                SendToWorkspace &lt;number&gt;
                                                                KillWindow
                                                               
                                                                NextTab
                                                                PrevTab
                                                                MoveTabLeft
                                                                MoveTabRight
                                                                DetachClient
                                                       

                                                          3) 工作区命令
                                                        ============
                                                       
                                                                        NextWorkspace
                                                                        PrevWorkspace
                                                                        RightWorkspace<by-number>
                                                                        LeftWorkspace<by-number>
                                                                        Workspace &lt;number&gt;
                                                                        NextWindow <by-number>
                                                                        PrevWindow <by-number>
                                                                        NextGroup <by-number>
                                                                        PrevGroup <by-number>
                                                                        ArrangeWindows                 // 排列窗口
                                                                        ShowDesktop        // 最小化所有窗口
                                                                        RootMenu
                                                                        WorkspaceMenu
                                                                        SetWorkspaceName
                                                       
               
                                                                4) special commands
                                                                =================
                                                               
                                                                        MacroCmd
                                                               
               
                   5) 主题文件
                ==========
                                1) Fluxbox 主题文件制作请查看 man fluxbox.
                                2) 要在主题中使用统一的字体,注释掉菜单字体, 标题字体等的设置, 添加 *Font如:
                                                $ cat mystyle | grep 'font'
                                                $ !menu.title.font:                impact-10
                                                $ !menu.frame.font: Nimbus Sans L-9
                                                $ !toolbar.clock.font: impact-9
                                                $ !toolbar.workspace.font: impact-9
                                                $ !toolbar.iconbar.focused.font: impact-9
                                                $ !toolbar.iconbar.unfocused.font: impact-9
                                                $ !window.font: impact-9
                                               
                                                *Font:        -artwiz-anorexia-medium-r-normal--11-*
                               
                                3) 设置壁纸
                                        设置壁纸使用 rootCommand:xsri/where/background.xxx
                                        $ cat mystyle | grep 'rootCommand'
                                        $         rootCommand:    xsri -geometry=1024x768+0+0 ~/.fluxbox/pixmaps/background.jpg

                                        注:
                                                redhat 使用 xsri ,debian 使用 xsetbg.               
                                       
                                       
五. 其他工具
===========
                访问 http://fluxbox.sourceforge.net/页面可以找到 fluxbox 的辅助工具, 如:
                        iDesk                        // 桌面图标设置工具.
                        fbdesk                        // 同 iDesk 但没有 iDesk 美观.
                        fluxbg                        // 背景设置工具.
                        fluxter                        //
                        fluxspace        // ?
                        ....
                       
                       
六. 关于本文件
============
          临时抱佛脚,结合使用 Fluxbox 和看 man 写的,搞的有点像翻译:).
          本人使用 Fluxbox 也不久 (上面 session.screen0.xxx 有
             许多地方空着的, 就是不知道如何做, 也没有看懂:), ),
          所以把这个文件称为讨论稿, 希望大家把使用 Fluxbox 的一些方法和技巧贴出来, 本人会在
      适当的时候将这些帖子结集.
      
          本文中不正确的地方还请大家指正.

附录
=====
        1) iDesk
        =======
                桌面图标设置工具.
                Idesk was written by Chris Roberts, and his webpage is
                http://dramamine.darktech.org/~nikon which might be down for a while.
                Email: [email protected], ICQ: 63345004

                You can find the current updated Idesk webpage at:
                http://idesk.timmfin.net

                Fluxbox 主页似乎也有下载连接.
               
                当前最高版本 0.5.5.

                编译需要:
               
                pkg-config             //GNU autoconf and automake already have it I believe
                librsvg-2.0.1//nautilus has this already I believe
                gdk-pixbuf-2
                //some other gnome stuff, if you have everything for librsvg then you should be good.
               
               
                成功 install 后, 要手动在 ~/ 建立 .ideskrc 文件 和 ~/.idesktop/ 目录.
               
                不熟悉如何编写 .ideskrc 可以先拷贝一份 idesk-0.5.5.tar.gz 包中 README 文件给出的 .ideskrc.
               
                创建程序图标
                ============
                        Icon 文件编写格式:
                        table Icon
                                Caption:                 // 说明
                                Icon:                         // 图标文件所在目录, 绝对路径. 如 /home/xxx/icons/xxx.png
                                Width:                        
                                Height:                
                                X:                                 //
                                Y:                                 //                X and Y position, 这个可以随意设置, 只要是合法数值就可以了,
                                                                        //   启动 idesk 后,重新使用鼠标把 icon 拖放到你满意的位置, 该位置
                                                                        //   的 X and Y 会被记录.
                                                                       
                                Command:                 //启动程序 如:        opera
                                                                                                //                Command , i 的值和 ~/.ideskrc 中 Exectue 设置有关, 参考
                                                                                                //       idesk-0.5.5.tar.gz 中的 README.
                                                                                                //
                        end

                注:
                        一个 Icon 文件关联一个图标, 对文件名似乎没有要求, 随意~~, 所有 Icon 文件都创建
                        在 ~/.idesktop/ 目录下.
                       
       run idesk.

hood 发表于 2003-12-1 09:31:03


不敢装,怕进不去kde

Ivn 发表于 2003-12-1 13:50:31


不敢装,怕进不去kde
//
不影响!!!

hood 发表于 2003-12-1 14:05:21

嗯?
不是要修改会话管理器吗?

neolkc 发表于 2004-3-23 04:27:37

我喜欢!写的太好拉! 找了很久的文章!! 感谢斑竹!!

winme 发表于 2004-3-27 12:09:56

刚装了,打算使用
可我不会解决中文问题,nls里没有zh_CN啊,我设置就出错...
郁闷
页: [1]
查看完整版本: Fluxbox 安装, 启动, 配制 [讨论稿]