ユーティリティは、 ppp デーモンが listen しているソケットをあらわす 少なくともひとつの引数を必要とします。 詳細については、 ppp コマンドの `set server' を参照して下さい。 ソケットが先頭に '/' を含んでいると、 AF_LOCAL ソケットとして扱われます。 コロンを含んでいると host : port の組として扱われ、 それ以外は単にローカルマシン (127.0.0.1) の TCP ポートを 指定したものとみなされます。 DNS 検索を避けたい場合や、 /etc/services 内に指定されたポートのエントリがない場合には、 host と port を数字で指定することができます。
残りの引数はすべて、 ppp デーモンに送られる (複数の) コマンド を形成するために連結されます。 セミコロン文字は コマンド デリミタとして扱われ、ひとつの `セッション' で複数の コマンド を指定することが可能です。 例えば:
pppctl 3000 set timeout 300\; show timeout
ほとんどのシェルでは ';' は特殊文字として扱われるので、 エスケープかクォートすることを忘れないようにしてください。
もし、 コマンド 引数が与えられなかった場合、 はインタラクティブモードになります。 ここで、コマンドは標準入力から読み込まれます。 コマンドを読んでいる時に、 editline(3) が使われていれば、 ( editrc(5) で指定した振る舞いで) 行編集が可能になります。 履歴の大きさはデフォルトでは 20 行 です。
以下のコマンドラインオプションが利用可能です:
への簡単で安全なアクセスを提供するもっとも良い方法は、 /etc/ppp/ppp.conf (の正しいセクション) に以下のようにローカルサーバソケットを作成することです:
set server /var/run/internet "" 0177
これは、 ppp を実行したユーザだけにアクセスできるように、 パスワード無しでパーミッションが srw------- の ローカルドメインソケットを作成するように ppp に指示します。 より詳しい解説はマニュアルページ ppp(8) を参照してください。
このようにするといくつかのお気楽スクリプトが作成可能になります。 インターネットに接続するには:
#! /bin/sh test $# -eq 0 && time=300 || time=$1 exec pppctl /var/run/internet set timeout $time\; dial
切断するには:
#! /bin/sh exec pppctl /var/run/internet set timeout 300\; close
接続されているかどうか確かめるには:
#! /bin/sh pppctl -p '' -v /var/run/internet quit | grep ^PPP >/dev/null if [ $? -eq 0 ]; then echo Link is up else echo Link is down fi
このような汎用スクリプトも作成可能です:
#! /bin/sh exec pppctl /var/run/internet "$@"
ダイヤルオンデマンドも を使って制御可能です。 ppp をずっと動作させながらも、 毎日 8pm から 8am まではダイヤルアウトを防ぎたいとします。 また、8pm にアクティブな接続は、 閉じられるか自然にタイムアウトするまでは保持したいとします。
cron(8) エントリとして 8pm に
pppctl /var/run/internet set filter dial 0 deny 0 0
を実行すると、これ以降のダイヤル要求をすべて防ぎ、8am のエントリ
pppctl /var/run/internet set filter dial -1