Isso é normal. Você se conectou ao seu Pi como usuário pi
, pedindo ssh
(ou PuTTY neste caso) para encaminhar sua conexão X para sua área de trabalho. Isso só permite que o usuário pi
no Pi acesse seu servidor X em sua área de trabalho; Quando você executa wireshark
como root
, como root
no seu Pi não tem acesso ao seu servidor X, você vê a mensagem de erro que você deu.
Eu lhe darei a solução ssh
, mas é a abordagem errada neste caso; Eu também darei a abordagem correta para wireshark
.
Em geral, para executar um programa X como outro usuário diferente do usuário com o qual você se conectou a uma máquina remota, é necessário mesclar as informações da autoridade X. Nesse caso, para permitir que root
se conecte à sua área de trabalho, execute o seguinte no seu Pi:
xauth extract - $DISPLAY | sudo xauth merge -
Isso extrai a autoridade X do seu usuário pi
e a mescla com a autoridade X do usuário root
. Você pode receber um aviso sobre /root/.Xauthority
não existente; isso não importa, xauth
criará o arquivo para você. Agora você deve conseguir executar wireshark
como root
.
Mas executando wireshark
como root
não é recomendado; Falhas de segurança são encontradas regularmente no Wireshark ... /usr/share/doc/wireshark/README.Debian
fornece duas abordagens possíveis. A primeira é executar dumpcap
como root
para capturar todo o tráfego que você está interessado, então execute wireshark
para analisar a saída gerada (e você pode executar dumpcap
no seu Pi, então use o Wireshark no seu computador desktop). A segunda é adicionar o seu usuário pi
ao grupo wireshark
e reconfigurar o Wireshark para permitir que os membros do grupo wireshark
capturem o tráfego; você pode fazer isso executando o seguinte no seu Pi:
adduser pi wireshark
sudo dpkg-reconfigure wireshark-common
e escolha "Sim" na tela de configuração. Em seguida, execute wireshark
as pi
.