2018/06/30
Visual Studio Code では GDB をバックエンドにして C++ プロジェクトのデバッグができる。 しかし、本当に arch linux と gdb と visual studio code をいれただけでは attach ができなかったりする。
polkit
と polkit-gnome
をいれる。.xinitrc
に exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
を追記する適当な C++ プロジェクトを作って GDB で attach しようとすると、以下のような画面が出る。
journalctl -xe
を見ると、以下のように pkexec のエラーが発生していることがわかる。
Jun 30 16:22:39 yukiko polkitd[1008]: Registered Authentication Agent for unix-process:20099:24228843 (system bus name :1.81616 [pkexec --user root ls], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Jun 30 16:22:41 yukiko polkitd[1008]: Operator of unix-process:20099:24228843 FAILED to authenticate to gain authorization for action org.freedesktop.policykit.exec for unix-process:20099:24228843 [-zsh] (owned by unix-user:tomoki)
Jun 30 16:22:41 yukiko pkexec[20114]: tomoki: Error executing command as another user: Not authorized [USER=root] [TTY=/dev/pts/5] [CWD=/home/tomoki] [COMMAND=/usr/bin/ls]
Jun 30 16:22:41 yukiko polkitd[1008]: Unregistered Authentication Agent for unix-process:20099:24228843 (system bus name :1.81616, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
pkexec --user root ls
とか実行してみると以下のようなエラーが出る
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ====
Authentication is needed to run `/usr/bin/ls' as the super user
Authenticating as: tomoki
Password:
polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ====
Error executing command as another user: Not authorized
This incident has been reported.