Está utilizando un punto y coma como separador de ruta de clases; esto no funcionará en Linux. Intente reemplazar ";" con ":" en classpath y debería funcionar.
Editar: explicación de lo que está sucediendo aquí. En Linux, ";" es separador de comandos. Tu línea de
java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar;/home/JohnF QueryDB
se expande realmente en 2 ejecutados uno por uno:
java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar
/home/JohnF QueryDB
El primero no hace nada y sale con éxito. El segundo intenta invocar /home/JohnF
como ejecutable, y esto realmente no es un ejecutable, ¡sino un directorio!