Squash supported on Xubuntu 10.04?

Asked by brian collins

Hi everyone!
I recently made the upgrade on my Acer Extensa 5635Z from Xubuntu 9.10 to 10.04. But now I see that "Squash" (image resizer) gives me the following page instead of opening normally as it did before:

#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=Application
Name=Squash
Comment=
Categories=Application;
Exec=/usr/bin/squash
Icon=
Terminal=false
StartupNotify=false

Anyone know anything about this? (I use this app often for work, so any solution greatly appreciated!)

Thanks!
brian

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu squash Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:

This question was reopened

Revision history for this message
Eliah Kagan (degeneracypressure) said :
#1

Press Alt+F2 and type

squash

into the text box. Then press enter. If that works, then squash's menu item is all that needs to be modified. If it doesn't, then open a terminal window and try to run the command

squash

and then copy all the text from the terminal and paste it here.

Revision history for this message
brian collins (brian-collins) said :
#2

"Command not found" is all it gives me

Revision history for this message
Eliah Kagan (degeneracypressure) said :
#3

http://packages.ubuntu.com/search?keywords=squash&searchon=names&suite=all&section=all reveals that squash is no longer provided in Ubuntu, as of Ubuntu 10.04 Lucid. Thus, it was probably uninstalled when you upgraded from Karmic. If the shortcut you were using to attempt to run it was not manually created, then perhaps the uninstallation process left some files or other configuration data behind.

However, you should still be able to use the problem. There are three ways to go about this:

(1) Install an unofficial package created for your version of Ubuntu, either manually (by downloading a .deb file) or automatically (by enabling a software source, such as a PPA, that provides it). I briefly searched for something like this, and did not find it.

(2) Manually download and install the package that was created for Ubuntu 9.10 Karmic (i.e. the same package you were using before, which was removed automatically when you upgraded). This is pretty fast and easy, and often works.

(3) Manually download the source code, configure it, build it, and install it. This takes longer and is sometimes harder, but usually works. squash is a tiny program, so this would probably be pretty fast (though it is more technical than the other options).

I'd suggest trying Way 2. I don't have an [X]Ubuntu 10.04 Lucid system, but I have tested that package on a [L]Ubuntu 10.10 system and it seems to install and run without problems..

First, though, open a Terminal window (Applications > Accessories > Terminal) and run this command (by pasting it in, or typing it exactly, and then pressing enter):

apt-cache policy squash

If it says "N: Unable to locate package squash" or otherwise indicates that this package is not installed, then things are as they should be. On the other hand, if it indicates that some version of squash is currently installed, then we'll have to investigate your situation more before proceeding (so please post again if that is the case).

You can download old squash packages at https://launchpad.net/ubuntu/+source/squash. The one you'll want to use is version 0.3-0ubuntu2 under "The Karmic Koala (supported)". You'll have to select your architecture. Or, to save you time: For i386 (32-bit Intel or AMD processor), get https://launchpad.net/ubuntu/+archive/primary/+files/squash_0.3-0ubuntu2_i386.deb. For amd64 (64-bit Intel or AMD processor), get https://launchpad.net/ubuntu/+archive/primary/+files/squash_0.3-0ubuntu2_amd64.deb.

