| А так можно? Вопрос по консоли | *NIX |
|
|
Сейчас объясню.
У меня есть сткрипты для подключения pppd
Я запускаю ИЗ ПОД ROOT в консоли
pppd call edge
далее выводится инфа о инициализации и т.д. Вот смотрите:
AT
OK
ATH
OK
ATE1
OK
AT+CGDCONT=1,"IP","internet"
OK
ATD*99#
CONNECT
Serial connection established.
using channel 2
Using interface ppp0
Connect: ppp0 <--> /dev/ttyACM0
rcvd [LCP ConfReq id=0x0 <auth pap> <mru 1500> <asyncmap 0xa0000>]
sent [LCP ConfReq id=0x1 <magic 0x77cebc68>]
sent [LCP ConfRej id=0x0 <asyncmap 0xa0000>]
rcvd [LCP ConfRej id=0x1 <magic 0x77cebc68>]
sent [LCP ConfReq id=0x2]
rcvd [LCP ConfReq id=0x1 <auth pap> <mru 1500>]
sent [LCP ConfAck id=0x1 <auth pap> <mru 1500>]
rcvd [LCP ConfAck id=0x2]
sent [PAP AuthReq id=0x1 user="gdata" password=<hidden>]
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
sent [IPCP ConfReq id=0x1 <addr xxxxxx> <ms-dns1 xxxxxxxx> <ms-dns3 xxxxxxxxx>]
rcvd [IPCP ConfReq id=0x0 <addr xxxxxx>]
sent [IPCP ConfAck id=0x0 <addr xxxxxx>]
rcvd [IPCP ConfNak id=0x1 <addr xxxxxxxxxxx> <ms-dns1 xxxxxxxxx> <ms-dns3 10.77.48.3>]
sent [IPCP ConfReq id=0x2 <addr xxxxxxxxxx> <ms-dns1 Xxxxxxxxxxx> <ms-dns3 10.77.48.3>]
rcvd [IPCP ConfAck id=0x2 <addr xxxxxxxxx> <ms-dns1 Xxxxxxxxxx> <ms-dns3 10.77.48.3>]
not replacing existing default route through tun0
local IP address xxxxxxxx
remote IP address xxxxxxxxx
primary DNS address xxxxxxxxx
secondary DNS address xxxxxxxx
Script /etc/ppp/ip-up started (pid 5038)
Script /etc/ppp/ip-up finished (pid 5038), status = 0x0
теперь ЭТИМ ОКНОМ SHEL пользоваться нельзя, но мне надо запустить программу спринт для открытия тонеля и установления соединения с сервером спутникового интернет провайдера, я открываю в консоли новое окно SHELL, заново вхожу под ROOT и набираю:
sprint
и теперь снова немогу пользоваться этим окном пока не нажму прерывание Ctrl+C
Я хочу все это и не только это запихнуть в один скрипт и вызывать например так:
./start-internet.sh
и чтоб после этого я мог пользоваться этим же окном консоли, чтоб скрипт не ждал после:
pppd call edge
ещё интересно, как сделать чтоб не входить под ROOTом,. а чтоб скрипт сам это делал. Еще хочу чтоб вся информация, типа этой после команды pppd call edge записывалась в лог-файл, а не выдавалась в окне консоли:
AT
OK
ATH
OK
ATE1
OK
AT+CGDCONT=1,"IP","internet"
OK
ATD*99#
CONNECT
Serial connection established.
using channel 2
Using interface ppp0
Connect: ppp0 <--> /dev/ttyACM0
rcvd [LCP ConfReq id=0x0 <auth pap> <mru 1500> <asyncmap 0xa0000>]
sent [LCP ConfReq id=0x1 <magic 0x77cebc68>]
sent [LCP ConfRej id=0x0 <asyncmap 0xa0000>]
rcvd [LCP ConfRej id=0x1 <magic 0x77cebc68>]
sent [LCP ConfReq id=0x2]
rcvd [LCP ConfReq id=0x1 <auth pap> <mru 1500>]
sent [LCP ConfAck id=0x1 <auth pap> <mru 1500>]
rcvd [LCP ConfAck id=0x2]
sent [PAP AuthReq id=0x1 user="gdata" password=<hidden>]
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
sent [IPCP ConfReq id=0x1 <addr xxxxxx> <ms-dns1 xxxxxxxx> <ms-dns3 xxxxxxxxx>]
rcvd [IPCP ConfReq id=0x0 <addr xxxxxx>]
sent [IPCP ConfAck id=0x0 <addr xxxxxx>]
rcvd [IPCP ConfNak id=0x1 <addr xxxxxxxxxxx> <ms-dns1 xxxxxxxxx> <ms-dns3 10.77.48.3>]
sent [IPCP ConfReq id=0x2 <addr xxxxxxxxxx> <ms-dns1 Xxxxxxxxxxx> <ms-dns3 10.77.48.3>]
rcvd [IPCP ConfAck id=0x2 <addr xxxxxxxxx> <ms-dns1 Xxxxxxxxxx> <ms-dns3 10.77.48.3>]
not replacing existing default route through tun0
local IP address xxxxxxxx
remote IP address xxxxxxxxx
primary DNS address xxxxxxxxx
secondary DNS address xxxxxxxx
Script /etc/ppp/ip-up started (pid 5038)
Script /etc/ppp/ip-up finished (pid 5038), status = 0x0
впринципе что можешь запускать через скрипт таким образом
#!/bin/sh
su -
#ну или sudo как больше нравится
pppd call edge >> /lav/log/connect&
#хотя все логи соединения и так сохраняются в /var/log/ гдето
# символ & на конце указывает что задача будет выполняться в фоне
sleep 2
#задержка что бы коннект инициализировался полностью
sprint
#запуск второй проги.
#End of file
косяк в том что если случайно закроешь окно терминала то все приложения запущенные в нем будут убиты.
лучше запускай с консоли по ctrl+alt+F1 например.
Извини, не подумал.
Выход обратно в графику по alt+F7.
sleep 2 - да значение в секундах.
По поводу остального ничего сказать не могу, ибо не сталкивался. Но если говоришь через прокси - попробуй указать прокси для этих программ, в их настройках.