我在三星 ARM Chromebook 上通过 crouton 在 chroot 中运行 Ubuntu。我尝试在 Ubuntu 中运行 Cisco AnyConnect VPN,但遇到了一个问题。它安装成功,但守护进程无法启动。我在这里找到了该问题的描述: https://github.com/dnschneid/crouton/issues/15
因此,我在 /etc/init.d 中找到了 AnyConnect 的 shell 脚本,但我不够聪明,无法弄清楚如何手动运行这些命令。我希望有人能给我指明正确的方向。
以下是 vpnagentd_init 文件的内容:
#!/bin/sh
#
# chkconfig: 345 85 25
# description: vpnagentd is used for managing the cisco vpn client datapath.
# processname: vpnagentd
# Source function library.
if [ -e "/etc/init.d/functions" ]; then
. /etc/init.d/functions
fi
RETVAL=0
start() {
# If TUN isn't supported by the kernel, try loading the module...
/sbin/lsmod | grep tun > /dev/null
if [ $? -ne 0 ]; then
/sbin/modprobe tun > /dev/null 2> /dev/null
if [ $? -ne 0 ]; then
# check for /dev/net/tun
[ -c "/dev/net/tun" ] || echo Warning: Unable to verify that the tun/tap driver is loaded. Contact your system administrator for assistance.
fi
fi
echo -n $"Starting up Cisco VPN daemon "
/opt/cisco/vpn/bin/vpnagentd
RETVAL=$?
echo
return $RETVAL
}
stop() {
echo -n $"Shutting down Cisco VPN daemon "
killall vpnagentd
RETVAL=$?
echo
return $RETVAL
}
dostatus() {
status vpnagentd
}
restart() {
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
dostatus
;;
*)
echo $"Usage: vpnagent {start|stop|restart|status}"
exit 1
esac
exit $RETVAL
答案1
例如,要运行“start daemon”部分,请复制“start(){”和“}”之间的文件内容,并将其放入文本文件 startScript 中(作为示例)。使用 chmod+x startScript 使脚本可执行,然后使用 ./startScript 运行它。如果需要,可以对停止和状态部分执行相同的操作。
答案2
如果只是运行一个 shell 脚本,我会尝试回答。
打开终端Ctrl++Alt并T输入:
sudo nautilus
输入密码。浏览到该脚本所在的位置。右键单击该文件。转到特性-->权限. 通过勾选“授予执行权限允许将文件作为程序执行“。
使用cd directory_name
转到脚本位置。然后键入sh vpnagentd_init.sh
运行脚本。希望这会有所帮助。