Como o Ubuntu vem com o Python, você também pode usar um script Python para conseguir isso com um pouco mais de controle sobre o que acontece - veja este stackoverflow questiona por exemplo scripts. Esses exemplos usam apenas a biblioteca padrão.
Script nº 1
import os, sys
import Image
size = 128, 128
for infile in sys.argv[1:]:
outfile = os.path.splitext(infile)[0] + ".thumbnail"
if infile != outfile:
try:
im = Image.open(infile)
im.thumbnail(size, Image.ANTIALIAS)
im.save(outfile, "JPEG")
except IOError:
print "cannot create thumbnail for '%s'" % infile
E outro exemplo em que você só precisa especificar a largura (como a variável de largura):
Script nº 2
from PIL import Image
import sys
filename = sys.argv[1:]
basewidth = 300
img = Image.open(filename)
wpercent = (basewidth/float(img.size[0]))
hsize = int((float(img.size[1])*float(wpercent)))
img = img.resize((basewidth,hsize), Image.ANTIALIAS)
img.save(filename)
Agora, como fazer isso através do terminal ...
sudo nano resizescript.py
Cole um desses blocos de código no editor de texto. Ctrl + x para sair (diga sim para salvar as alterações).
Para usar o script nº 1:
python resizescript.py yourfilenamehere.jpg
Para usar o script nº 2:
python resizescript.py yourfilenamehere.jpg
Você deve estar no mesmo diretório que os arquivos de imagem para esses dois scripts. O primeiro encolhe a imagem para 128x128 pixels. O segundo script faz com que ele tenha 300 pixels de largura e calcula a altura proporcional. Esta é mais uma resposta do Python, mas é feita através do terminal tecnicamente.