问题:
我需要自动启动一个需要 sudo 的 GUI 应用程序。
我知道我需要使用以下命令编辑 sudoers 文件:
sudo visudo
但是,我不知道该在文件中写什么。
我已经尝试过的:
sudo visudo
然后添加以下内容:
nanostuff ALL = NOPASSWD: /usr/lib/AirVPN/AirVPN.exe
我也尝试过:
nanostuff ALL = NOPASSWD /usr/bin/X11/airvpn
和
nanostuff ALL = NOPASSWD /usr/bin/airvpn
这些都不起作用。
通过做:
ps aux | grep airvpn
我得到以下输出:
nanostuff 6805 0.2 0.4 483520 17384 ? Sl 17:13 0:01 /usr/bin/gksu -u root -m AirVPN Client needs administrative privileges. Please enter your password. mono /usr/lib/AirVPN/AirVPN.exe path=/home/nanostuff/.airvpn
root 6806 0.0 0.0 78604 2392 ? Ss 17:13 0:00 /usr/bin/sudo -H -S -p GNOME_SUDO_PASS -u root -- mono /usr/lib/AirVPN/AirVPN.exe path=/home/nanostuff/.airvpn
root 6808 3.2 2.0 1257532 83032 ? Sl 17:13 0:12 mono /usr/lib/AirVPN/AirVPN.exe path=/home/nanostuff/.airvpn
root 6832 0.0 0.0 22652 3336 ? S 17:14 0:00 /usr/sbin/openvpn --config /home/nanostuff/.airvpn/384ef91f85df5ea2abc88c7416b95bbdf2bc4299edd2850614d4e343ba721ae3.tmp.ovpn
nanostuff 6951 0.0 0.0 18932 932 pts/2 S+ 17:20 0:00 grep --color=auto airvpn
我已经将其添加到自动启动中,但没有任何效果sudo usr/bin/airvpn
...gksu usr/bin/airvpn
附加信息:
- 操作系统:Ubuntu 14.04 64位
- 应用程序:这是一个 VPN 客户端
答案1
这实际上不是我的答案。这个答案是由用户 (@steeldriver) 在这个帖子。
我在启动应用程序中添加了以下内容:
sudo -H -u root -- /usr/bin/mono /usr/lib/AirVPN/AirVPN.exe path=/home/nanostuff/.airvpn
和:
nanostuff ALL=(ALL) NOPASSWD: /usr/bin/mono /usr/lib/AirVPN/AirVPN.exe path=/home/nanostuff/.airvpn
到 sudoers 文件,使用sudo visudo
。
完成所有这些后,它就成功了!感谢steeldriver 和 ubuntuforums!
答案2
我本来想将其作为评论发布,但由于我的声誉不足以发表评论,因此我将将其作为答案发布。
您使用他们的 VPN 客户端而不是 Ubuntu 内置的网络管理器有什么特殊原因吗?
快速浏览 AirVPN 论坛后发现了本指南,它将向您展示如何使用 Ubuntu 网络管理器在 Ubuntu 上配置 AirVPN 服务。
https://airvpn.org/topic/11432-using-airvpn-with-ubuntu-network-manager/
为了防止链接腐烂,以下是帖子(减去屏幕截图):
转到配置生成器页面,选择 Linux 并选择您喜欢的选项。选择高级模式勾选从 .ovpn 文件中分离证书/密钥
单击任何存档格式。将下载的存档文件保存在某个位置,例如 ~/.airvpn。解压它。应该解压五个文件。尽量确保除了您之外没有人可以读取文件 user.key,因为该文件是机密的。安装名为 network-manager-openvpn-gnome 的软件包,它是 NetworkManager 处理 OpenVPN 连接的插件。安装将自动包含所有需要的软件包,如 openvpn 等。
单击右上角的 NetworkManager 图标,然后选择编辑连接...
单击添加,选择导入已保存的 VPN 配置,单击创建...,然后选择从我们的配置生成器生成的文件中提取的 .ovpn 文件。
显示导入的信息。单击保存...并关闭 NetworkManager 连接编辑器。
从现在起,导入的连接将显示在 VPN 连接菜单下。单击它即可连接。