一時停止中に起きたときに「nordvpn connect」を実行中にエラーが発生する

一時停止中に起きたときに「nordvpn connect」を実行中にエラーが発生する

UbuntuベースのオペレーティングシステムであるPop!_OSを実行していますが、一時停止の前後にnordvpn disconnect実行したいと思います。nordvpn connect私は次のコードを使用しています。このアーチLinux Wikiそして、システムが起きたときにnordvpn connect/コマンドを実行する方法はありません。nordvpn disconnectファイルを追加し99nordvpn-reload/lib/systemd/system-sleep/実行可能にしましたsudo chmod a+x 99nordvpn-reload。このファイルのコードは次のとおりです。

#!/bin/sh
case $1/$2 in
  pre/*)
    nordvpn disconnect
    ;;
  post/*)
    nordvpn connect
    ;;
esac

スリープモードで目覚めてjournalctl -u systemd-suspend.serviceディスプレイを起動します。

Jun 13 22:08:38 pop-os [4520]: /usr/lib/systemd/system-sleep/99nordvpn-reload failed with exit status 1.

また、ローカルユーザーとしてコマンドを実行してみました。

#!/bin/sh
case $1/$2 in
  pre/*)
    sudo -u $USER nordvpn disconnect
    ;;
  post/*)
    sudo -u $USER nordvpn connect
    ;;
esac

しかし、$USERの出力に置き換えられますecho $USER。ただし、以前と同じエラーメッセージが表示されます。私はこのエラーがnordvpn私がインストールしたローカルまたはパッケージに関連している$USERと仮定して実行コマンドを試しましたsudo -u $USER

に基づいてこのスレッド、次の内容でグローバル実行ファイルを作成してみました/usr/local/bin/nordvpn-reload

#!/bin/bash

nordvpn disconnect;nordvpn connect

内容を/lib/systemd/system-sleep/99nordvpn-reload次のように変更します。

#!/bin/sh
case $1/$2 in
  pre/*)
    exit 0
    ;;
  post/*)
    /usr/local/bin/nordvpn-reload
    ;;
esac

しかし、今回もいつものようなエラーが発生します。どんな提案/提案/追加読書にも感謝します。

答え1

Ubuntu 20.04 LTSで同様のことを試しましたが、次のスクリプトで機能しました/lib/systemd/system-sleep/nordvpn-reload

#!/bin/sh
case $1 in
  pre)
    nordvpn disconnect
    ;;

  post)
    nordvpn connect
    ;;
esac

答え2

pre)私の場合は、次の行を変更する必要がありました。@moritz-shroederからの返信NordVPNが実際にオフになっていることを確認してください。

#!/bin/sh
case $1 in
  pre)
    pkill -9 nordvpn
    ;;

  post)
    nordvpn connect
    ;;
esac

ご覧のとおり、pkillここではsignalを使用しています9。これは、nordpnに実際にプロセスを終了するように指示します。何らかの理由でdisconnect簡単な方法で十分ではありません。

詳細をご覧ください。pkill ここ

関連情報