diff -Naur xmms-1.2.8.orig/xmms/skin.c xmms-1.2.8/xmms/skin.c
--- xmms-1.2.8.orig/xmms/skin.c	Mon Mar 17 15:49:08 2003
+++ xmms-1.2.8/xmms/skin.c	Fri Sep  5 11:08:47 2003
@@ -600,10 +600,10 @@
 
 	unzip = getenv("UNZIPCMD");
 	if (!unzip)
-		unzip = "unzip";
+		unzip = "@l_unzip@";
 	tar = getenv("TARCMD");
 	if (!tar)
-		tar = "tar";
+		tar = "@l_tar@";
 
 	if ((ending = strrchr(path, '.')) == NULL)
 		return NULL;
@@ -621,9 +621,9 @@
 	if (!strcasecmp(ending, ".zip") || !strcasecmp(ending, ".wsz"))
 		tmp = g_strdup_printf("%s >/dev/null -o -j \"%s\" -d %s", unzip, escaped, tempdir);
 	if (!strcasecmp(ending, ".tgz") || !strcasecmp(ending, ".gz"))
-		tmp = g_strdup_printf("%s >/dev/null xzf \"%s\" -C %s", tar, escaped, tempdir);
+		tmp = g_strdup_printf("@l_gzip@ -dc \"%s\" | %s >/dev/null xf - -C %s", escaped, tar, tempdir);
 	if (!strcasecmp(ending, ".bz2"))
-		tmp = g_strdup_printf("bzip2 -dc \"%s\" | %s >/dev/null xf - -C %s", escaped, tar, tempdir);
+		tmp = g_strdup_printf("@l_bzip2@ -dc \"%s\" | %s >/dev/null xf - -C %s", escaped, tar, tempdir);
 	if (!strcasecmp(ending, ".tar"))
 		tmp = g_strdup_printf("%s >/dev/null xf \"%s\" -C %s", tar, escaped, tempdir);
 
