Du använder semikolon som klasssökvägsseparator - detta fungerar inte på Linux. Försök att ersätta ";" med ":" i classpath och det borde fungera.
Redigera: förklaring av vad som händer här. I Linux, ";" är kommandoavgränsare. Din rad av
java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar;/home/JohnF QueryDB
är verkligen utökat till 2 exekverade en efter en:
java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar
/home/JohnF QueryDB
Den första gör ingenting och avslutar framgångsrikt. Den andra försöker anropa /home/JohnF
som körbar, och det här är verkligen inte en körbar, utan en katalog!