
Ubuntu日本語フォーラム

ログインしていません。
初めて投稿します、至らない点ご容赦ください。
ubuntu18.04でWiFiのTypeをmanagedからmonitorに変えるスクリプトを作成しました。
ip link set wlan0 down
iw wlan0 set type monitor
ip link set wlan0 up
当初は、認証ダイアログが1度だけ出て、スムーズに使用できていましたが、
現在は下記のエラーになります。(この変化点が分からない状況です。)
script1.desktop[6561]: RTNETLINK answers: Operation not permitted
script1.desktop[6561]: command failed: Operation not permitted (-1)
script1.desktop[6561]: RTNETLINK answers: Operation not permitted
Webの情報を頼りに下記のようにpkexecを使用すると、
pkexec ip link set wlan0 down
pkexec iw wlan0 set type monitor
pkexec ip link set wlan0 up
monitorモードに変更はできましたが、認証ダイアログで3回パスワード要求されるようになり、
使い勝手がよくありません。
最終的にScriptをLauncher登録して、GUIで操作できるようにしたいと思っています。
この手のsudoが必要なコマンドを含むスクリプトでは、どう扱うのが適切でしょうか?
<script1>
#! /bin/bash
monitor() {
nmcli device disconnect wlan0
nmcli device set wlan0 managed no
ip link set wlan0 down
iw wlan0 set type monitor
ip link set wlan0 up
wireshark &
}
export -f monitor
managed() {
ip link set wlan0 down
iw wlan0 set type managed
ip link set wlan0 up
nmcli device set wlan0 managed yes
nmcli device connect wlan0
}
export -f managed
dialog() {
yad --title="Wi-Fi Type Change" \
--button=CAPTURE!wireshark:"bash -c monitor" \
--button=STOP!gtk-media-stop:"bash -c managed" \
# --skip-taskbar --on-top \
# --button=Close!gtk-ok:0
}
dialog
unset monitor managed
exit 0オフライン