好的,我有一个在 Ubuntu 11.04 上运行的 shell 应用程序,它必须使用 Verizon 无线调制解调器才能保持连接。我不知道如何从 shell 调用此应用程序,但可以从 gui 调用。
如果 PC 断电,Ubuntu 必须唤醒、登录、以最后已知的状态启动应用程序,然后重新连接到互联网。由于应用程序是远程的,我需要 PC 在断开上述连接时重新建立无线连接,并不断尝试,直到成功为止。
我已在网络管理器中将 ppp0 设置为默认连接。但是,我发现断开连接后启动连接的唯一方法是终止网络管理器,然后网络管理器会自动重新连接。
连接:
ppp0 Link encap:Point-to-Point Protocol
inet addr:XXX.XXX.XXX.XXX P-t-P:XXX.XXX.XXX.XXX Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:211 errors:0 dropped:0 overruns:0 frame:0
TX packets:217 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:26851 (26.8 KB) TX bytes:18801 (18.8 KB)
每次运行该过程时,它似乎都会发生变化。NetworkManager 似乎会在 .../PPP 后自动增加数字。我希望能够从 shell 运行此连接及其所有功能。:
/usr/sbin/pppd nodetach lock nodefaultroute ttyUSB0 noipdefault noauth usepeerdns lcp-echo-failure 5 lcp-echo-interval 30 ipparam /org/freedesktop/NetworkManager/PPP/3 plugin /usr/lib/pppd/2.4.5/nm-pppd-plugin.so
LSUSB:
Bus 002 Device 006: ID 1410:6000 Novatel Wireless
有人可以提供给我一个 shell 命令来调用上述连接而不用每次都杀死网络管理器吗?
答案1
我假设您正在使用网络管理器管理连接?如果是这种情况,您应该能够使用该nmcli
工具激活它:
nmcli con up id "name"
您在网络管理器中为连接指定的名称在哪里"name"
。您应该能够将其集成到您正在使用的任何类型的脚本中。
如果您希望能够以登录 GUI 的用户以外的用户身份运行此命令,则需要检查Available to all users
连接设置中的选项。