Cannot Run Parole Media Player in Debian 8 ‘jessie’ Xfce

VLC media player comes preinstalled in Debian 8 ‘jessie’ Xfce edition. I thought why not try Xfce project’s media player, parole?

I installed parole, but couldn’t run it: neither using GUI icon, nor from the terminal. I got the fix afterwards. I just installed gstreamer0.10-plugins-good package and it solved the problem.

apt-get install gstreamer0.10-plugins-good

Parole now plays!

Things to Do After Installing Debian 8 Jessie Xfce Edition

Debian ships with ‘vanilla’ Xfce. No bells and whistles, that’s it! But not everyone can be happy with this bare-bone look and feel of Xfce. And a Debian system needs some initial works-to-do to make it work out-of-the-box!

  • The first thing I do right after installing a Debian edition is to add my username in the sudoers file.

Open terminal window and execute the following command to become root for the time being:

su -

Now execute the following command to add your username in the sudoers file.

adduser username sudo

It goes without saying that the aforementioned username should be replaced with your respective username. For example, if your username is foobar, then execute the following command instead:

adduser foobar sudo

Now log out and log in back for that change to take effect.

  • After adding my username to the sudoers file, the next thing would be to edit the sources.list file. For Debian 8 jessie release, I use the following sources:
deb jessie main contrib non-free
deb-src jessie main contrib non-free
deb jessie-updates main contrib non-free
deb-src jessie-updates main contrib non-free
deb jessie/updates main contrib non-free
deb-src jessie/updates main contrib non-free

Of course, if you’re an utmost free software guy, if might want to use just the main repository, that consists only the free and open source components. I’m also a free software guy, but cannot live without some non-free components, like WiFi driver. Therefore, I use both non-free and contrib repos along with the main repo.

Open terminal and execute the following command to open the sources.list file using mousepad, the default text editor for Xfce. Of course, you can use whatever text editor you may like for editing this sources.list file. You might want to even start vi vs. emacs flame war! sudo mousepad /etc/apt/sources.list

Now select everything contained in the sources.list file and replace them with the following:

deb jessie main contrib non-free
deb-src jessie main contrib non-free
deb jessie-updates main contrib non-free
deb-src jessie-updates main contrib non-free
deb jessie/updates main contrib non-free
deb-src jessie/updates main contrib non-free

And as I said, you can omit the non-free and the contrib from the last part of each line if you want to stick with the free software only.

Now save the file.

  • After saving the sources.list file, update and upgrade your system.

Open terminal and execute the following commands one after another:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Of course, you can execute them in a single line separating them with semicolon (;).

  • WiFi drivers are proprietary. And Debian official repo doesn’t contain anything other than free software. That’s the main reason I include the non-free and the contrib repos in my sources.list file.

To install WiFi driver in my system, I install the firmware-iwlwifi package.

sudo apt-get install firmware-iwlwifi

A restart would make the WiFi work!

  • Default font rendering isn’t good enough. It’s there for performance issue. The default font rendering performs better in all conditions and all hardware specs. But why compromise? I needed better font rendering. That’s why I opened Settings > Appearance > Fonts tab.

I left the default font (Sans, 10 point) as it was. It’s not great, but does the job.

Anti-aliasing was enabled by default. Otherwise I would have enabled it.

Hinting was disabled by default. I chose Slight hinting. It suits my display better.

I chose Sub-pixel order to be RGB.

I left custom DPI (96 points) as it was.

And I got a better rendered font without installing any extra package.

  • Debian 8 Xfce comes with mutt email client installed by default. I haven’t tried command line based email client yet. I heard mutt is great, but I wanted something I’m already familiar with. That’s why I installed icedove, a non-branded thunderbird clone.
sudo apt-get install icedove
  • I added notes and clipman panel-items in Xfce panel. These proved to be great productivity tools for me!
  • Quodlibet music player doesn’t have any sound in the default install. Therefore I had to install gstreamer1.0-alsa package to make sound work in Quodlibet for Debian 8 jessie.
sudo apt-get install gstreamer1.0-alsa

A restart of quodlibet would do the job.

  • Screen real estate is a great issue for small-screen laptops. I have a 14″‘ laptop. That’s why I pinned commonly used applications in the top panel, right after Applications Menu and removed the bottom panel.


The aforementioned things gave me an out-of-the-box experience out of the Debian 8 jessie Xfce edition. Hope these help!




Slightly Modified Solarized Color Scheme for urxvt

I like urxvt for it’s lightweight and Unicode support. And I like the Solarized color scheme for terminal emulators.

