Это из-за расширения тильды. Оценка разворачивает тильду, которая заменяется полным путем к корневому каталогу. Без него команда передала литеральную тильду и пытается использовать относительный путь (который не существует).
$ echo ~
/home/chris
$ echo "~"
~
$ eval 'echo ~'
/home/chris
Можно ли вместо этого настроить принтер samba на гостевой учетной записи, так что пароль вам не понадобится. Можно ограничить его набором IP-адресов.