Friday, 24 October 2014

OpenMandriva 2014.1 + OpenBox + FBPanel + Conky, Desktop Ringan Tanpa Beban

,


Sejak pertama kali dirilis, OpenMandriva memang meneruskan tradisi Mandriva Linux yang berfokus pada Desktop Environment KDE. OpenMandriva pun menjadi salah satu dari sekian distro linux yang berfokus menjadi desktop KDE terbaik, bersaing dengan Kubuntu, PCLinuxOS, Netrunner dll.



Bagi sebagian besar pengguna KDE4 tentu merasakan kehausan dan kegarangan KDE4 dalam menggerus memori RAM. Setidaknya dibutuhkan lebih dari > 1 GB RAM untuk bisa menjalankan OpenMandriva dan KDE4 dengan lancar. Nah, bagi anda yang sedang mencari alternatif dari OpenMandriva KDE4 tersebut, silakan ikuti tutorial berikut.

Pada tutorial kali ini, kita akan menggunakan OpenBox sebagai desktop environment, FBPanel sebagai panel sistem, dan Conky sebagai widget desktop. Pada notebook kusam yang saya gunakan (sebagai uji coba), OpenMandriva dengan OpenBox & FBPanel hanya membutuhkan 230an MB RAM! Sekitar 1/6 dari spec minimal OpenMandriva 2014.1!

Software-software yang akan kita tambahkan/install antara lain:
  • Openbox, sebagai desktop environment
  • fbpanel, sebagai panel sistem
  • networkmanager-applet, sebagai applet network manager
  • nitrogen, sebagai konfigurator wallpaper
  • conky, sebagai widget desktop
Silakan install ke semuanya dengan urpmi:
urpmi openbox openbox-menu fbpanel networkmanager-applet nitrogen conky

Konfigurasi Autostart OpenBox

Untuk menjalankan conky, nitrogen dan panel sistem, kita harus membuat mereka berjalan otomatis ketika user login ke desktop Openbox. Untuk itu, silakan buat file autostart untuk openbox. 1. Buka Kwrite, 2. Tuliskan sintaks berikut:
# Programs that will run after Openbox has started

# Set the wallpaper
nitrogen --restore &

# A panel for good times
fbpanel &

# Conky
conky &
3. Simpan dengan filename autostart di /home/namauser/.config/openbox/autostart

Konfigurasi FBPanel

Silakan buka KWrite, dan open file /home/namauser/.config/fbpanel. Dan salin skrip berikut:
########################################
## fbpanel configuration file         ##
########################################


# DESCRIPTION
# Configuration file consists of mandatory 'Global' block that MUST come first,
# and optionally one or more 'Plugin' block.
# Lines having '#' as first non-blank char or blank lines are ignored
# Keywords are not case-sensitive
# Values are case-sensitive
# Value of variable is a text from first non-blank char after '='
# till the last non-blank char. '#' is NOT treated as coment in this context

# 'Global' block describes global parameters like position, size and
# some NETWM settings

# Global {

#     # screen edge
#     # legal values are: left, right, top, bottom
#     edge = bottom

#     # allignment of a panel
#     # legal values are: left, right, center
#     allign = left

#     # length of margin (in pixels)
#     # legal values are numbers
#     margin = 0

#     # widthtype specifies how panel width is calculated
#     # legal values are: request, pixel, percent
#     #   request - follow widgets' size requests. can shrink or grow dynamically
#     #   pixel   - occupy fixed number of pixels, then 'width' variable holds a number
#     #   percent - be 'width' precent of an edge.
#     widthType = percent

#     # numerical value of width (not applicable for 'request' widthtype)
#     # legal values are numbers
#     width = 80

#     # heighttype specifies how panel height is calculated
#     # legal values are: pixel
#     #   pixel   - ocupy fixed number of pixels, then 'height' variable holds a number
#     heightType = pixel

#     # numerical value of height (if applicable)
#     # legal values are numbers
#     height = 28


#     # Identify panel window type as dock
#     # legal values are boolean
#     setDockType = true

#     # Reserve panel's space so that it will not be covered by maximazied windows
#     # legal values are boolean
#     # setPartialStrut = true


#     # Transparency stuff:
#     # tintColor is a color to composite on root background given as #RRGGBB or as name
#     # alpha is transparency of the tint color.
#     # transparent = true
#     # tintColor = #FFFFFF
#         or
#     # tintColor = white
#     # alpha = 127

#     # Autohide
#     # autoHide = false
#     # heightWhenHidden = 2

# }



# 'Plugin' block specifies a plugin to load. It has same syntax for both
# builtin and external plugins.

# First parameter is 'type'. It's mandatory and must come first
# Legal values are plugin names. Names of builtin plugins are:
# separator   - visual separator
# wincmd      - 'show desktop' button
# taskbar     - lists all opened windows (tasks)
# launchbar   - bar with launch button
# image       - just shows an image
# dclock      - digital clock
# space       - just seize space
# pager       - thumbnailed view of the desktop
# tray        - tray for XEMBED icons (aka docklets)

# expand - specifies if plugin can accomodate extra space or not [optional]
# padding - extra padding around plugin  [optional]
# config {} - block of plugin's private configuration.
#             This part is plugin  dependant


#
# Plugin {
#     type = wincmd
#     config {
#         image = ~/.fbpanel/images/Desktop2.png
#         tooltip = Left click to iconify all windows. Middle click to shade them.
#     }
# }


