PortableApps in Puppy Linux 1 January, 2009
Posted by aronzak in Linux, portableapps, Puppy Linux.Tags: cross platform, Linux, portableapps, portableapps.com, Puppy Linux, wine
7 comments
Puppy Linux can be installed on your USB stick. So can PortableApps, a collection of cross platform open source software that can run on Windows. Interestingly, nearly all of the apps also run perfectly in wine, except for a few issues. So, I got an idea. Why not try and integrate the two.
I created a simple script that can run at startup to check weather the Portableapps.com suite is installed, and then if wine is installed, offer to start it, and if not, offer to download and install wine. Pretty cool, huh?
Here’s some screenshots of it in use:
First, the obligatory desktop shot.

After copying my script to the ‘Startup’ folder and restarting X, a dialog pops up.

In a new version, the network connection setup comes up so that you can actually set up a connection before you try and download a file (whoops).
The file will download and then you are prompted to install the package.

All done, wine is now installed.

Just keeping the user clued in.
And now the desktop with the PortableApps Menu

Ok, and finally, two versions of abiword are running, the PortableApps one on top, and the native one on the bottom.

NB. Take a look at that compatibility page. Abiword doesn’t work that well.
Finally, here’s a new version of the script that I wrote:
#!/bin/bash # Author: Aronzak # Download and install wine if [ -f /mnt/home/PortableApps/PortableAppsMenu/PortableAppsMenu.exe ]; then if [ -f /usr/bin/wine ]; then Xdialog --title "Run PortableApps" --yesno "Wine is installed. \nWould you like to run PortableApps?" 0 0 [ ! $? -eq 0 ] && exit 0 wine /mnt/home/PortableApps/PortableAppsMenu/PortableAppsMenu.exe else Xdialog --title "Run PortableApps" --yesno "You have PortableApps installed on your usb stick.\n Congratulations. Would you like to download and\n install wine so that you can run PortableApps in Puppy?\n (Download is around 8MB)" 0 0 [ ! $? -eq 0 ] && exit 0 Xdialog --title "Run PortableApps" --no-cancel --msgbox "Please use the networking wizard to set up a network connection." 0 0 connectwizard Xdialog --title "Run PortableApps" --yesno "Would you like to download wine now? \n (Download is around 8MB)" 0 0 [ ! $? -eq 0 ] && exit 0 echo "wget http://downloads.sourceforge.net/wine/wine-1.1.10-i486-1kjz.tgz?modtime=1228522686&big_mirror=1" > /tmp/runme echo "wait" >> /tmp/runme echo "tgz2pet wine-1.1.10-i486-1kjz.tgz 2> /dev/null" >> /tmp/runme echo "wait" >> /tmp/runme echo "exit" >> /tmp/runme chmod +x /tmp/runme rxvt -bg "orange" -title "Puppy Universal Installer" -geometry 80x10 -e /tmp/runme Xdialog --title "Run PortableApps" --no-cancel --msgbox "Wine downloaded. Will now install." 0 0 pupget /root/wine-1.1.10-i486-1kjz.pet Xdialog --title "Run PortableApps" --no-cancel --msgbox "Wine should now be installed. Will now run PortableApps." 0 0 wine /mnt/home/PortableApps/PortableAppsMenu/PortableAppsMenu.exe fi fi
I’d appreciate feedback to improve the script. Does this work for you?