首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在挂起的唤醒上运行"nordvpn连接“错误

在挂起的唤醒上运行"nordvpn连接“错误
EN

Unix & Linux用户
提问于 2020-06-14 02:29:43
回答 2查看 264关注 0票数 1

我正在运行基于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一起执行。该文件中的代码是:

代码语言:javascript
复制
#!/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.

我还尝试以本地用户的身份运行该命令:

代码语言:javascript
复制
#!/bin/sh
case $1/$2 in
  pre/*)
    sudo -u $USER nordvpn disconnect
    ;;
  post/*)
    sudo -u $USER nordvpn connect
    ;;
esac

但是$USERecho $USER的输出所取代。但是,我得到的错误消息与以前相同。我假设此错误与正在本地安装的nordvpn包或我的$USER有关,因此试图使用sudo -u $USER执行命令。

基于这条线,我还尝试创建具有以下内容的全局可执行文件/usr/local/bin/nordvpn-reload

代码语言:javascript
复制
#!/bin/bash

nordvpn disconnect;nordvpn connect

并将/lib/systemd/system-sleep/99nordvpn-reload的内容更改为:

代码语言:javascript
复制
#!/bin/sh
case $1/$2 in
  pre/*)
    exit 0
    ;;
  post/*)
    /usr/local/bin/nordvpn-reload
    ;;
esac

但是再一次,我得到了和往常一样的错误。如有任何建议/建议/进一步阅读,将不胜感激。

EN

回答 2

Unix & Linux用户

发布于 2020-11-11 13:10:30

我在Ubuntu20.04LTS上尝试了类似的东西,对我来说,它适用于/lib/systemd/system-sleep/nordvpn-reload上的脚本:

代码语言:javascript
复制
#!/bin/sh
case $1 in
  pre)
    nordvpn disconnect
    ;;

  post)
    nordvpn connect
    ;;
esac
票数 0
EN

Unix & Linux用户

发布于 2022-12-09 15:21:01

在我的例子中,我必须将pre)行从@moritz-shroeder的答复中更改,以确保nordvpn实际上是关闭的:

代码语言:javascript
复制
#!/bin/sh
case $1 in
  pre)
    pkill -9 nordvpn
    ;;

  post)
    nordvpn connect
    ;;
esac

正如您所看到的,我在这里使用pkill和信号9。这告诉nordvpn实际上要杀死它的进程。出于某种原因,在我的例子中,一个简单的disconnect是不够的。

您可以在pkill 这里上了解更多信息。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/592773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档