нормальное решение для такого ненормального случая, как запуск x-клиента от имени root-а·
если очень тяжёло запускать из истории команду "export …", можете добавить её в ~/.bashrc:
$ echo 'export XAUTHORITY=~/.Xauthority' >> ~/.bashrc
Должно было быть не причём, но такой эффект проявился только после полного перехода на Squeeze через dist-update, до этого работал в смешанной системе.
Разработчики wireshark настоятельно не рекомендуют запускать его от рута. В нём уже много раз обнаруживались серьёзные уязвимости. Выделите одному из пользователей права на запуск wireshark. В большинстве дистрибутивов для этого нужно включить его в группу wireshark и перелогиниться. И лучше, если это будет не тот пользователь, от которого вы выполняете свои повседневные задачи.
Но если вам ОЧЕНЬ хочется выстрелить себе в ногу запустить его от рута, то читайте далее. Для доступа к иксам необходим генерируемый при их запуске ключ, который они автоматически кладут в файл ~/.Xauthority того пользователя, под которым запускаются. Когда вы запускаете приложение, оно проверяет наличие переменной XAUTHORITY, и если она есть, то читает ключ из файла, на который она указывает, иначе - из файла в домашнем каталоге пользоваетеля, от которого запущена. То есть, в вашем случае, рута. А его там нет. При использовании gdm (и, возможно, kdm - не помню) такой проблемы нет, т.к. он помещает ключ в совершенно другой файл, и устанавливает переменную XAUTHORITY. Другой вариант решения проблемы - установить эту переменную где-нибудь в xinitrc. Третий вариант (возможно, до обновления у вас имел место именно он) - настроить sudo так, чтобы она не меняла переменную HOME, и графические программы, запускаемые через неё, работали с каталогом вашего основного пользователя.
Да я знаю, что прошло много времени, но вот только дошли руки решить этот вопрос.
Оригинал http://wiki.wireshark.org/CaptureSetup/CapturePrivileges
У себя в Debian делал так:
- dpkg-reconfigure wireshark-common и разрешаем запуск пользователем
- добавляем необходимых пользователей в группу wireshark
- перелогинится