Да, iptables может использовать firewall localhost. Если вы играете с этим, это будет отличное место для поиска.
Попробуйте запустить iptables -L -n. Если вы не уверены в том, как читать вывод, опубликуйте его.
Классическая ошибка заключается в том, чтобы установить политику в DENY и не добавлять исключение для localhost.
Вы могли бы запустить программы с полным путем, например /usr/bin/vim. Поскольку большинство программ не сработало для вас, вы могли бы проверить packages.ubuntu.com на свои пути: http://packages.ubuntu.com/trusty/amd64/nano/filelist
В качестве альтернативы вы могли бы загрузились в режим восстановления и открыли оболочку там, я думаю.