「Wicd」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(Pkg/AUR テンプレートの更新)
(アーカイブに移動)
タグ: 新規リダイレクト
 
(4人の利用者による、間の4版が非表示)
1行目: 1行目:
  +
#redirect [[ArchWiki:アーカイブ]]
[[Category:ネットワーク]]
 
  +
[[Category:アーカイブ]]
[[de:Wicd]]
 
[[en:Wicd]]
 
[[es:Wicd]]
 
[[fr:Wicd]]
 
[[it:Wicd]]
 
[[zh-hans:Wicd]]
 
{{Related articles start}}
 
{{Related|ネットワーク設定}}
 
{{Related|ワイヤレス設定}}
 
{{Related|Netctl}}
 
{{Related|NetworkManager}}
 
{{Related articles end}}
 
 
[https://launchpad.net/wicd Wicd] は有線・無線インターフェイスを管理することができるネットワーク接続マネージャであり、[[NetworkManager]] と似ています。Wicd は [[Python]] と [[GTK+]] で書かれています。また、[[Qt]] で書かれた、[[KDE]] 用の Wicd も [[Arch User Repository]] からインストールできます。Wicd は curses インターフェイスでターミナルから実行することもでき、X サーバーセッションやタスクパネルを必要としません ([[#テキストモードで Wicd を実行]] を参照)。
 
 
== インストール ==
 
 
=== 基本パッケージ ===
 
 
{{Pkg|wicd}} パッケージを[[インストール]]してください。wicd デーモンを実行するのに必要な全てのプログラムと {{ic|wicd-cli}} と {{ic|wicd-curses}} インターフェイスが含まれています。
 
 
=== GTK+ クライアント ===
 
 
GTK+ フロントエンドを使いたい場合は、{{Pkg|wicd-gtk}} をインストールしてください。wicd の GTK インターフェイスを実行するのに必要な全てのプログラムと、システムトレイにクライアントを表示させるための autostart ファイルが含まれています。
 
 
=== KDE クライアント ===
 
 
KDE フロントエンドを使いたい場合は、[[AUR]] から {{AUR|wicd-kde}}{{Broken package link|{{aur-mirror|wicd-kde}}}} をインストールしてください。
 
 
=== 通知 ===
 
 
ネットワークの状態に関する通知を有効にするには、{{Pkg|notification-daemon}} と {{Pkg|python2-notify}} パッケージをインストールする必要があります。
 
 
[[GNOME]] を使ってない場合は、notification-daemon の代わりに、GNOME パッケージを必要としない {{Pkg|xfce4-notifyd}} を通知デーモンとしてインストールすると良いでしょう。
 
 
=== その他 ===
 
 
{{AUR|wicd-git}} パッケージで最新の開発ブランチをインストールできます。別のバージョンを使ったり自分でパッケージを作りたい場合は、[[ABS]] を使うことで簡単にビルドできます。
 
 
== 設定 ==
 
 
=== 初期設定 ===
 
 
Wicd にはデーモンがあり、それを起動する必要があります。
 
 
{{Warning|複数のネットワークマネージャを起動すると問題が発生するので、あらかじめ他のネットワーク管理デーモンは全て無効化しておいてください。}}
 
 
まず、(netctl, netcfg, dhcpcd, NetworkManager など) 前に使っていたネットワークデーモンを停止させます。
 
 
{{ic|netctl}}, {{ic|netcfg}}, {{ic|dhcpcd}}, {{ic|networkmanager}} などの既存のネットワーク管理サービスを無効化してください。[[Systemd#ユニットを使う]] を参照。
 
 
{{Note|''network'' サービスを置き換えている ''netctl'' ではなく、''network'' デーモンを停止・無効化する必要があるかもしれません。よくわからないならば、両方とも無効化してください。}}
 
 
''wicd'' [[systemd]] [[デーモン]]を起動して、ブート時に起動するように有効化してください。
 
 
ユーザーを {{ic|users}} グループに追加してください:
 
 
# gpasswd -a USERNAME users
 
 
{{Note|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 {{ic|/etc/dbus-1/system.d/wicd.conf}}, and add your user to that group.}}
 
 
ユーザーを新しいグループに追加したら、一度ログアウトして再ログインしてください。
 
 
=== デスクトップ環境で Wicd を実行 ===
 
 
{{pkg|wicd-gtk}} をインストールしてデスクトップ環境がある場合、仮想ターミナルを開いて以下のコマンドを実行します。
 
 
* システムサービスとして Wicd を起動するには、次のコマンドを実行:
 
 
# systemctl start wicd
 
 
* Wicd をロードするには、次のコマンドを実行:
 
 
$ wicd-client
 
 
* 通知エリアに最小化させて起動するには、次のコマンドを実行:
 
 
$ wicd-client --tray
 
 
* デスクトップ環境に通知エリアが存在しない場合、または wicd のトレイアイコンを表示してほしくない場合、次のコマンドを実行:
 
 
$ wicd-client -n
 
 
=== テキストモードで Wicd を実行 ===
 
 
{{pkg|wicd-gtk}} をインストールしていない場合、wicd-cli か wicd-curses を使います:
 
 
$ wicd-curses
 
 
{{Note|
 
*Wicd はパスキーのプロンプトを表示しません。鍵がかけられた接続 (WPA/WEP) を使う場合、接続したいネットワークを開いて、''Advanced'' をクリックして必要な情報を入力してください。
 
* ''wicd-curses'' は ''wicd-gtk'' より不安定で、定期的にクラッシュします。無線ネットワークに接続しようとするとクラッシュする場合は {{AUR|wicd-patched}} を使用してください。}}
 
 
=== 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'' にあります。
 
 
=== 自動起動 ===
 
 
{{Pkg|wicd-gtk}} パッケージは {{ic|/etc/xdg/autostart/wicd-tray.desktop}} ファイルを作成し、DE/WM のログイン時に {{ic|wicd-client}} を自動で起動します。その場合、wicd のシステムサービスを有効にするだけで十分です:
 
 
# systemctl enable wicd
 
 
{{ic|/etc/xdg/autostart/wicd-tray.desktop}} が存在しない場合、''wicd-client'' を DE/WM のスタートアップに追加することでログイン時にアプリケーションを起動させることができます。
 
 
{{Note|{{ic|/etc/xdg/autostart/wicd-tray.desktop}} が存在しているのに ''wicd-client'' を DE/WM のスタートアップに追加してしまうと、{{ic|wicd-client}} のインスタンスが2つ実行してしまいます。}}
 
 
=== スクリプト ===
 
 
Wicd には接続プロセスの段階 (接続や切断の前後) ごとにスクリプトを実行することができる機能があります。{{ic|/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 を変更するには、スクリプトを {{ic|/etc/wicd/scripts/preconnect/}} 下に配置してください。
 
 
macchanger コマンドは {{ic|macchanger --help}} を見て自由に変更してください。
 
 
{{bc|<nowiki>
 
#!/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
 
</nowiki>}}
 
 
==== openvpn クライアントの起動・停止 ====
 
 
特定の ESSID に接続されたときに openvpn クライアントを再起動させるには {{ic|/etc/wicd/scripts/postconnect/}} に以下のスクリプトを配置してください。{{ic|YOUR_WIFI_ESSID}} は適当な ESSID に置き換えてください。
 
 
{{bc|<nowiki>
 
#!/bin/sh
 
 
ESSID="YOUR_WIFI_ESSID"
 
 
if [ $1 == "wireless" ]; then
 
if [ $2 == "$ESSID" ]; then
 
systemctl restart openvpn-client@client
 
fi
 
fi
 
</nowiki>}}
 
 
特定の ESSID から切断されたときに openvpn クライアントを停止するには {{ic|/etc/wicd/scripts/predisconnect/}} に以下のスクリプトを配置してください。{{ic|YOUR_WIFI_ESSID}} は適当な ESSID に置き換えてください。
 
 
{{bc|<nowiki>
 
#!/bin/sh
 
 
ESSID="YOUR_WIFI_ESSID"
 
 
if [ $1 == "wireless" ]; then
 
if [ $2 == "$ESSID" ]; then
 
systemctl stop openvpn-client@client
 
fi
 
fi
 
</nowiki>}}
 
 
== トラブルシューティング ==
 
 
有線接続のトラブルシューティングについては[[ネットワーク設定#トラブルシューティング]]を、無線接続のトラブルシューティングについては[[ワイヤレス設定#トラブルシューティング]]を見てください。このセクションでは ''wicd'' に関する問題だけを取り扱います。
 
 
=== ハイバネート・サスペンドから復帰したときに自動接続 ===
 
 
いくつかの理由で、ハイバネートやサスペンドからの復帰時の自動接続は自動的に動作しません。以下のサービスファイルを有効化することで Wicd を手動で再起動できます。
 
 
{{hc|~/.config/systemd/user/wicd@resume.service|<nowiki>
 
[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
 
</nowiki>}}
 
 
=== pynotify のインポートが失敗して、通知が使えない ===
 
 
{{pkg|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.")。空のアカウントが {{ic|/etc/wicd/wired-settings.conf}} に追加されているということも考えられます。その場合は
 
[]
 
を削除して wicd を再起動してください。
 
 
それでも動作しない場合は https://bbs.archlinux.org/viewtopic.php?pid=1268721 を読んで下さい。
 
 
=== パッケージを更新した後の問題 ===
 
 
D-Bus のエラーによって、パッケージの更新後に wicd クライアントがロードできなくなることが時々あります。
 
 
{{ic|wicd.service}} を停止してから {{ic|/etc/wicd/}} ディレクトリの設定ファイルを削除して、{{ic|wicd.service}} を起動すれば解決します。
 
 
=== sudo のグラフィカルプログラムについての注意事項 ===
 
 
wicd がグラフィカルな sudo プログラムを見つけられないというエラーを表示する場合 {{AUR|gksu}}, {{AUR|ktsuss}}, {{Pkg|kdebase-runtime}} のどれかをインストールして、適当なコマンドを実行してください:
 
 
$ ktsuss wicd-client -n
 
 
$ gksudo wicd-client -n
 
 
$ kdesu wicd-client -n
 
 
=== Eduroam ===
 
 
[[WPA2 Enterprise#Wicd]] を見てください。
 
 
=== wicd-client のアイコンがシステムトレイに2つ表示される ===
 
 
[[#自動起動]] にある {{ic|/etc/xdg/autostart}} の autostart ファイルに関するノートや、[[#参照]] にあるフォーラムの投稿やバグレポートを見て下さい。{{ic|/etc/xdg/autostart/wicd-tray.desktop}} が存在する場合、削除してください。systemd で {{ic|wicd}} サービスを有効にしてください。
 
 
=== TKIP/MS-CHAPv2 で PEAP を使用する場合にパスワードが通らない ===
 
 
TKIP/MS-CHAPv2 による PEAP 接続テンプレートでは、ユーザー名やパスワードの入力だけでなく、CA 証明書のパスも入力する必要があります。しかしながら、そのときにパスワードが不正だというエラーメッセージが表示されることがあります [https://bbs.archlinux.org/viewtopic.php?pid=990385]。TKIP/MS-CHAPv2 の代わりに GTC で PEAP を使うことで CA 証明書のパスを入力する必要がなくなります。
 
 
=== Wicd が wlp で IP アドレスを取得しない ===
 
 
wicd が systemd サービスとして動作しているのに dhcpcd が動作しているのが原因です。'''dhcpcd''' を停止・無効化してください。
 
 
=== dhcpcd が動作しない ===
 
 
通常は、wicd と一緒に dhcpcd サービスを動作させることは必要ありませんし推奨されません。しかしながら、dhcpcd が動作していないというエラーメッセージが表示される場合、dhcpcd を動かしてみることで、同時に両方のサービスを動作させた場合に問題が発生しないか確認することができます:
 
 
# systemctl start dhcpcd
 
 
もしくは、Wicd の設定で {{Pkg|dhclient}} に切り替えることもできます。
 
 
{{Note|''send_packet: Network is unreachable'' エラーが表示される場合、{{ic|/usr/share/dhclient/dhclient.conf}} の timeout の値を上げてみて下さい。}}
 
 
== 参照 ==
 
 
* [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]
 

2022年8月22日 (月) 10:32時点における最新版