(If you don't know what architecture you have, run the command "uname -m" without the quotes in the Terminal. If the output is i386, i586, or i686, then your architecture is i386. If the output is "x86_64" then your architecture is amd64.)

Once you've fully downloaded this .deb file, double-click on it to install it. It's possible that installing it will pull in other packages as well, which it depends on. For example, you might have to install packages for qt4 (which it uses to display its interface). It's OK to allow other packages to be installed. However, if the package manager insists that packages have to be *removed* in order to install it, then you should not proceed with that unless you know that you don't need the packages that will be removed. If you are unsure, please post here with details.

Once it's installed, try running it from your menu. If that works, great. If that doesn't work, then you should post here, so we can fix that problem. However, before you do, try running it by pressing Alt+F2, typing "squash" without the quotes, and pressing enter. If that doesn't work either (but gives an error *other* than "Command not found", or gives no error message at all), then try running that command in the Terminal, and include all the text from the Terminal. (If, on the other hand, you *are* able to run it from the Alt+F2 dialog box but not from your menus, please still feel free to post again so that we can fix the menu item.)

Since you have manually installed this package and it is not provided by any of the software sources you have enabled, you'll have to maintain it yourself. That means that when an update is released, you will not be automatically informed, and that when you update your system with the Update Manager (or with some other automated technique, like using the Synaptic Package Manager, apt-get, or aptitude), squash will not be updated. Furthermore, while we don't tend to think of image editing applications as being subject to security vulnerabilities, in fact sometimes they are--for example, some vulnerabilities have been discovered in some programs where a specially, maliciously crafted image file can cause the application to execute arbitrary code (which someone could use to take control of your computer without you being aware of it). Therefore, it would be a good idea for you to check back at https://launchpad.net/ubuntu/+source/squash from time to time to see if a new package has been released.

Furthermore, since Ubuntu 9.10 Karmic Koala is only supported through April of this year, updates for Karmic packages (including this squash package) will not be provided after that time. You might only have immediate need for this software. Or you might decide that the potential security risk of using unsupported software is negligible in this case. (That would be especially reasonable if you never use squash to resize images from untrusted sources, but only, for example, your own images from your own camera.) But the fast-approaching expiration of support for this squash package suggests that perhaps this way of installing squash might not be the best.

Therefore, you may want to consider the third way--to build and install from source code instead. If you decide you want to do this, and you want help, please post again, and I'll help you with it. If you do this, then you'll still have to maintain your system's squash installation manually, but as long as squash continues to be developed, you can continue downloading newer versions of the source code, building them, and installing them (after uninstalling the previous installed version). Please note that I have not done any research into the current development status of squash--I don't know whether or not it is even still being actively developed. (If it is not, then you're unlikely to be any better off building from source, than by using the Karmic package.) However, the development site, from which the source code can be obtained, appears to be http://code.google.com/p/squash/.

Revision history for this message
brian collins (brian-collins) said :
#4

Hi Eliah,
Thank you so very much for your assistance! You gave me a lot of wonderful information, that I'll need to make note of elsewhere for the future as well!

At any rate, I found out that I have a i386 machine, and so I downloaded the .deb file as you recommended. I installed it without problems, and it runs when I press alt + f2. Great! (I can't find it in the menu; is there a way to bring it into the menu?)

I'll keep abreast of changes in Squash in the future. I use it to resize photos from my camera (or trusted other sources), and it is the only app that I can find that keeps the quality and size while reducing size to below 200kb. Nautilus is able to resize, but it often isn't sufficient.

Thank you very much for helping me... little by little I'm learning how to do things just like you "big guys!" I hope to be able to help others here someday, too!

Sincerely,
Brian

Revision history for this message
brian collins (brian-collins) said :
#5

Thanks Eliah Kagan, that solved my question.

Revision history for this message
Eliah Kagan (degeneracypressure) said :
#6

It's been a long time since I've used Xfce as my primary desktop environment, and I don't have any systems with Xfce installed, but not other desktop environments. Therefore, this suggestion might rely on components that aren't present by default in an unmodified Xubuntu installation. But on my systems, I can add items to the Xfce menu with Applications > Settings > Menu Editor. First, if you have a pre-existing non-working menu item, you can remove it. Then, under "Menus:", select the category where you want to put Squash (I'm guessing you want it in Graphics). Then click New Item (near the upper-right corner of the window). For "Name", put in Squash (or whatever you want the menu item for Squash to be called), for command put /usr/bin/squash, and then click OK.

I don't know how often you use Squash, but if it's very frequently, perhaps you'd (also) like to add it to your panel. To do this, you can right-click on the panel, click Add New Items..., select "Launcher" ("Program launcher with optional menu"), and click Add. A window will come up, where you specify what the Launcher you've created should look like (i.e. you can select an icon) and what command it runs; have it run the same command as above.

If these instructions don't work right or you otherwise need more help on this topic, please feel free to post again.

Revision history for this message
brian collins (info-ahigherway) said :
#7

Hi Eliah,
Just to let you know, the desktop icon which was remaining and inoperative after the Xubuntu upgrade now works again after the new installation! It did the trick!

Thanks again!

Sincerely,
Brian

Revision history for this message
Eliah Kagan (degeneracypressure) said :
#8

I'm glad everything (Squash-related) is working as well as it did before the upgrade.

By the way, if you do need an alternative to Squash for resizing images while maintaining maximum quality and providing you with excellent customizability, I recommend using the GIMP (http://www.gimp.org/). As a fully-functional raster graphics editor, it does a whole lot more than that, but among the things it does well are resizing and converting images. In Ubuntu, the GIMP is provided by the package "gimp".

Revision history for this message
brian collins (info-ahigherway) said :
#9

Funny, I do indeed have gimp on my pc, but I couldn't find a good way to reduce size (must be from several mb to below 200kb) while keeping the same quality and also size (1280 by 760).

I probably will have to look over the various functions again, perhaps I was missing something..
Can you confirm that it can do this? (oh, and in "batch" amounts, not just 1-by-1, since I have to resize 10-12 photos at a time.)

Thanks again for the "extra" help! :)

Sincerely,
Brian

Revision history for this message
Eliah Kagan (degeneracypressure) said :
#10

Unless you were to write a plugin or script, I do not believe that GIMP will perform batch compression of images.

Revision history for this message
brian collins (brian-collins) said :
#11

Thank you Eliah for responding. That was my impression, too! I've looked over various tools etc, but I can't see anything "batch related."

BTW, you wouldn't be able to resolve the problem I'm having with my USB Internet device, would you?
You can read it here: https://answers.launchpad.net/ubuntu/+source/gnome-nettool/+question/146954

I suppose it just takes a command somewhere to resolve it.. but where??

Brian

Revision history for this message
brian collins (brian-collins) said :
#12

Just a "side question:" when I use Squash, and finish a batch resizing, and close the app, it makes a squash.ini file on my desktop!
What is it?
Can I delete it?

Thanks in advance for any advice!

Sincerely,
Brian

Revision history for this message
Eliah Kagan (degeneracypressure) said :
#13

A squash.ini file stores settings for Squash. There shouldn't be any problem with deleting it, though any changes to Squash's settings you made since the time you ran Squash when it created the file may be reversed. You can see what settings are stored in that file by opening it with a text editor, but I don't know if it contains only settings that have been changed, or all settings.

This is somewhat strange behavior, for two reasons. The first reason is that configuration files shouldn't generally go inside whatever directory happens to be the current one when the program runs -- they typically go in the same place every time (and not on the Desktop!). That is, presumably, if you ran Squash with some folder besides your Desktop as the current working directory (or maybe it would be necessary to run it *on* files located elsewhere, depending on how it gets launched and how it behaves), then it would put squash.ini in that other directory, which would be undesirable because the different squash.ini files would proliferate all over the place and settings saved in one squash.ini wouldn't be accessed and used when it's working from another squash.ini later. Perhaps this file contains information about the batch operations performed, so as to allow you to conveniently perform them again--that is, perhaps it's a configuration file for just the current session. I don't think so, though, as inspection of the source code (see below) suggests that it uses squash.ini in the current working directory for all settings, all the time (even though what directory is the current working directory can change from one run of the program to the next).

The other reason this is strange, though, is that .ini files are very rarely used on Unix-like systems, but typically only on Windows systems. Inspecting various versions of the source code reveals that, for non-Windows systems, in the upstream[1] development version of Squash, the squash configuration is stored in the file squashrc inside the folder .qt inside the user's home folder.[2]

If you wanted, you could get rid of this squash.ini-producing behavior by replacing your version of squash with the upstream development version. If you do that, however, then you may experience instability or other problems, since the upstream development version has not yet undergone the testing expected of a stable release (which distinguishes it from the upstream stable version, and from the downstream Ubuntu versions which are based on the upstream stable version). If you want to try doing this, I'd be pleased to assist as necessary.

I'm curious...did you see this squash.ini-producing behavior when you ran Squash in your Ubuntu 9.10 system (from which you recently upgraded to Ubuntu 10.04)? Or is it new to your present situation? And does it only occur when you're performing batch operations, and not when running Squash and performing operations on an individual image? How about when you run Squash but don't do anything with it?

Since you upgraded from Karmic to Lucid, perhaps Squash was creating squash.ini files before but you didn't see them because (for some reason) the current working directory when you ran Squash was somewhere else. You can produce a list of all the squash.ini files anywhere in your home directory by running this command in the Terminal:

find ~ -name squash.ini

[1] Squash is developed at http://code.google.com/p/squash/. This is the *upstream* version. Then Ubuntu developers create a slight derivative of this, the *downstream* version for Ubuntu, which modifies it in whatever ways are necessary to make it work optimally with Ubuntu. (Sometimes the changes are negligible, or even effectively nonexistent except from a development perspective.) This is the standard pattern for producing (downstream) Ubuntu packages for existing (upstream) software.

[2] Ubuntu's downstream version of Squash (which we might also call "Squash in Ubuntu" or "Ubuntu squash") is based on (upstream) Squash version 0.3. Squash's behavior regarding squash.ini can be seen by searching for the text "squash.ini" in the file "SquashWindow.cpp". In the source code for Squash 0.3 (http://squash.googlecode.com/files/squash-0.3.tar.bz2), squash-0.3/src/SquashWindow.cpp reveals that squash.ini is used on both Windows and Unix-like platforms; this is also the case in the Ubuntu Karmic downstream version (http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/karmic/squash/karmic/view/head:/src/SquashWindow.cpp -- this is what you're running on your Ubuntu Lucid system), as well as in the downstream Natty sources (http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/natty/squash/natty/view/head:/src/SquashWindow.cpp)[3]. However, the experimental upstream version (containing changes made since upstream version 0.3 was released) changes this behavior, so that ~/.qt/squashrc is used on Unix-like systems and squash.ini is only used on Windows (http://code.google.com/p/squash/source/browse/trunk/src/SquashWindow.cpp).

[3] It's interesting that source code exists for squash in Lucid, squash in Maverick, and squash in Natty, even though packages are not available for those versions. Perhaps there is still some limited degree of development going on for squash in Ubuntu.

Revision history for this message
brian collins (info-ahigherway) said :
#14

Hi Eliah,
sorry for the delay..!

Well, I have 2 computers: a laptop and a desktop. Both have squash installed. (I had to follow your instructions for both computers. :) )
So both are working fine, but only the laptop left a squash.ini file on the desktop.

After other tests, I'll see if I can add other info..

Thanks!
Brian

Revision history for this message
Eliah Kagan (degeneracypressure) said :
#15

If you're going to perform additional tests to try to determine the difference between the two, then I'll go ahead and wait for that information before trying to figure out what the difference might be. The only thing I'll ask now is: If you delete the squash.ini file, does it come back?

Rather than deleting it, you may want to move it somewhere else (perhaps to a dedicated folder, so you know what's what). Its contents might reveal information about why it was created there.

I don't know what it contains, so perhaps it contains something confidential (names of pictures which, if posted here, would reveal clients' personal information, for example). But if its contents are not sensitive, please feel free to post the contents here, or, if the file is long (more than a few hundred lines), at http://pastebin.ubuntu.com (and then post the pastebin link here).

By the way, I see you're using two different Launchpad accounts. That is bound to get extremely confusing *very* quickly! Using the info-ahigherway account (which appears here as "brian collins") you have just **requested information** from yourself, i.e. from the "brian collins" account which started this question (which also appears here as "brian collins").

If you've lost your password, you should be able to recover it. If you've lost control of the email account associated with your Launchpad account (but not lost your password), you can change that email address in your Launchpad account settings. You don't need separate accounts to sign on at two places at once--you can sign on with the same account in multiple locations. Finally, provided that you have control of both Launchpad accounts, you can merge them into a single account...and there is even a procedure for merging a newer account with an older account that you no longer have control of, provided that you can provide *any* information to credibly show that the older account actually belongs to you. See https://help.launchpad.net/YourAccount/Merging. (See also https://answers.launchpad.net/launchpad/+faq/193.)

Finally, if the new account you've posted from is not actually you, but is instead someone impersonating you, then obviously you should speak up about that! (If someone is impersonating you, then not only should you call them out on it right here, so as to mitigate the immediate problem, but it would also be a good idea to post a question in Launchpad itself to notify the Launchpad administrators of the situation.)

Revision history for this message
brian collins (info-ahigherway) said :
#16

Thanks Eliah,
I did open the file the other day.. didn't see anything strange, but I'll post it in a few hours when I get home (the laptop is at home these days!)

I'll keep you posted.

Brian

Revision history for this message
brian collins (brian-collins) said :
#17

Hi Eliah,
well, I must say.. this is getting to be a very interesting little "study" for me! :)

(BTW, sorry about the two accounts.. They're both mine, and I must have registered from another computer in the office, forgetting that I already had an account! Aagh!)

Anyway, the squash.ini file was moved off the desktop to the "brian" folder. (I don't remember if I did that, or if it moved by itself.. but it's now in the "brian" folder.
Today I made a new folder in the "brian" folder, and called it "dump."
I batch resized some pics that I saved in a folder on my desktop, and when squash resizes, it wants to know where to put them. (I can't make squash overwrite the pics in the same folder for some reason, so I have to make a different folder to dump them into. Hence, a new folder in "brian" called "dump."

So now, the squash.ini file is in "brian," and it was apparently updated this very instant, because it indicates the new folder destination I just made, "dump."
Here is what the squash.ini file says:

[resize]
x-percent=100
y-percent=100
aspect-lock=true

[save]
directory=/home/brian/dump
suffix=
overwrite=false

[%General]
size=@Size(750 500)

Nothing more, nothing less.

As a footnote: on Windows, I could batch resize with an add-on called a "power toy" photo resizer. It appeared in the right click dialogue, and created new files in the same folder automatically. It is also able to resize to under 200kb, which is very important to me, since I need to be able to upload the files to a website which requires a 200kb limit for each photo.
With xubuntu, I need to first resize the pics using nautilus (it has an add-on to batch resize which works similarly to the one on Windows, but doesn't reduce to under 200kb). Then, I have to resize them again with squash in order to get below 200kb. (Using squash alone doesn't do it, either. I have to run both processes. :( )

Just a bit of info; hope it explains things better!

Thanks Eliah!
Brian

Revision history for this message
Eliah Kagan (degeneracypressure) said :
#18

Did you *used* to be able to reduce an image file's size with Squash alone (back when you where running Ubuntu 9.10 Karmic)?

It seems that you have to issues with Squash...you might want to try installing the latest upstream development version of Squash. If you want to do that, you can get it by following the instructions here http://code.google.com/p/squash/source/checkout. There are are couple of guides in Ubuntu's community documentation about building software from source: https://help.ubuntu.com/community/CompilingEasyHowTo and https://help.ubuntu.com/community/CompilingSoftware

Or I can walk you through it (but only if you actually want to do it).

If you build and install the upstream development version of Squash, you don't have to remove the stable version--by default, the upstream development version (and, generally speaking, upstream source) which you download and build and install will put its files in different places from the files installed from Ubuntu packages. (Specifically, by default they will typically put files in folders inside /usr/local, such as /usr/local/bin and /usr/local/lib, whereas Ubuntu packages put their files in folders inside /usr, such as /usr/bin and /usr/lib.) But I nonetheless recommend uninstalling the Ubuntu version, to reduce the likelihood of incompatibilities (e.g. one version's executables trying to use the other version's libraries).

If you uninstall Squash I recommend you save the .deb file. It's still available on Launchpad, but it will probably be pulled once support for Ubuntu 9.10 Karmic Koala lapses.

Revision history for this message
brian collins (brian-collins) said :
#19

HI Eliah,
wow. I think that will get me in over my head! I imagine that using the upstream version I'll be getting into a whole new adventure... and needing a lot of coaching too!

To answer your question though,
no, I always have to use (first) Nautilus to reduce size from 2+ MB down to 200-400 kb, and then (second) Squash to bring them down below 200 kb.

By now I'm used to it, it's not a big hassle. I guess it's maybe not as powerful as the Windows power toy that did it all in one pass.

(Incidentially, it's the same story with batch renaming! With Windows, just select all the files, then right click and select rename, and boom! All done! With xubuntu, I installed the KRename app from the repository, and although it gives me many renaming options, it's not as fast as select-all-and-right-click. Windows is faster in this sense, too.)

Oh well! I still prefer Xubuntu over Windows any day, because of all the "tailoring" that I can do. It's just fun! (And it does everything I need for work, too!)

Thank you for all your help with this issue. I know it isn't the most "crucial" issue. (for example, now my flash files don't seem to work well with Mozilla; maybe something changed after the upgrade, but it crashes often now, and I'm waiting for a response from Adobe.. I have a hunch that many people are having the same problem..!

Blessings,
brian

Revision history for this message
Eliah Kagan (degeneracypressure) said :
#20

Please let me know if you want further help with anything relating to Squash. If not, you can go ahead and re-mark this question as Solved.

Your Flash problem might be something you can solve yourself (with help from the community). If it's just increased crashing, I'm not sure there's anything that anybody can do about that in the short term; later versions of Adobe Flash seem to be getting more and more unstable and prone to crashing (while simultaneously being important to upgrade to, primarily because they provide important security fixes, but also because they are sometimes necessary to use new Flash content). I recommend you start a new Launchpad question about your Flash problem, as it's certainly not the same topic as this question; if you do this, then please make sure to specify the nature of that problem in detail. If you want, you can post a comment in this question containing a link to the Flash question, so that I'll look at it if nobody else gets around to helping you with it first.

Can you help with this problem?

Provide an answer of your own, or ask brian collins for more information if necessary.

To post a message you must log in.