Disclamer: я понятия не имею, что такое virt-manager,
имею только некоторое понятие про ssh.
Запускаемая программа не может подсоединиться к X серверу. ОБычно это
бывает по одной из двух причин:
* Программе не передаётся имя дисплея в переменной $DISPLAY;
* Программа не может авторизоваться на X сервере.
К сожалению, различить по диагностике, какой именно из случаев имеет
место, у меня не получилось: разные подопытные GTK-программы выдают у
меня разные сообщения, и они все отличаются от приведённого вами.
Но обычно при наличии $DISPLAY у меня всё же печатается имя этого
дисплея, который программа "can't open"; поэтому я склоняюсь к мнению,
что при запуске virt-manager $DISPLAY у вас отсутствует. Проверить это
легко: echo $DISPLAY либо выдаст его имя (что-то вроде localhost:11.0
в случае проброса через ssh), либо не выдаст.
Если $DISPLAY отсутствует перед запуском virt-manager, то есть внутри
сеанса ssh, это может означать проблемы с пробросом X-протокола (он
может быть просто-напросто отключён на сервере: см. grep X11
/etc/ssh/sshd_config, при этом -X на клиенте не поможет). Также это
может означать, что $DISPLAY потерялся ещё до запуска ssh (проверить
через echo, но ещё на клиенте).
Если дело всё-таки в авторизации, а не в отсутствующем $DISPLAY,
имеет смысл сразу проверять это на клиенте: тем более, что вы, вероятно,
становились рутом через su или sudo, а не работаете как рут всё время.
Что будет, если вместо запуска ssh выполнить xterm? Если получаете
сообщение со словами "No protocol specified" внутри - проблема именно в
авторизации. Простой способ позволить root'у авторизоваться на вашем
_пользовательском_ X-сервере - export XAUTHORITY=/ваш/HOME/.Xauthority
Нужно этот export выполнить _до запуска ssh_ (если не авторизован
пользователь, запускающий ssh, то и перенос авторизации, который
выполняется ssh, положения не улучшит).