Tips on GUENGEL Packages

Perl

I do not provide packages for Perl modules. Instead, use the CPAN Perl Module for installing modules.

Before firing up the CPAN shell, please make sure that /usr/ccs/bin is included in your PATH environment variable.

Start the CPAN shell by typing the following in a terminal

# /opt/guengel/bin/perl -MCPAN -e shell

You can then use the install command to install the desired module, such as:

cpan[1]> install XML::XPath

Environment Variables for GTK and GNOME Applications

For proper functioning of packages depending on GTK or GNOME, set the following environment variables to /opt/guengel/share:

If you are using GDM as your login manager, you can set them in $HOME/.xprofile. For the CDE login manager, you have to put them into $HOME/.dtlogin.

GnuPG

This mini-HowTo explains how to setup GnuPG 2 for use with Thunderbird and Enigmail.

When using GnuPG 2, Enigmail wants to communicate with GnuPG over the GPG Agent. The trouble is, if the gpg-agent does not run prior launching Thunderbird, Enigmail reports an error like that

[Enigmail error if gpg-agent is not running]

Therefore, you need to start the gpg-agent together with your X session. Further, you have to have installed pinentry which shows a nice graphical prompt for the passphrase of the GPG keys.

If you're running GDM as your login manager, you could put something like the script snippet shown below in your .xprofile file which has to be located in your home directory:

GPGAGENT=/opt/guengel/bin/gpg-agent
GPGPINENTRY=/opt/guengel/bin/pinentry-gtk-2
GPG_ENV_FILE="$HOME/.gnupg/gpg-agent-info"
echo "Starting up $GPGAGENT (on display $DISPLAY) ..."

echo $DISPLAY | /usr/bin/egrep -s '\.[0-9]+$'
if [ $? -eq 0 ] ; then
	mydisplay=$DISPLAY
else
	mydisplay="$DISPLAY".0
fi

GPGAGENTARGS="--sh --write-env-file $GPG_ENV_FILE --pinentry-program $GPGPINENTRY --display $mydisplay --daemon"
echo "\tUsing CMDARGS for gpg-agent: $GPGAGENTARGS"

if test -f "$GPG_ENV_FILE" && kill -0 `cut -d: -f 2 "$GPG_ENV_FILE"` 2>/dev/null; then
	echo "\tAlready running instance of gpg-agent found."
	echo "\tKilling running instance"
	kill -TERM `cut -d: -f 2 "$GPG_ENV_FILE"` 2>/dev/null
	if [ $? -ne 0 ] ; then
	    echo "\tError killing gpg-agent"
	else
	    echo "\tLaunch new instance of gpg-agent."
	    echo "\tInfo file is located in $GPG_ENV_FILE"
	    eval `$GPGAGENT $GPGAGENTARGS`
	fi
else
	echo "\tLaunch new instance of gpg-agent."
	echo "\tInfo file is located in $GPG_ENV_FILE"
	eval `$GPGAGENT $GPGAGENTARGS`
fi
echo "... Done"

GDM (more precisely its Xsession script) will then load the gpg-agent upon login.

This script snippet will start the gpg-agent. If you logout of your session, and re-login, the script will restart the agent. This is necessary for bringing up the pinentry window.

You can check the output of the script in the .xsession-errors which is also located in your home directory.

With this script-snippet in your .xprofile, you should be able to use Thunderbird, Enigmail and GnuPG 2 smoothly together.

$Id: tips.shtml 5948 2014-02-09 14:42:28Z rafisol $