I was expecting a .deb file but instead I got this: http://whatpulse.org/downloads/50/64bit/


It appears you clicked one of the download links marked Generic. That's understandable, since the site strangely uses the Ubuntu logo to represent the generic download.

You'll probably be best served to get the .deb package. These links are marked Debian. Ubuntu is based on Debian; both use .deb packages and most .deb packages for Debian will work reasonably well on Ubuntu. (Not all.) Usually if the only available .deb pakage for a program is for Debian rather than Ubuntu, it's worth trying to install using that.

tiny part of WhatPulse download page - copyright rationale: fair use applies as this image is a small part of a work, helpful for illustrating the information in this answer, which does not compete in any way with WhatPulse, also most elements of this image, being OS/project logos, are probably not owned by WhatPulse or anyone affiliated with it of the image

So on the WhatPulse download page, under Download for Linux:

  • click Debian (7.0+) 32bit if you're running the 32-bit version of Ubuntu.
  • click Debian (7.0+) 64bit if you're running the 64-bit version of Ubuntu.

(The link you included in your question is a 64-bit download link, so I'm guessing you have the 64-bit version. But if you're not sure if your Ubuntu system is 32-bit or 64-bit, you should check. One way to check is to open a Terminal with Ctrl+Alt+T and run the command uname -m. x86_64 means you have a 64-bit PC or Intel Mac. i686 means you have a 32-bit PC or Intel Mac.)

You should be able to install the software by double-clicking on the .deb file after downloading it. If not:

  • You can use the Software Center to install gdebi, and use gdbei to install the package.

  • Or you can always do it in the Terminal. To do that, in a Terminal window (Ctrl+Alt+T), type sudo dkpg -i, including a space after -i. Drag the downloaded .deb file into the Terminal--this will paste its full path. Press Enter to run the command. Enter your password when prompted (in the Terminal, it doesn't look like anything is happening when you type a password, but it's receiving it; just type it in and press Enter.)

If you are told during installation that some dependencies were unsatisfied, then you can usually fix this by telling Ubuntu's package management system to automatically install them. To do this, open a Terminal window (if you don't have one open already) by pressing Ctrl+Alt+T and run these two commands, letting the first finish before running the second:

sudo apt-get update
sudo apt-get -f install

You may be prompted for your password; as above, no placeholder characters (like *) appear as you type it in, but that's no problem, just type it and press Enter.

Before following any advice in this answer, please check out the warning at the bottom. I don't put a generic disclaimer on my work; it speaks to the circumstances of this particular question and answer.

Why I Recommend Installing the Debian Package

Some people recommend against "cross-installation," the installation of software intended for one version of Ubuntu on another, or intended for another operating system (like Debian) that uses .deb packages on Ubuntu.

Of course the best thing to do is to get a package that it made for the version of Ubuntu you are running. If that doesn't exist, the best thing to do is to build the software from source yourself (assuming you don't make mistakes while doing so). Unfortunately that is not an option here; WhatPulse is closed source and the source code is not available (see below for details on that).