Global {
    edge = bottom
    allign = center
    margin = 0
    widthtype = percent
    width = 100
    height = 24
    transparent = true
    tintcolor = #ffffff
    alpha = 28
    setdocktype = true
    setpartialstrut = true
    autohide = false
    heightWhenHidden = 2
    roundcorners = true
    roundcornersradius = 7
    layer = none
    MaxElemHeight = 32
}



Plugin {
    type = space
    config {
        size = 2
    }
}


Plugin {
    type = menu
    config {
        IconSize = 22
        icon = openmandriva
        systemmenu {
        }
        separator {
        }
 menu {  
     name = Computer
     icon = dolphin
            
     item {
  name = Terminal
  icon = konsole
  action = konsole
     }
            item {
                name = Lock Display
                icon = system-lock-screen
                action = xdg-screensaver lock
            }
            separator {
            }
            item {
                name = Reboot
                icon = system-reboot
                action = reboot
            }
            item {
                name = Shutdown
                icon = system-shutdown
                action = poweroff
            }
            item {
                name = Logout
                icon = system-log-out
                action = /usr/lib64/fbpanel/xlogout
            }
        }
    }
}



Plugin {
    type = space
    config {
        size = 15
    }
}


Plugin {
    type = launchbar
    config {
        button {
            icon = dolphin
            tooltip = File Manager
            action = dolphin
        }
        button {
            icon = konsole
            tooltip = Terminal
            action = konsole
        }
 button {
            icon = firefox
            tooltip = Web Browser
            action = firefox
     }
    }
}

Plugin {
    type = space
    config {
        size = 15
    }
}


Plugin {
    type = wincmd
    config {
        icon = gnome-fs-desktop
        tooltip = Left click to iconify all windows. Middle click to shade them.
    }
}


Plugin {
    type = space
    config {
        size = 15
    }
}



Plugin {
    type = taskbar
    expand = true
    config {
        ShowIconified = true
        ShowMapped    = true
        ShowAllDesks  = false
        tooltips = true
        IconsOnly = false
        MaxTaskWidth = 150
    }
}


Plugin {
    type = space
 config {
    size = 15
 }
}

Plugin {
    type = pager
    config {
        showwallpaper = true
    }
}

Plugin {
    type = space
    config {
        size = 10
    }
}

Plugin {
    type = mem
    expand = false
    padding = 2
    config {
        ShowSwap = false
    }
}

Plugin {
    type = cpu
    config {
        Color = green
    }
}

Plugin {
    type = net
    expand = false
    padding = 0
    config {
        #interface = ppp0
        interface = eth0
        # set connection limits to make traffic graph more accurate
        TxLimit = 20
        RxLimit = 190
        TxColor = violet
        RxColor = blue
    }
}


Plugin {
    type = space
    config {
        size = 10
    }
}

#plugin {
#    type = battery
#}

Plugin {
    type = tray
}

Plugin {
    type = space
    config {
        size = 10
    }
}

# Digital Clock
Plugin {
    type = dclock
    config {
        ShowSeconds = false
        HoursView = 24
        TooltipFmt = %A %x
        #Action = xmessage Please define some command &
    }
}

# Text Clock
# ClockFmt: (string) Clock format string.  May contain strftime conversion
#           specifications and Pango markup information.
# TooltipFmt: (string) Tooltip format string.
# Action: (string) Shell command to execute when clock is clicked.
# ShowCalendar: (boolean) Show a GTK calendar widget when the clock is
#               clicked.  Only valid if Action is unset.
# ShowTooltip: (boolean) Show tooltip for clock.
#Plugin {
#    type = tclock
#    config {
#        ClockFmt = %I:%M
#        # 2 line view, time in bold above and date below
#        # ClockFmt = %-l:%M %P
%a %B %-e
#        TooltipFmt = %A %x
#        #Action = xmessage Please define some command &
#        ShowCalendar = false
#        ShowTooltip = true
#    }
#}

# 'icons' plugin lets you customize window icons.
# these changes apply to entire desktop
Plugin {
    type = icons
    config {
        DefaultIcon = /usr/share/fbpanel/images/default.xpm
        application {
            icon = gnome-terminal
            ClassName = XTerm
        }
        application {
            icon = gnome-terminal
            ClassName = mlterm
        }
        application {
            icon = gnome-terminal
            ClassName = URxvt
        }
        application {
            icon = gnome-emacs
            ClassName = Emacs
        }
        application {
            icon = mozilla-firefox
            ClassName = Firefox-bin
        }
        application {
            icon = mozilla-firefox
            ClassName = Firefox
        }
    }
}

Simpan file tersebut.

Konfigurasi Wallpaper

Silakan buka aplikasi nitrogen. Klik tombol Preference untuk mengatur letak file wallpaper yang kita miliki. Klik tombol Add untuk menambahkan. Pilih gambar yang akan menjadi wallpaper.

Test

Untuk mengetest desktop baru kita, silakan logout. Pada dialog login user, silakan tulis password dan pilih Openbox sebagai desktop dan Login.

Seharusnya akan tampil desktop Openbox di OpenMandriva.




Semoga ada waktu untuk segera memproduksi ISO OpenMandriva dengan OpenBox dan FBpanel. Salam, OpenMandriva Indonesia
Read more →