my pg_hba.conf has:

local all trust
host all 127.0.0.1 255.255.255.255 trust
host all 192.168.0.4 255.255.255.0 trust

My guess would be that first line is for unix domain sockets, which are mentioned in your error message. Have you tried specifying the port and host name on the command line of psql to force it to use TCP/IP instead of Unix Domain Sockets?

PS: And yes, I'm being lazy with that last line.

PPS: And I notice you had "local all x.x.x.x x.x.x.x trust" where the docs say:

Each record specifies a connection type, a client IP address range (if relevant for the connection type), a database name or names, and the authentication method to be used for connections matching these parameters. The first record that matches the type, client address, and requested database name of a connection attempt is used to do the authentication step. There is no "fall-through" or "backup": if one record is chosen and the authentication fails, the following records are not considered. If no record matches, the access will be denied.

A record may have one of the three formats

local database authentication-method [ authentication-option ]
host database IP-address IP-mask authentication-method [ authentication-option ]
hostssl database IP-address IP-mask authentication-method [ authentication-option ]

Specifying an IP-address on a "local" line is not valid syntax. That would explain the second error message.