分页: 1 / 1
为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-19 20:03
由 ouxijv
事情是这样的。每次自己点vpn连接很费事,就写了一个脚本放在/etc/network/if-up.d/里面,但是问题时这样会出现什么连接vpn失败,没有正确的secret。但是手动运行的话,就又正确了,成功的连上vpn,很不解啊。
#! /bin/bash
sleep 5
REQUIRED_CONNECTION_NAME="School" # change School to your network connection name
VPN_CONNECTION_NAME="Netvpn" # change Netvpn to your VPN connection name
activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
nmcli con up id "${VPN_CONNECTION_NAME}"
fi
2楼 我错了。。。。
Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-19 20:07
由 枫叶饭团
脚本也不贴出来,你当我们们是神啊
Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-19 20:19
由 ouxijv
我错了 已更新。
枫叶饭团 写了:脚本也不贴出来,你当我们们是神啊
Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-19 20:29
由 枫叶饭团
#! /bin/bash
中间的那个空格不知道有没有影响呃。。。
完全看不懂的说
Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-19 20:37
由 ouxijv
脚本应该是对的。手动运行就能成功。 放到那个文件夹下自动运行就会出错 我也很纳闷啊。
Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-19 22:35
由 lilydjwg
请贴完整的错误信息。
Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-19 23:04
由 ouxijv
lilydjwg 写了:请贴完整的错误信息。
http://thesingularity.pl/blog/2011/solv ... ntu-11-10/
我就是按着这个文章弄的 但出现和底下回复那个人同样的问题
If I run the script manually it works. However, when it executes automatically, I get an error that the password was not found.
Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-19 23:09
由 ouxijv

这是截图
Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-20 10:44
由 lilydjwg
ouxijv 写了:
这是截图
网络太卡看不到

Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-20 11:14
由 ouxijv
Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-20 18:33
由 lilydjwg
Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-20 18:41
由 tooktang
不放在 /etc/network/if-up.d/ 里面呢?开机自动运行有许多地方可以做到,优先级各个不同,或许,或许在这个脚本运行时,nmcli 或者其他什么东西还没有准备好?
如果是我,我会把脚本放在自己的 /home 里面,然后做一个启动器指向这个脚本,用自带的启动管理添加那个启动器。
Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-20 21:24
由 ouxijv
tooktang 写了:不放在 /etc/network/if-up.d/ 里面呢?开机自动运行有许多地方可以做到,优先级各个不同,或许,或许在这个脚本运行时,nmcli 或者其他什么东西还没有准备好?
如果是我,我会把脚本放在自己的 /home 里面,然后做一个启动器指向这个脚本,用自带的启动管理添加那个启动器。
我现在就是按你说的这么弄的。
放到那个文件夹有一个好处,就是每次连接网络的时候都会调用那个脚本。只是现在特别想知道这个是怎么回事。
Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2012-10-21 11:20
由 tooktang
ouxijv 写了:tooktang 写了:不放在 /etc/network/if-up.d/ 里面呢?开机自动运行有许多地方可以做到,优先级各个不同,或许,或许在这个脚本运行时,nmcli 或者其他什么东西还没有准备好?
如果是我,我会把脚本放在自己的 /home 里面,然后做一个启动器指向这个脚本,用自带的启动管理添加那个启动器。
我现在就是按你说的这么弄的。
放到那个文件夹有一个好处,就是每次连接网络的时候都会调用那个脚本。只是现在特别想知道这个是怎么回事。
这个就不太清楚了,只好等大神了~0.0
Re: 为什么一个自动连接vpn的脚本,手动运行正确自动运行就错误?
发表于 : 2013-03-05 10:39
由 ouxijv
最近才发现这个问题的真正原因是,系统在网络连接启动时是以root权限去运行/etc/network/if-up.d/下的所有脚本,而此时root用户中并没有airvpn的相关密码。
所以只要将nmcli con up id “${VPN_CONNECTION_NAME}”改为
su {你的用户名} -c “nmcli con up id “${VPN_CONNECTION_NAME}””
目前为止运行良好。
具体可以查看
http://ouxijv.us/blog/?p=179
感谢楼上各位~~~~~