Я настраиваю Wireshark для запуска от имени пользователя root, а-ля здесь , то есть:
sudo apt-get install wireshark
sudo dpkg-reconfigure wireshark-common
sudo usermod -a -G wireshark $USER
(restart)
Это все замечательно. Но когда я пытаюсь запустить wireshark как пользователь wireshark, используя:
sudo -s -u $USER wireshark
Я получаю следующую ошибку:
no protocol specified
gtk-warning ** cannot open display
Часть «протокол не указан» кажется довольно простой. И GTK-предупреждение не может открыть дисплей, кажется, относится именно к этой проблеме .
«У вас есть два способа заставить это работать: предоставить его или получить root. Вы (greg) можете предоставить его с помощью« xhost local: root ». Или root может получить его, потому что он может получить доступ к вашим файлам:« export ». ВЛАСТЬ = / дом / Greg / .Xauthority «.
Это не имеет смысла для меня. Какой смысл предоставлять доступ другим пользователям, если они все равно не могут открыть программу? Это разделение сделано по соображениям безопасности, поэтому изменение выше не отменяет предыдущий комментарий
«Это связано с контролем доступа к вашему X-серверу. Вы же не хотите, чтобы кто-то открывал окна на вашем экране, не так ли? Поэтому, если вы запустили X-сервер под своей собственной учетной записью (greg), тогда любой другой пользователь (например, root) ) не имеет к нему доступа. "
TLDR; Это стандартная практика и способ, которым это должно быть сделано, для достижения разделения между учетной записью root и другой учетной записью пользователя? Это похоже на «взлом» для меня.