「Wicd」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
15行目: 15行目:
   
 
[https://launchpad.net/wicd Wicd] は有線・無線インターフェイスを管理することができるネットワーク接続マネージャであり、[[NetworkManager]] と似ています。Wicd は [[Python]] と [[GTK+]] で書かれています。また、[[Qt]] で書かれた、[[KDE]] 用の Wicd も [[Arch User Repository]] からインストールできます。Wicd は curses インターフェイスでターミナルから実行することもでき、X サーバーセッションやタスクパネルを必要としません ([[#テキストモードで Wicd を実行]] を参照)。
 
[https://launchpad.net/wicd Wicd] は有線・無線インターフェイスを管理することができるネットワーク接続マネージャであり、[[NetworkManager]] と似ています。Wicd は [[Python]] と [[GTK+]] で書かれています。また、[[Qt]] で書かれた、[[KDE]] 用の Wicd も [[Arch User Repository]] からインストールできます。Wicd は curses インターフェイスでターミナルから実行することもでき、X サーバーセッションやタスクパネルを必要としません ([[#テキストモードで Wicd を実行]] を参照)。
 
{{Note|現在、人材不足のために Wicd の開発は滞っています。詳しくは、[https://answers.launchpad.net/wicd/+question/227789 こちらの]バグレポートを見て下さい。活発に開発されているネットワークマネージャを使いたい場合は、[[Connman]] や [[netctl]] を選択してください。}}
 
   
 
== インストール ==
 
== インストール ==
92行目: 90行目:
 
$ wicd-curses
 
$ wicd-curses
   
  +
{{Note|
{{Note|Wicd はパスキーのプロンプトを表示しません。鍵がかけられた接続 (WPA/WEP) を使う場合、接続したいネットワークを開いて、''Advanced'' をクリックして必要な情報を入力してください。}}
 
  +
*Wicd はパスキーのプロンプトを表示しません。鍵がかけられた接続 (WPA/WEP) を使う場合、接続したいネットワークを開いて、''Advanced'' をクリックして必要な情報を入力してください。
  +
* ''wicd-curses'' は ''wicd-gtk'' より不安定で、定期的にクラッシュします。}}
  +
  +
=== WPA supplicant ドライバーの切り替え ===
  +
  +
''Wicd'' は WPA supplicant ドライバーとして Wext を使うことを推奨しておりデフォルトで使用しますが、これは [http://linuxwireless.org/en/developers/Documentation/Wireless-Extensions/index.html#Do_we_still_use_WE_.3F 時代遅れの挙動] です。古いドライバーでしかサポートされていない場合を除いて、基本的には nl80211 を使うべきです。関連するオプションは ''Preferences > Advanced Settings'' にあります。
   
 
=== 自動起動 ===
 
=== 自動起動 ===
231行目: 235行目:
   
 
[[WPA2 Enterprise#Wicd]] を見てください。
 
[[WPA2 Enterprise#Wicd]] を見てください。
  +
  +
=== wicd-client のアイコンがシステムトレイに2つ表示される ===
  +
  +
[[#自動起動]] にある {{ic|/etc/xdg/autostart}} の autostart ファイルに関するノートや、[[#参照]] にあるフォーラムの投稿やバグレポートを見て下さい。{{ic|/etc/xdg/autostart/wicd-tray.desktop}} が存在する場合、削除してください。systemd で {{ic|wicd}} サービスを有効にしてください。
   
 
=== Bad password using PEAP with TKIP/MS-CHAPv2 ===
 
=== Bad password using PEAP with TKIP/MS-CHAPv2 ===
236行目: 244行目:
 
The connection template PEAP with TKIP/MS-CHAPv2 requires the user to enter the path to a CA certificate besides entering username and password. However this can cause troubles resulting in an error message of a bad password [https://bbs.archlinux.org/viewtopic.php?pid=990385]. A possible solution is the usage of PEAP with GTC instead of TKIP/MS-CHAPv2 which does not require one to enter the path of the CA cert.
 
The connection template PEAP with TKIP/MS-CHAPv2 requires the user to enter the path to a CA certificate besides entering username and password. However this can cause troubles resulting in an error message of a bad password [https://bbs.archlinux.org/viewtopic.php?pid=990385]. A possible solution is the usage of PEAP with GTC instead of TKIP/MS-CHAPv2 which does not require one to enter the path of the CA cert.
   
=== Wicd skips obtaining IP address on wlp ===
+
=== Wicd wlp で IP アドレスを取得しない ===
   
  +
wicd が systemd サービスとして動作しているのに dhcpcd が動作しているのが原因です。'''dhcpcd''' を停止・無効化してください。
This can be caused by dhcpcd running alongside wicd as systemd service. A solution would be to stop/disable '''dhcpcd'''.
 
   
 
=== dhcpcd が動作しない ===
 
=== dhcpcd が動作しない ===
   
  +
通常は、wicd と一緒に dhcpcd サービスを動作させることは必要ありませんし推奨されません。しかしながら、dhcpcd が動作していないというエラーメッセージが表示される場合、dhcpcd を動かしてみることで、同時に両方のサービスを動作させた場合に問題が発生しないか確認することができます:
Normally it should not be required, nor recommended to run the dhcpcd service next to wicd. However, if you encounter the error message that dhcpcd is not running, then you can try running dhcpcd and see if you encounter any incompatibilities when using both services at the same time.
 
   
 
# systemctl start dhcpcd
 
# systemctl start dhcpcd
   
  +
もしくは、Wicd の設定で {{Pkg|dhclient}} に切り替えることもできます。
Alternatively, as a workaround you might consider switching to {{Pkg|dhclient}} in the Wicd settings.
 
   
 
{{Note|If you get ''send_packet: Network is unreachable'' errors, then try increasing the timeout in /usr/share/dhclient/dhclient.conf.}}
 
{{Note|If you get ''send_packet: Network is unreachable'' errors, then try increasing the timeout in /usr/share/dhclient/dhclient.conf.}}
252行目: 260行目:
 
== 参照 ==
 
== 参照 ==
   
* [http://www.wicd.net/download.php Note on interfaces at the official site]
 
 
* [https://bbs.archlinux.org/viewtopic.php?id=114803 Forum post] about two instances of wicd-client and {{ic|/etc/xdg/autostart}}
 
* [https://bbs.archlinux.org/viewtopic.php?id=114803 Forum post] about two instances of wicd-client and {{ic|/etc/xdg/autostart}}
 
* [https://bugs.archlinux.org/task/22423 Bug report mentioning /etc/xdg/autostart and wicd-client behavior]
 
* [https://bugs.archlinux.org/task/22423 Bug report mentioning /etc/xdg/autostart and wicd-client behavior]

2015年11月30日 (月) 18:41時点における版

関連記事

Wicd は有線・無線インターフェイスを管理することができるネットワーク接続マネージャであり、NetworkManager と似ています。Wicd は PythonGTK+ で書かれています。また、Qt で書かれた、KDE 用の Wicd も Arch User Repository からインストールできます。Wicd は curses インターフェイスでターミナルから実行することもでき、X サーバーセッションやタスクパネルを必要としません (#テキストモードで Wicd を実行 を参照)。

インストール

基本パッケージ

公式リポジトリから wicdインストールしてください。wicd デーモンを実行するのに必要な全てのプログラムと wicd-cliwicd-curses インターフェイスが含まれています。

GTK+ クライアント

GTK+ フロントエンドを使いたい場合は、公式リポジトリの wicd-gtk をインストールしてください。wicd の GTK インターフェイスを実行するのに必要な全てのプログラムと、システムトレイにクライアントを表示させるための autostart ファイルが含まれています。

KDE クライアント

KDE フロントエンドを使いたい場合は、AUR から wicd-kdeAUR をインストールしてください。

通知

ネットワークの状態に関する通知を有効にするには、notification-daemonpython2-notify パッケージをインストールする必要があります。

GNOME を使ってない場合は、notification-daemon の代わりに、GNOME パッケージを必要としない xfce4-notifyd を通知デーモンとしてインストールすると良いでしょう。

その他

AUR には wicd-bzrAUR ビルドスクリプトが入っており、最新の開発ブランチをビルドします。別のバージョンを使ったり自分でパッケージを作りたい場合は、ABS を使うことで簡単にビルドできます。

設定

初期設定

Wicd にはデーモンがあり、それを起動する必要があります。

警告: 複数のネットワークマネージャを起動すると問題が発生するので、あらかじめ他のネットワーク管理デーモンは全て無効化しておいてください。

まず、(netctl, netcfg, dhcpcd, NetworkManager など) 前に使っていたネットワークデーモンを停止させます。

netctl, netcfg, dhcpcd, networkmanager などの既存のネットワーク管理サービスを無効化してください。Systemd#ユニットを使う を参照。

ノート: network サービスを置き換えている netctl ではなく、network デーモンを停止・無効化する必要があるかもしれません。よくわからないならば、両方とも無効化してください。

wicd systemd デーモンを起動して、ブート時に起動するように有効化してください。

ユーザーを users グループに追加してください:

# gpasswd -a USERNAME users
ノート: The Unix group that D-Bus allows to access wicd is subject to change, and it may be different than users. Check which policy group is specified in /etc/dbus-1/system.d/wicd.conf, and add your user to that group.

ユーザーを新しいグループに追加したら、一度ログアウトして再ログインしてください。

デスクトップ環境で Wicd を実行

wicd-gtk をインストールしてデスクトップ環境がある場合、仮想ターミナルを開いて以下のコマンドを実行します。

  • システムサービスとして Wicd を起動するには、次のコマンドを実行:
# systemctl start wicd
  • Wicd をロードするには、次のコマンドを実行:
$ wicd-client
  • 通知エリアに最小化させて起動するには、次のコマンドを実行:
$ wicd-client --tray
  • デスクトップ環境に通知エリアが存在しない場合、または wicd のトレイアイコンを表示してほしくない場合、次のコマンドを実行:
$ wicd-client -n

テキストモードで Wicd を実行

wicd-gtk をインストールしていない場合、wicd-cli か wicd-curses を使います:

$ wicd-curses
ノート:
  • Wicd はパスキーのプロンプトを表示しません。鍵がかけられた接続 (WPA/WEP) を使う場合、接続したいネットワークを開いて、Advanced をクリックして必要な情報を入力してください。
  • wicd-curseswicd-gtk より不安定で、定期的にクラッシュします。

WPA supplicant ドライバーの切り替え

Wicd は WPA supplicant ドライバーとして Wext を使うことを推奨しておりデフォルトで使用しますが、これは 時代遅れの挙動 です。古いドライバーでしかサポートされていない場合を除いて、基本的には nl80211 を使うべきです。関連するオプションは Preferences > Advanced Settings にあります。

自動起動

wicd-gtk パッケージは /etc/xdg/autostart/wicd-tray.desktop ファイルを作成し、DE/WM のログイン時に wicd-client を自動で起動します。その場合、wicd のシステムサービスを有効にするだけで十分です:

# systemctl enable wicd

/etc/xdg/autostart/wicd-tray.desktop が存在しない場合、wicd-client を DE/WM のスタートアップに追加することでログイン時にアプリケーションを起動させることができます。

ノート: /etc/xdg/autostart/wicd-tray.desktop が存在しているのに wicd-client を DE/WM のスタートアップに追加してしまうと、wicd-client のインスタンスが2つ実行してしまいます。

スクリプト

Wicd には接続プロセスの段階 (接続や切断の前後) ごとにスクリプトを実行することができる機能があります。/etc/wicd/scripts/ 内のそれぞれの段階にスクリプトを置いて実行可能属性を付与してください。

スクリプトは3つのパラメータを受け取ることができます:

$1 - 接続タイプ (wireless/wired)。
$2 - ESSID (ネットワーク名)。
$3 - BSSID (ゲートウェイ MAC)。

ARP スプーフィング攻撃の防止

以下のスクリプトを使うことで静的な ARP が設定され、ARP スプーフィング攻撃の防止になります。case ステートメントの中の値を、静的な ARP エントリを設定したいネットワークに変更してください。root で実行します:

#!/bin/bash
#Set the parameters passed to this script to meaningful variable names.
connection_type="$1"
essid="$2"
bssid="$3"

if [ "${connection_type}" == "wireless" ]; then

        #Change below to match your networks.
        case "$essid" in
        YOUR-NETWORK-NAME-ESSID)
                arp -s 192.168.0.1 00:11:22:33:44:55
         ;;
         Netgear01923)
                arp -s 192.168.0.1 10:11:20:33:40:50
         ;;
         ANOTHER-ESSID)
                arp -s 192.168.0.1 11:33:55:77:99:00
         ;;
         *)
                echo "Static ARP not set. No network defined."
         ;;
       esac
fi

macchanger を使って MAC を変更

MAC アドレス偽装#macchanger を見て下さい。

以下のスクリプトを使うことでネットワークインターフェイスの MAC アドレスを変更することができます。

ネットワークに接続するときに MAC を変更するには、スクリプトを /etc/wicd/scripts/preconnect/ 下に配置してください。

macchanger コマンドは macchanger --help を見て自由に変更してください。

#!/usr/bin/env bash

connection_type="$1"

if [[ "${connection_type}" == "wireless" ]]; then
        ip link set wlp2s0 down
        macchanger -A wlp2s0
        ip link set wlp2s0 up
elif [[ "${connection_type}" == "wired" ]]; then
        ip link set enp1s0 down
        macchanger -A enp1s0
        ip link set enp1s0 up
fi

トラブルシューティング

有線接続のトラブルシューティングについてはネットワーク設定#トラブルシューティングを、無線接続のトラブルシューティングについてはワイヤレス設定#トラブルシューティングを見てください。このセクションでは wicd に関する問題だけを取り扱います。

ハイバネート・サスペンドから復帰したときに自動接続

いくつかの理由で、ハイバネートやサスペンドからの復帰時の自動接続は自動的に動作しません。以下のサービスファイルを有効化することで Wicd を手動で再起動できます。

/etc/systemd/system/wicd-resume@.service
[Unit]
Description=Restart Wicd autoconnect service on resume
After=suspend.target

[Service]
Type=oneshot
User=%i
RemainAfterExit=no
ExecStart=/usr/share/wicd/daemon/autoconnect.py

[Install]
WantedBy=suspend.target

pynotify のインポートが失敗して、通知が使えない

python2-notify パッケージが自動的にインストールされていません。公式リポジトリからインストールしてください。

D-Bus の接続エラーメッセージ

wicd が突然機能停止して D-Bus に関するエラーが表示される場合、設定ファイルも含めて wicd を完全に削除して、始めから再インストールする必要があります:

# pacman -R wicd
# rm -rf /etc/wicd /var/log/wicd /etc/dbus-1/system.d/wicd*
# pacman -S wicd

詳しくは次のリンクを見て下さい: https://bbs.archlinux.org/viewtopic.php?pid=577141#p577141

設定ファイルの問題によって wicd が動作しないときも Wicd-client は D-Bus の接続エラーのメッセージを吐きます ("Could not connect to wicd's D-Bus interface.")。空のアカウントが /etc/wicd/wired-settings.conf に追加されているということも考えられます。その場合は

[] 

を削除して wicd を再起動してください。

それでも動作しない場合は https://bbs.archlinux.org/viewtopic.php?pid=1268721 を読んで下さい。

パッケージを更新した後の問題

D-Bus のエラーによって、パッケージの更新後に wicd クライアントがロードできなくなることが時々あります。

/etc/wicd/ ディレクトリの設定ファイルを削除するのが解決方法です。

# systemctl stop wicd
# rm /etc/wicd/*.conf
# systemctl start wicd

sudo のグラフィカルプログラムについての注意事項

wicd がグラフィカルな sudo プログラムを見つけられないというエラーを表示する場合 gksu, ktsussAUR, kdebase-runtime のどれかをインストールして、適当なコマンドを実行してください:

$ ktsuss wicd-client -n
$ gksudo wicd-client -n
$ kdesu wicd-client -n

Eduroam

WPA2 Enterprise#Wicd を見てください。

wicd-client のアイコンがシステムトレイに2つ表示される

#自動起動 にある /etc/xdg/autostart の autostart ファイルに関するノートや、#参照 にあるフォーラムの投稿やバグレポートを見て下さい。/etc/xdg/autostart/wicd-tray.desktop が存在する場合、削除してください。systemd で wicd サービスを有効にしてください。

Bad password using PEAP with TKIP/MS-CHAPv2

The connection template PEAP with TKIP/MS-CHAPv2 requires the user to enter the path to a CA certificate besides entering username and password. However this can cause troubles resulting in an error message of a bad password [1]. A possible solution is the usage of PEAP with GTC instead of TKIP/MS-CHAPv2 which does not require one to enter the path of the CA cert.

Wicd が wlp で IP アドレスを取得しない

wicd が systemd サービスとして動作しているのに dhcpcd が動作しているのが原因です。dhcpcd を停止・無効化してください。

dhcpcd が動作しない

通常は、wicd と一緒に dhcpcd サービスを動作させることは必要ありませんし推奨されません。しかしながら、dhcpcd が動作していないというエラーメッセージが表示される場合、dhcpcd を動かしてみることで、同時に両方のサービスを動作させた場合に問題が発生しないか確認することができます:

# systemctl start dhcpcd

もしくは、Wicd の設定で dhclient に切り替えることもできます。

ノート: If you get send_packet: Network is unreachable errors, then try increasing the timeout in /usr/share/dhclient/dhclient.conf.

参照