Я налаштовую wireshark для запуску як некористувача, a la тут , тобто:
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 може взяти це, тому що він може отримати доступ до ваших файлів: 'експортувати АВТОРІЯ = / home / greg / .Xauthority '. "
Це не має для мене сенсу. Який сенс було надавати доступ іншому користувачеві, якщо він все одно не може відкрити програму? Це розмежування робиться з міркувань безпеки, тому не робимо, щоб зазначені вище модифікації повернули попередній коментар
"Це пов'язано з контролем доступу до вашого X-сервера. Ви не хочете, щоб хтось відкривав вікна на екрані, чи не так. Якщо ви запустили X-сервер під власним обліковим записом (greg), то будь-який інший користувач (наприклад, root ) не має до нього доступу. "
TLDR; Чи є ця стандартна практика і як це потрібно зробити, щоб досягти розмежування між root та іншим обліковим записом користувача? Мені це здається «хаком».