Installing VMware tools on Debian Wheezy 7.x

06-01-2018: instead of using the below guide Install Open VM Tools:

Install the tools for building VMware tools on the host:

$ aptitude update
$ aptitude install gcc make
$ aptitude install build-essential
$ aptitude install linux-headers-$(uname -r)

Press the Install vmware tools in vSpehere Client for the VM.

Copy the VMware tools to the VM:

$ mount /dev/cdrom /mnt
$ cp /mnt/VMwareTools-8.6.10-913593.tar.gz /opt/
$ cd /opt
$ tar xfzv VMwareTools-8.6.10-913593.tar.gz

Install VMware tools:

$ cd vmware-tools-distrib/
$ perl

Next follow the installation instructions on the screen.

Then reboot the virtual machine and check the VMware Tools is running, by checking the status in the virtual machine with the vSphere client.

you can check locally on the VM that the tool is running by doing the following command:

$ service vmware-tools status
  vmtoolsd is running

Screen and irssi encodning.

Got this from a thread on the internet:

Section 1. Configuration

Follow the following steps. Please do not use scandinavic
characters until you have proceeded configuring irssi & screen
since they probably will not work properly while the
configuration is not finished.

Step 1. Connect to the server to run your irssi on

Step 2. Shut down your irssi


Step 3. Close the screen you were running it in (if it didn’t already)

Step 4. Backup your current irssi & screen configuration:

$ tar czf irssi-backup.tar.gz .irssi .screenr*

Step 5. If you have a line starting “defencoding” in ~/.screenrc, remove it

Step 6. Start screen like you usually do, but add a -U parameter

$ screen -U

or perhaps

$ screen -U -S irc

This makes screen understand that irssi talks utf-8 to screen

Step 7. Configure irssi to talk utf-8 to screen but use iso-8859-15 charset by default for all windows

Copy-paste the following commands to the irssi console:

/set term_charset utf-8
/set recode_autodetect_utf8 ON
/set recode_fallback ISO-8859-15
/set recode_out_default_charset ISO-8859-15
/set recode_transliterate ON
/set recode ON

Step 8. Detach screen (typically by pressing ctrl-a d)

Ta-da! Now you have configured irssi and screen to work properly.

How do I shut down a workstation via Remote Desktop?

depending on the setup of your windows try the 2 solutions:

Ctrl+Alt+End This should be the same as Ctrl+Alt+Del and consequently takes you to a dialog where you can do various system-type things, among them logging off and shutting down.

Another trick is to click on the desktop and press Alt+F4. This will call up the shutdown dialog, where you get the usual shutdown options like “Shut down”, “Shut down without installing updates”, “Restart”, “Stand by”, and “Hibernate”.

HDHomeRun HD3-4DC and Linux (Yousee and Stofa)

A buddy of mine bought 2 HDHomeRun HD3-4DC and wanted to use this on a Ubuntu 12.04 Server
the problem with Ubuntu 12.04 is that the DVB kernel headers was removed from the normal header packages.

first make sure that your network has a working DHCP server, and that the HDhomeRun is connected to the network and that the antenna cable is connected.

first we need to add the ppa repository from

Adding the PPA repository:

$ add-apt-repository ppa:tfylliv/dvbhdhomerun
$ apt-get update

Kernel driver:
Next we need the kernel headers and the missing headers:
i my case the server was using the following kernel, linux-image-3.8.0-39-generic
the missing DVB headers i grapped from

# apt-get install linux-headers-3.8.0-39-generic
$ wget

Unpack the headers:

$ tar zxfv linux-3.8.tar.gz

Next copy the missing headers to the Ubuntu headers:

$ cp -R /linux-3.8/drivers/media/dvb-core/* /usr/src/linux-headers-3.8.0-39/drivers/media/dvb-core/
$ cp -R /linux-3.8/drivers/media/dvb-frontends/* /usr/src/linux-headers-3.8.0-39/drivers/media/dvb-frontends/

Installing the hdhomerun dkms and utils:

$ apt-get install dvbhdhomerun-dkms dvbhdhomerun-utils

This should build the dvb_hdhomerun kernel driver and the userhdhomerun userspace and the necessary script to run the userspace service,

try initialize the kernel driver:

$ modprobe dvb_hdhomerun

this should give something like this when looking at dmesg

[   17.893873] HDHomeRun: Begin init, version 0.0.16
[   17.897220] HDHomeRun: Waiting for userspace to connect
[   17.897228] HDHomeRun: End init

Setup Tuners:

We need to locate the names of the tuner in my case we actually have 2 of them :).

$ hdhomerun_config discover
hdhomerun device 141001A7 found at
hdhomerun device 14101464 found at

make a note of the name of the tuners i my case they are named: 141001A7 and 14101464.
next edit /etc/dvbhdhomerun

$ nano /etc/dvbhdhomerun

my config file looks like this:

# Remember to exchange the XXXXYYYY-Z with the serial number of your HDHomeRun
# tuner:

# Auto detect tuner type is not possible in all cases, so you can force it









# You can use a full name including tuner ID. Meaning the tuner will appear as
# "HDHomeRun DVB-C 1234EA3D-0" instead of just "HDHomeRun DVB-C" in for example
# TVHeadend.









# You can disable certain tuners. As default all detected hdhomeruns are used


# Enable additional logging  from libhdhomerun itself

Now restart the dvbhdhomerun-utils

$ service dvbhdhomerun-utils restart

dmesg should show something like this:

[   19.050534] hdhomerun: userhdhomerun connected
[   19.050574] hdhomerun: userhdhomerun connected
[   19.050588] hdhomerun: creating dvb device for 141001A7-0
[   19.050688] DVB: registering new adapter (HDHomeRun)
[   19.110568] HDHomeRun HDHomeRun.0: DVB: registering adapter 0 frontend 0 (HDHomeRun DVB-C 141001A7-0)...
[   19.110685] HDHomeRun0: DVB Frontend registered
[   19.110688] HDHomeRun0: Registered DVB adapter0
[   19.110728] hdhomerun: device /dev/hdhomerun_data0 created
[   19.110971] hdhomerun: userhdhomerun connected
[   19.110984] hdhomerun: creating dvb device for 141001A7-1
[   19.111065] DVB: registering new adapter (HDHomeRun)
[   19.112681] HDHomeRun HDHomeRun.1: DVB: registering adapter 1 frontend 0 (HDHomeRun DVB-C 141001A7-1)...
[   19.112722] HDHomeRun1: DVB Frontend registered
[   19.112724] HDHomeRun1: Registered DVB adapter1
[   19.112762] hdhomerun: device /dev/hdhomerun_data1 created
[   19.112959] hdhomerun: userhdhomerun connected
[   19.112969] hdhomerun: creating dvb device for 141001A7-2
[   19.113058] DVB: registering new adapter (HDHomeRun)
[   19.115142] HDHomeRun HDHomeRun.2: DVB: registering adapter 2 frontend 0 (HDHomeRun DVB-C 141001A7-2)...
[   19.115221] HDHomeRun2: DVB Frontend registered
[   19.115223] HDHomeRun2: Registered DVB adapter2
[   19.115264] hdhomerun: device /dev/hdhomerun_data2 created
[   19.115456] hdhomerun: userhdhomerun connected
[   19.115467] hdhomerun: creating dvb device for 141001A7-3
[   19.115558] DVB: registering new adapter (HDHomeRun)
[   19.115904] HDHomeRun HDHomeRun.3: DVB: registering adapter 3 frontend 0 (HDHomeRun DVB-C 141001A7-3)...
[   19.115951] HDHomeRun3: DVB Frontend registered
[   19.115953] HDHomeRun3: Registered DVB adapter3
[   19.115985] hdhomerun: device /dev/hdhomerun_data3 created

The hdhomerun is now connected.

Scanning for DVB-C channels:
As i live in Denmark, the most common DVB-C providers are Yousee and Stofa

for Yousee use the following setup:

$ hdhomerun_config XXXXXXXX set /sys/dvbc_modulation a8qam64-6875

for Stofa use the following setup:

$ hdhomerun_config XXXXXXXX set /sys/dvbc_modulation a8qam64-6900

Next we need to setup the tuners:

$ hdhomerun_config  XXXXXXXX set /tuner0/channelmap eu-cable
$ hdhomerun_config  XXXXXXXX set /tuner1/channelmap eu-cable
$ hdhomerun_config  XXXXXXXX set /tuner2/channelmap eu-cable
$ hdhomerun_config  XXXXXXXX set /tuner3/channelmap eu-cable

finally we can scan the muxes for channels:

$ hdhomerun_config XXXXXXXX scan 0 hdhomerun.log

the scan takes some time so be patience

if you are going to install TVheadend you should do the following to the log file:

For Yousee:

awk '{if ($1 ~ /SCANNING/) print "\n" $2; else print $0}' hdhomerun.log | awk 'BEGIN { RS = "" ; FS = "\n" } { if (length($4) > 0) print "C " $1 " 6875000 NONE QAM64" }' > dk-YouSee

For Stofa:

awk '{if ($1 ~ /SCANNING/) print "\n" $2; else print $0}' hdhomerun.log | awk 'BEGIN { RS = "" ; FS = "\n" } { if (length($4) > 0) print "C " $1 " 6875000 NONE QAM64" }' > dk-Stofa

the generated file is readable by TVheadend and should make it more easy to find the channels.


If you wanne update the firmware for the hdhomerun you can do this with the hdhomerun_config tool by doing:
(check Silicondust’s homepage for newer releases)

$ wget
$ hdhomerun_config 14101464 upgrade hdhomerun3_dvbc_firmware_20140121.bin


Installing Apache::Gallery

This is a step by step guide for installing Apache::Gallery (libapache-gallery-perl) on Debian, this will possible also work for Ubuntu.

The system i did the installation on was a Debian 7 (Wheezy).

First lets install the basic packages:
first install Apache 2:

aptitude install apache2

Now for perl:

aptitude install libapache2-mod-perl2

now for Image::Imlib2:

aptitude install libimage-imlib2-perl

Finaly install Apache:Gallery:

aptitude install libapache-gallery-perl

now make the apache config for the new gallery site, in my case i addet a virtual host to my apache config:

i choose to use the /var/www/gallery as the place for my photos, feel free to use any other place.

Now for the apache config, this is straight forward, if in trouble look at this link:

<VirtualHost *:80>
        DocumentRoot /var/www/gallery/  #<----- make sure this directory is readable by www-data
        ErrorLog     /var/log/gallery-error_log
        TransferLog  /var/log/gallery-access_log
        PerlSetVar   GalleryTemplateDir '/usr/share/libapache-gallery-perl/templates/default'
        PerlSetVar   GalleryInfo 'Camera => Model, Picture Taken => DateTimeOriginal, Flash => Flash, ShutterSpeed => ShutterSpe$
        PerlSetVar   GallerySizes '640 1024 1600 2272'
        PerlSetVar   GalleryThumbnailSize '100x75'
        <Location />
            SetHandler  perl-script
            PerlHandler Apache::Gallery

restart apache with:

/etc/init.d/apache2 restart

Apache:gallery will properly generate a error looking something like this (look at /var/log/gallery-error_log):

unable to writhe to /var/cache/www/

make the directory and make sure www-data have writing access.

Now for the gallery.css file.
Place gallery.css in the gallery root directory (in this example /var/www/gallery)

use this code for the css style:

body {
    background-color: #cccccc;
    font-family: Verdana, Lucida, Arial;
    font-size: 10px;
    margin-left: 10px;
    margin-top: 10px;
    text-align: center;
td {
    font-size: 10px;
table {
    margin-left: auto;
    margin-right: auto;
#menu {
    font-size: 11px;
    text-align: left;
    height: 30px;
#nav {
    font-size: 11px;
    text-align: left;
    height: 30px;
    text-align: right;
#directory {
    background-color: #ffffff;
    border: 1px solid #666666;
    padding: 20px;
    text-align: left;
    top: 0px;
#folder {
    float: left;
    height: 100px;
    padding: 2px;
    text-align: center;
    width: 120px;
#picture img {
    border: 1px solid #000000;
a {
    color: #5555aa;
a img {
    border: 2px solid #5555aa;
a:hover {
    color: #ff9400;
a:hover img {
    border: 2px solid #ff9400;
#folder img {
    border: 0px;
.info {
    background-color: #eeeeee;
    border: 1px dashed #888888;
    color: #666666;
    font-size: 10px;
    margin: 10px;
    padding: 5px;

make the following directory /usr/share/apache2/icons/gallery and copy the icons from /usr/share/libapache-gallery-perl/icons to the new directory

restart Apache.

there you have it there should be a working gallery now 🙂

remember to add some photos to the new gallery

more info can be found at



Updating Debian squeeze to wheezy

Find word squeeze and replace with wheezy. At the end it should look as follows:

deb wheezy main
deb-src wheezy main

deb wheezy/updates main
deb-src wheezy/updates main

# wheezy-updates, previously known as 'volatile'
deb wheezy-updates main
deb-src wheezy-updates main

To update the package list, enter:

# apt-get update

do a update of the base system, enter:

# apt-get upgrade

Now upgrade the rest of the system, enter:

# apt-get dist-upgrade

Reboot the system:

you can verify your debian version by entering:

$ lsb_release -a

the output should look something like this:

No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 7.0 (wheezy)
Release:	7.0
Codename:	wheezy

Configuring Samba to be a WINS server

This is quite easy to do, and it makes browsing the smb network fast.

Configuring the server:
simply edit smb.conf (typically located at /etc/samba/smb.conf)
locate the the wins support and enable it.:

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
wins support = yes

setup the way samba should resolve the hosts:

# What naming service and in what order should we use to resolve host names
# to IP addresses
#   name resolve order = lmhosts host wins bcast
   name resolve order = host wins bcast

The following option should be addet to the linux DHCP server (if you use linux as a DHCP server):

option netbios-name-servers x.x.x.x;

where x.x.x.x is the IP of the WINS server

If you use a normal router, sometimes they support pushing out the wins server, if you use a router running dd-wrt
go tothe  basic setup and add the WINS server IP, there.

If this fails you can add the WINS server manually to windows:
go to the control panel, and press the View network status and tasks, then press the change adapter setting
right click the network interface and select properties, select the TCP/IP (for windows 7 select TCP/IPv4)
and press properties again click advanced and select the WINS  and add the IP of the WINS server and you are ready to go


For linux clients simply edit the smb.conf and add the following:

# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
   wins server = x.x.x.x

replace x.x.x.x with the IP of the WINS server

Happy smb surfing 🙂

How to fix/hack the Samsung CLX-3175FW, imaging unit

Well the place where i do some voluntary work, had this Samsung CLX-3175FW Color Laser printer for some years now and the unit i starting to show to following warning: “replace imaging unit soon” from the old days doing repairs on different printers at the university, i found that a lot of manufacturers place small fuses, software counters that are supposed to make the user replace different parts in the printers normally these parts are quite expensive, some of these “errors” can sometimes be reset without that much work, and the this was one of them.

What you needs is the following:

A Solderings iron

A 56Ω 0,25watts resistor

Let’s get to work.First thing is to take all the color cartridges out of the printer and place them somewhere safe (be sure not to drop the color powder on anything)

next thing is to remove the wast toner box in the left side, now remove the imaging unit.


you should se 2 cobber contacts in the right side of the imaging unit, this small device can be removed from the unit.


inside the unit that i took apart, there where 2 resistors, the small one, is actual just a  “sense” function that makes the printer aware if the unit is not installed, in my case the resisitor was a 140KΩ, the larger resistor was a 56Ω but this resistor was burned and did no longer function. So this resistor functions as a “new” device put into the printer, the printer then burns this resistor to reset the imaging unit counter.

a quick trip to the storage with a new 56Ω resistor, i removed the old one and soldered the new inside the unit, i used a 1% resistor as this was the only type that i had.

i then put the unit back into the imaging unit, and cleaned the unit for any excess toner, and dust.

then i put everything back into the printer and powered the unit on.

i printed a report for the unit and wolia 🙂 the printer now thinks the imaging unit is new.


i den took the unit apart again and checked the resistor, somehow the printer didn’t burn i properly so i remove the resistor , just to be sure that i didn’t break anything, maybe the original samsung placed resistor is easer to burn?, but hey what the heck it did the job.

This fix/hack cost around 0.50DKR, and a new imaging unit cost around 900-1100DKR so witch one do you chose?.