お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2020-09-04 08:45:16

fonden3
新しいメンバ
登録日: 2020-09-04

Launcher登録したscript内のipコマンドで、認証ダイアログが出なくなった

初めて投稿します、至らない点ご容赦ください。
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

オフライン

 

Board footer

Powered by FluxBB