Solarized color scheme looks awesome! It has two gorgeous color scheme: solarized dark and light. I use the former at night and the later while working in day time.

I find the directory highlighter color to be disturbing in the default solarized color scheme. Everything else is all right. So I modified the directory highlighter and got my most favorite terminal color schemes.

Solarized Dark

Xft.dpi: 96
Xft.antialias: true
Xft.rgba: rgb
Xft.hinting: true
Xft.hintstyle: hintslight

URxvt.depth: 32
URxvt.geometry: 80x24
URxvt.transparent: false
URxvt.fading: 0
! URxvt.urgentOnBell: true
! URxvt.visualBell: true
URxvt.loginShell: true
URxvt.saveLines: 50
URxvt.internalBorder: 3
URxvt.lineSpace: 0

! Fonts
URxvt.allow_bold: false
/* URxvt.font: -*-terminus-medium-r-normal-*-12-120-72-72-c-60-iso8859-1 */
URxvt*font: xft:Hack:pixelsize=12
URxvt*boldFont: xft:Hack:pixelsize=12

! Fix font space
URxvt*letterSpace: -1

! Scrollbar
URxvt.scrollStyle: rxvt
URxvt.scrollBar: false

! Perl extensions
URxvt.perl-ext-common: default,matcher
URxvt.matcher.button: 1
URxvt.urlLauncher: firefox

! Cursor
URxvt.cursorBlink: true
URxvt.cursorColor: #657b83
URxvt.cursorUnderline: false

! Pointer
URxvt.pointerBlank: true

! special
*.foreground: #93a1a1
*.background: #002b36
*.cursorColor: #93a1a1

! black
*.color0: #002b36
*.color8: #657b83

! red
*.color1: #dc322f
*.color9: #dc322f

! green
*.color2: #002b36
*.color10: #859900

! yellow
*.color3: #b58900
*.color11: #b58900

! blue
*.color4: #268bd2
*.color12: #268bd2

! magenta
*.color5: #6c71c4
*.color13: #6c71c4

! cyan
*.color6: #2aa198
*.color14: #2aa198

! white
*.color7: #93a1a1
*.color15: #fdf6e3

Solarized Light

Xft.dpi:                    96
Xft.antialias:              true
Xft.rgba:                   rgb
Xft.hinting:                true
Xft.hintstyle:              hintslight

URxvt.depth:                32
URxvt.geometry:             80x24
URxvt.transparent:          false
URxvt.fading:               0
! URxvt.urgentOnBell:         true
! URxvt.visualBell:           true
URxvt.loginShell:           true
URxvt.saveLines:            50
URxvt.internalBorder:       3
URxvt.lineSpace:            0

! Fonts
URxvt.allow_bold:           false
/* URxvt.font:                 -*-terminus-medium-r-normal-*-12-120-72-72-c-60-iso8859-1 */
URxvt*font: xft:Hack:pixelsize=12
URxvt*boldFont: xft:Hack:pixelsize=12

! Fix font space
URxvt*letterSpace: -1

! Scrollbar
URxvt.scrollStyle:          rxvt
URxvt.scrollBar:            false

! Perl extensions
URxvt.perl-ext-common:      default,matcher
URxvt.matcher.button:       1
URxvt.urlLauncher:          firefox

! Cursor
URxvt.cursorBlink:          true
URxvt.cursorColor:          #657b83
URxvt.cursorUnderline:      false

! Pointer
URxvt.pointerBlank:         true
urxvt*scollbar: false
urxvt*internalborder: 6

*.foreground:   #586e75
*.background:   #fdf6e3
*.cursorColor:  #586e75

*.color0:       #002b36
*.color1:       #dc322f
*.color2:       #fdf6e3
*.color3:       #b58900
*.color4:       #268bd2
*.color5:       #6c71c4
*.color6:       #2aa198
*.color7:       #93a1a1

*.color8:       #657b83
*.color9:       #dc322f
*.color10:      #859900
*.color11:      #b58900
*.color12:      #268bd2
*.color13:      #6c71c4
*.color14:      #2aa198
*.color15:      #fdf6e3

! Note: colors beyond 15 might not be loaded (e.g., xterm, urxvt),
! use 'shell' template to set these if necessary
*.color16:      #cb4b16
*.color17:      #d33682
*.color18:      #073642
*.color19:      #586e75
*.color20:      #839496
*.color21:      #eee8d5

You can use any of these color schemes for urxvt terminal emulator. Just replace your Xdefaults color scheme with any of these and voilà!

