スキップしてメイン コンテンツに移動

NetworkManager proxy設定 dispatcher

proxyだって?どこの田舎よ?

/etc/NetworkManager/dispatcher.d/99-proxy
#!/bin/bash

PATH=/bin:/usr/bin:/sbin

if [ ! -f /etc/sysconfig/proxy ]; then
  exit
fi
. /etc/sysconfig/proxy

if [ x"$2" = x"down" ]; then
  exit
fi

i=0
while [ "x$(eval echo '$'PROXYTARGET$i)x" != "xx" ]; do
  for t in `echo $(eval echo '$'PROXYTARGET$i) | sed s/:/\ /g`; do
    if [ x"$t" = x"$CONNECTION_ID" ]; then
      PROXY=$(eval echo '$'PROXYTARGET${i}_PROXY)
      NO_PROXY=$(eval echo '$'PROXYTARGET${i}_NO_PROXY)
      break
    fi
  done
  if [ -n "$PROXY" ]; then
    break
  fi
  let i=$i+1
done

if [ -n "$PROXY" ]; then
  PROXY=`echo $PROXY | sed s,http://,,`
  HOST=`echo $PROXY | cut -d: -f1`
  PORT=`echo $PROXY | cut -d: -f2|sed s,/,,g`
fi

for pid in `pgrep gnome-session`; do
  uid=`cat /proc/$pid/loginuid`
  uname=`getent passwd $uid | cut -d: -f 1`
  bus=`strings /proc/$pid/environ|grep DBUS_SESSION_BUS_ADDRESS`
  if [ -n "$PROXY" ]; then
    su -c "$bus gsettings set org.gnome.system.proxy mode manual" $uname
    su -c "$bus gsettings set org.gnome.system.proxy.http host $HOST" $uname
    su -c "$bus gsettings set org.gnome.system.proxy.http port $PORT" $uname
    su -c "$bus gsettings set org.gnome.system.proxy.https host $HOST" $uname
    su -c "$bus gsettings set org.gnome.system.proxy.https port $PORT" $uname
  else
    su -c "$bus gsettings set org.gnome.system.proxy mode none" $uname
  fi
done

/etc/sysconfig/proxy
PROXYTARGET0="プロファイル名:プロファイル名:プロファイル名"
PROXYTARGET0_PROXY="http://プロキシ:ポート/"
PROXYTARGET0_NO_PROXY="除外,リスト,たち"

PROXYTARGET? リストに一致するプロファイルに切り換えられたとき、ログインしている人のgnomeプロキシ設定を変更する。もちろん、gnome専用。
少なくとも、chromeは追従してくれるので大変便利。
追従しない子用には、libproxyを使うニセproxyをローカルに立てとけばよいかな...

コメント

このブログの人気の投稿

このワークステーションとプライマリドメインとの信頼関係に失敗しました

ドメインアカウントのパスワードをWindowsの外部で変更してしまい、
このワークステーションとプライマリドメインとの信頼関係に失敗しましたなんてことを言われた場合、
焦らず騒がず、ネットワークを切る古いパスワードでログインできるようになるローカルアドミンアカウントを作るローカルアドミンアカウントでログインする適当なワークグループを作るドメインのマシンアカウントの削除用アカウント情報を聞かれるので、ネットワークをつないでから入力する。再起動を促されるので従うローカルアドミンアカウントでログインする元のドメインに参加するドメインのマシンアカウント作成用のアカウント情報を聞かれるので入力する再起動を促されるので従う再起動後、ドメインアカウントでログインできるようになっている。

BCM交換(失敗編)

1 20S左側オートスライド+インテリキー用から
20G,RX左側オートスライド+インテリキー用にBCMを交換する。
バッテリマイナス外すのも含めてものの数分。
楽勝ですな。

2 作動チェック。
Hiビーム動作する。うんうん。

3 リモコン、ドア等も正常、オートライトも動作する。
センサーついてないから常時消灯->常時点灯にかわっただけだけど。

4 いいかんじなので車庫にもどそうとしてイグニッションノブ捻ると、セルが回らないことが発覚。

5 ドキドキしながら旧BCMに戻す。
エンジン始動。ふぅ。

6 インテリキー仕様の始動にBCM関係なさそうなんだけどなぁ。ノブも回らないではなくてstart位置まで回ってセルが回らないという状態だし。うーむ。
あ、イモビの赤インジケータ点いてないね...

7 インテリキーはコントローラ別体なのでちゃんと動作していたけれども、イモビがBCM交換するとダメらしい。
木曜日にディーラにイモビの設定お願いする。
問題は新BCMだと自走できないのでディーラにBCM交換も依頼しなければならないあたり。

8 で、すんなり再設定できて動けばいいんだけど...