If you can't install a package meant for your version of Ubuntu and you can't install from source code, there are other options. WhatPulse provides precompiled binaries for manual installation and a system configuration script (see Wolfer's answer, and the Alternate Way section of this answer, below). Alternatively, you can install .deb packages advertised for a system other than yours, on your system; that's cross-installation.

Some people say it's best to avoid cross-installation even if there is no package built for your Ubuntu release and no source code that you can build yourself. This is a reasonable position, but I disagree. I think cross-installation is most likely your best option, in this particular situation. Here's why:

  • Any package that is intended to work on multiple releases of Debian is likely to work on Ubuntu, too. If it works properly on multiple Debian releases then it probably doesn't have such narrow requirements regarding the toolchain with which its dependencies were built, that it would likely be a problem on Ubuntu.

  • To benefit from a package that is really intended for your Ubuntu release, the package has to be built specifically for your release, using the toolchain (compiler, linker, and other tools) for your release. Except software from official Ubuntu repositories and from PPA's (which fortunately covers a lot of software ...but not WhatPulse), it's very rare for any package to be build this way. If it were build this way, they'd be offering multiple Ubuntu packages or stipulating that the package they offer is specifically intended to be run on a particular version of Ubuntu. This is not unheard of, but it is very rare.

    Most of the time, what it means for a third-party-provided, non-PPA .deb package to be an Ubuntu package is that the developer or webmaster happened to include the word "Ubuntu" in its description on the website.

  • Lots of widely respected, professional-quality software is offered as a single .deb package (or a 32-bit package and a 64-bit package) for all reasonably current Debian and Ubuntu systems. Google Chrome is one example. It was probably tested on both systems, but it is still a "cross-installation" for every system except the specific version of whichever of the two OSes it was built on.

  • Some objections to cross-installation are based on concerns that installing a .deb package for a different OS could put your Ubuntu system's package manager into a broken state. This is possible, but I'm not aware of any evidence that this is more likely to occur as a result of cross-installation than as a result of any other installation of a non-official, non-PPA package. (PPA packages are built on Launchpad with the proper toolchain so they tend to install and uninstall properly, though not always.) Furthermore, such problems are almost always very easy to fix, and there are lots of Internet resources (including Ask Ubuntu) to help you fix them.

  • When you install a .deb package (any .deb package, whether intended for a different OS or Ubuntu release, or not), the package manager runs as root and performs systemwide configuration changes, which can potentially break things other than the system that keeps track of what packages are installed and facilitates the package installation, uninstallation, and upgrading. However, if you download the "Generic" distribution of WhatPulse, there is a script you have to run (as root), which makes the same kind of modifications. So that is unlikely to be a disadvantage of cross-installation, in this situation.

Alternate Way

I don't recommend you use this way unless installing the Debian package as explained above doesn't work, or for some reason you don't want to do it that way. Furthermore, if the above way doesn't work, it might still be easier, or produce better results, for you to comment and/or edit your question to explain the problem (then you can get further help, specific to whatever problem occurs).

If you do want to install from the "generic" .tar.gz file you downloaded, first make sure it's for the correct architecture. That is, make sure it's the 32-bit version if you're running the 32-bit version of Ubuntu, or the 64-bit version if you're running the 64-bit version of Ubuntu.

Most software distributed as a .tar.gz, .tar.bz2, or .tar.xz (there are some other variants) is source code that you have to compile. However, WhatPulse is proprietary "freeware" (gratis but not free as in freedom), and as is often the case for such software, its source code is not published.

The .tar.gz file for WhatPulse contains the actual executable binary, together with a script that installs it and a readme file. This is an archive (sort of like a .zip file on Windows), so you can double-click on it to view its contents, or right-click on it and click Extract Here.

First, read the readme file (README.txt), and take a look at the web page it points to. If the resources there--which are likely to be kept more up to date than this ansswer (though you or anyone may feel free to edit this answer to keep it up to date!)--conflict with the advice here, you should most likely do what it says (but use your judgment).

  1. If you haven't actually extracted the contents of the .tar.gz file yet, do that.

  2. Open a Terminal window (Ctrl+Alt+T). Change directory in the Terminal to the directory where you extracted the .tar.gz file. One way to do this is to type cd (with a space at the end) in the Terminal, then drag the folder from Nautilus (the file browser) into the Terminal, then press Enter.

  3. Based on the information currently here, I've guessed as to exactly what Ubuntu packages may be needed as dependencies of WhatPulse. I've deliberately guessed broadly; that is, I suspect that perhaps some of the following libraries may not be necessary, but I'm trying to increase the chance that this will work. So, according to my guess, the following commands should install the libraries upon which WhatPulse depends, in order to work on Ubuntu.

    sudo apt-get update
    sudo apt-get install libqtcore4 libqtwebkit4 libqt4-sql libqt4-sql-sqlite libssl-dev libqtscript4-core libqtscript4-gui libqtscript4-network libqtscript4-webkit libpcap0.8 libpcapnav0

    You can, of course, copy and paste from your web browser into your Terminal; you don't have to manually type any of this.

  4. Run the setup script that gives WhatPulse the ability to monitor what you do on your computer:

    sudo sh setup-input-permissions.sh

Move or copy the WhatPulse executable program (the file called just whatpulse) wherever you want it. There's no need to do this part in the Terminal, though you certainly an if you know how.

If you want to be able to launch it by typing whatpulse (in a Terminal, or in the Unity dash), it's best to put it somewhere in your executable search path. I recommend putting it in the bin folder inside your home folder. (If that folder doesn't exist, you can create it). If your bin folder did not exist before, you'll have to log out and back in (or reboot, if you prefer) for files in there to be automatically found when you try to run them

After all that, assuming everything worked, you should be able to run whatpulse from the Terminal or by pressing Alt+F2 (and typing it in, and pressing Enter or clicking on whatpulse if it comes up).

There is no need to run whatpulse itself with sudo. You should not do that (and it looks like it might not work if you do; it's not intended to be run that way).

I'm not sure if WhatPulse will give you the option of making it start up automatically when you run it. But if it doesn't, and if you want it to start automatically, see:

Finally, please note that I have not used WhatPulse, and am only vaguely familiar with it. This means two things.

  1. It means I cannot be sure this will work--I don't have the ability to try it out myself first.

  2. It also means I cannot vouch for the security of WhatPulse, or be sure that it works the way it says it does, and so forth. I am not saying it doesn't, just that I don't know enough about it to say (which is why I don''t have the "ability" to try it out myself first).

  • for what it's worth: I had to install libssl1.0-dev instead of libssl-dev on Debian 9 – Amfasis Sep 18 '18 at 9:14

What you linked is a standalone binary. According to my file:

file whatpulse
whatpulse: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=b6027484908c5a05d8b32e4dd5c342fc12bf6670, not stripped

Just extract it, mv it to wherever you want (as per *nix standard the /opt/ is for just this scenario), and if you want bash to recognize it ln -s it to /usr/local/bin/.

  • 1
    That should work ...but it may be necessary to install libraries. And there are Debian packages which may work. – Eliah Kagan Jul 28 '13 at 16:43
  • 1
    Yeah, and the right thing to do would be to write feature requests for both the ubuntu and whatpulse devs for an ubuntu package. And cross installing packages between ubuntu and Debian isn't really a good idea. (Because it might break something.) – Wolfer Jul 28 '13 at 16:50
  • 2
    A needs-packaging request on Launchpad would probably not be helpful here, since WhatPulse is proprietary software. Unless its developer wants to make it available through the Partner repository, it's unlikely to be included officially in Ubuntu, and it probably cannot be provided by PPA for the same reason (unless the developer wishes to pay money). However, WhatPulse's developer certainly could release Ubuntu-specific packages, built for specific Ubuntu releases with their toolchains (like Launchpad does). – Eliah Kagan Jul 28 '13 at 16:53
  • 1
    In this situation I think cross-installation probably is the best option, and in effect does not carry any major comparative disadvantages. However, the opposite position is reasonable too, and I should probably not have recommended it without mentioning its possible risks and why I think it's the right thing to do in this situation. I've edited my answer with the intention of rectifying that. – Eliah Kagan Jul 28 '13 at 18:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.