Learned Markdown Syntax and It’s Awesome

I just learned Markdown syntax. It’s just what I needed!

Markdown was initially intended to easy conversion of plain text into HTML. And now it’s developers and programmers favorite syntax.

I love plain text. Plain text is great for storing data and it’s here for good. The specialty of plain text is: it’s universal. Plain text is not going to die away anytime soon. One problem I faced using plain text is, while opening in Windows platform, the Unix-formatted plain text acted differently. Though there’s way out to convert Unix-styled text to Windows or Max-styled text format. But why do that when you have Markdown syntax?

Markdown is available and is supported in all platforms. But as of its’ origin, Markdown is native to the web. It’s great for web publishing and storing data. It uses only a few punctuation marks as special characters, and voilà! Your plain text is formatted in rich format.

Markdown syntax is human-readable. Anyone can read any markdown formatted text with ease. Markdown is simple and easy. Learning Markdown syntax takes only a couple of minutes and a few hours of practice. And you can use it for all your textual needs.

Markdown is great for programming environments. Even books are being written in Markdown syntax for its’ ease of use and straightforwardness. Markdown also supports scripting. You can use your normal text editor or any specialized Markdown supported editor for Markdown purposes. Markdown is nowadays very popular amongst developers and coders. You will find it everywhere and won’t regret learning or using it.

The original Markdown is there with detailed descriptions. GitHub and Stackoverflow have their own flavored Markdown. Choose what suits you best. I stick with the traditional Markdown.

What do you do with Markdown?

Using Microsoft’s Times, Arial, Courier Fonts in Debian

You may want to use some industry standard fonts e.g. Times, Arial, Courier in Debian. These fonts are from Microsoft and understandably, proprietary in nature.  You can use these fonts from Microsoft installing the ttf-mscorefonts-installer package in Debian. Remember that, you need to add contrib section in your sources file.

apt-get install ttf-mscorefonts-installer

This would do the job. Better yet, you can use fonts-liberation package that supplies fonts with same metrics as Times, Arial and Courier. Liberation fonts are free, contrary to proprietary nature of MS fonts.

For more info, visit Debian Fonts Wiki

Resizing Images Using ImageMagick

The other day I was applying for a job through their website, where I had to provide my photo in a predefined resolution. Indeed they wanted my photo to be in 600×600 pixels. I had to resize my photo before uploading it to that site. I used ImageMagick, a great image suite.

I installed ImageMagick in Debian using:

apt-get install imagemagick

Resizing images using ImageMagick is easy and self-explanatory. I used the following format:

convert image.jpg -resize 600x600 resized_image.jpg

This way, image file named image.jpg was resized to resized_image.jpg in 600×600 pixels.

But this process has a problem. The aforementioned command format preserves the aspect ration of the image. To fully resize any image in a specific ratio, the following command is used instead:

convert image.jpg -resize 600x600\! resized_image.jpg

This command format forces the image to resize in the intended ration ignoring any aspect ration.

Images can also be resized to scale in any particular amount specified. To put it simply, images can be resized in their percentage scale. The command format is:

convert image.jpg -resize 50% resized_image.jpg

Here, any percentage ratio of the image can be used instead of 50%.

Images can also be resized in their pixel area count. For example, 600×600 sized image has a pixel area count of 360000. This is useful to make a collection of images almost same size. The command format is:

convert image.jpg -resize 360000@ resized_image.jpg

Of course, 360000 can be replaced with any other pixel area count. Just make sure @ is there after the pixel area count for this command. That’s all.

Merging Multiple VOB Files Into a Single VOB File Using Command Line Tool in Linux

Often DVDs come with two notable directories: AUDIO_TS and VIDEO_TS. Usually VIDEO_TS is used for watching the video files contained in that DVD. These videos are formatted in VOB files, in almost all cases. Sometimes it’s better to convert these VOB files into a more usual video format, like mp4, avi, etc. You have to merge the VOB files into a single VOB file in the first step. And you can combine the VOB files into one using the Unix tool cat. cat is a simple and yet powerful tool for catenation of multiple files into one.

Open terminal in the VIDEO_TS directory (of course you can open terminal in another directory and still specify the input files path in the command; Unix is that flexible!) and execute the following command in it:

cat *.VOB > ./give_any_name.VOB

This would combine all VOB files into a single VOB file in that directory. Of course, you can specify another directory for output file, and give any name to the output file.

Here, * (asterisk) character acts as a wild card denoting all the files ending with VOB. And ./ denotes the present working directory.