<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Oriaca372m</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Oriaca372m"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Oriaca372m"/>
	<updated>2026-05-15T14:39:33Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=NetworkManager&amp;diff=22962</id>
		<title>NetworkManager</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=NetworkManager&amp;diff=22962"/>
		<updated>2021-12-26T08:00:28Z</updated>

		<summary type="html">&lt;p&gt;Oriaca372m: スペルミスの修正&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ネットワークマネージャ]]&lt;br /&gt;
[[Category:Red Hat]]&lt;br /&gt;
[[cs:NetworkManager]]&lt;br /&gt;
[[de:Networkmanager]]&lt;br /&gt;
[[en:NetworkManager]]&lt;br /&gt;
[[es:NetworkManager]]&lt;br /&gt;
[[fr:NetworkManager]]&lt;br /&gt;
[[it:NetworkManager]]&lt;br /&gt;
[[pt:NetworkManager]]&lt;br /&gt;
[[ru:NetworkManager]]&lt;br /&gt;
[[tr:NetworkManager]]&lt;br /&gt;
[[zh-hans:NetworkManager]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|ネットワーク設定}}&lt;br /&gt;
{{Related|ワイヤレス設定}}&lt;br /&gt;
{{Related|Netctl}}&lt;br /&gt;
{{Related|Wicd}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[http://projects.gnome.org/NetworkManager/ NetworkManager] はネットワークの検知とシステムの設定を自動で行いネットワークに接続するプログラムです。NetworkManager の機能は無線・有線両方のネットワークに使うことができます。無線ネットワークでは、NetworkManager は既知の無線ネットワークを優先し、一番信頼性のあるネットワークに切り替えることができます。NetworkManager 対応アプリケーションはオンラインとオフラインを切り替えることが可能です。また、NetworkManager では無線接続よりも有線接続が優先され、モデム接続や特定の VPN に対応しています。NetworkManager はもともとは Red Hat によって開発されていましたが、現在では [[GNOME]] プロジェクトによってホストされています。&lt;br /&gt;
&lt;br /&gt;
{{Warning|初期設定では、Wi-Fi パスワードは平文で保存されます。直すためには、[[#Wi-Fi パスワードの暗号化]]を見てください。}}&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
NetworkManager は[[公式リポジトリ]]にある {{Pkg|networkmanager}} パッケージでインストールできます。これには、デーモンとコマンドラインインターフェース ({{ic|nmcli}})、cursesベースのテキストインターフェース ({{ic|nmtui}})が含まれます。&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager を有効にする ===&lt;br /&gt;
&lt;br /&gt;
インストール後、{{ic|NetworkManager.service}} を [[systemd#ユニットを使う|開始/有効]] します。NetworkManager デーモンが起動すると、すでに構成されている使用可能な &amp;quot;system connections&amp;quot; に自動的に接続します。&amp;quot;user connections&amp;quot; または未接続の場合は、構成および接続するために、nmcli またはアプレットが必要です。&lt;br /&gt;
&lt;br /&gt;
=== 追加のインターフェース ===&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|nm-connection-editor}}: グラフィカルインターフェース。&lt;br /&gt;
* {{Pkg|network-manager-applet}}: システムトレイアプレット ({{ic|nm-applet}}).&lt;br /&gt;
&lt;br /&gt;
{{Note|ネットワークを設定しようとするサービスが他に動いていないことを確認してください。複数のネットワークサービスがあると衝突します。{{ic|1=systemctl --type=service}} で現在動作しているサービスのリストを表示できるので、ネットワークサービスがあったら[[systemd#ユニットを使う|停止]]してください。NetworkManager サービスを有効にする方法は[[#設定|設定]]を見てください。}}&lt;br /&gt;
&lt;br /&gt;
=== VPN サポート ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager 1.16 から [[WireGuard]] に対応しました。詳細は [https://blogs.gnome.org/thaller/2019/03/15/wireguard-in-networkmanager/] を参照してください。&lt;br /&gt;
&lt;br /&gt;
NetworkManager の VPN サポートはプラグインシステムをベースにしています。NetworkManager で VPN のサポートが必要なときは以下のパッケージの中から必要なものをインストールしてください:&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|networkmanager-openconnect}} for [[OpenConnect]]&lt;br /&gt;
* {{Pkg|networkmanager-openvpn}} for [[OpenVPN]]&lt;br /&gt;
* {{Pkg|networkmanager-pptp}} for [[PPTP クライアント]]&lt;br /&gt;
* {{Pkg|networkmanager-vpnc}} for [[Vpnc]]&lt;br /&gt;
* {{Pkg|networkmanager-strongswan}} for [[strongSwan]]&lt;br /&gt;
* {{AUR|networkmanager-fortisslvpn-git}}&lt;br /&gt;
* {{AUR|networkmanager-iodine-git}}&lt;br /&gt;
* {{AUR|networkmanager-libreswan}}&lt;br /&gt;
* {{AUR|networkmanager-l2tp}}&lt;br /&gt;
* {{AUR|networkmanager-ssh-git}}&lt;br /&gt;
* {{Pkg|network-manager-sstp}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|1=VPN サポートは [https://bugzilla.gnome.org/buglist.cgi?quicksearch=networkmanager%20vpn 不安定] です。GUI からデーモンプロセスのオプションが正しく設定されていることを確認して、パッケージがリリースされるたびに再確認してください [https://bugzilla.gnome.org/show_bug.cgi?id=755350]。}}&lt;br /&gt;
&lt;br /&gt;
=== Mobile broadband support ===&lt;br /&gt;
&lt;br /&gt;
モバイル回線に接続するためには、{{pkg|modemmanager}}か {{pkg|mobile-broadband-provider-info}} 、または {{pkg|usb_modeswitch}} を[[インストール]]してください。 詳しくは [[USB 3G モデム#Network Manager]] を確認してください。&lt;br /&gt;
&lt;br /&gt;
=== PPPoE / DSL サポート ===&lt;br /&gt;
&lt;br /&gt;
PPPoE / DSL 接続のサポートが必要な場合は {{pkg|rp-pppoe}} を[[インストール]]してください。実際に使うためには、{{ic|1=nm-connection-editor}} から新しい DSL/PPPoE 接続を追加してください。&lt;br /&gt;
&lt;br /&gt;
== グラフィカルフロントエンド ==&lt;br /&gt;
&lt;br /&gt;
NetworkManager を簡単に使えるようにするためのアプレットをインストールすることができます。この GUI フロントエンドはシステムトレイ（や通知エリア）に収納され、NetworkManager のネットワーク選択や設定が可能です。異なるデスクトップにあわせて様々なアプレットが存在します。その他に [[#nm-applet]] を使うこともできます。&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
GNOME にはツールが内蔵されており、ネットワーク設定からアクセスできます。&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|plasma-nm}} アプレットをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
=== nm-applet ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|network-manager-applet}} はあらゆる Xorg 環境で動作する GTK+ 3 フロントエンドです (システムトレイに表示されます)。&lt;br /&gt;
&lt;br /&gt;
接続情報を保存するには [[GNOME Keyring]] をインストール・設定してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|Make available to other users}} オプションを有効にすると、NetworkManager はパスワードを平文で保存します。ただしファイルにアクセスできるのは root だけです (他のユーザーは {{ic|nm-applet}} を介してアクセスします)。[[#Wi-Fi パスワードの暗号化]]を見てください。&lt;br /&gt;
&lt;br /&gt;
システムトレイを使わずに {{ic|nm-applet}} を起動したい場合、{{Pkg|trayer}} または {{Pkg|stalonetray}} を使います。例えば、以下のようなスクリプトを追加して使うことができます:&lt;br /&gt;
&lt;br /&gt;
{{hc|nmgui|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
nm-applet    2&amp;gt;&amp;amp;1 &amp;gt; /dev/null &amp;amp;&lt;br /&gt;
stalonetray  2&amp;gt;&amp;amp;1 &amp;gt; /dev/null&lt;br /&gt;
killall nm-applet&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[stalonetray]] のウィンドウを閉じると {{ic|nm-applet}} も終了するため、ネットワーク設定で無駄なメモリを消費することがありません。&lt;br /&gt;
&lt;br /&gt;
==== Xfce ====&lt;br /&gt;
[[Xfce]] でも {{Pkg|network-manager-applet}} は動作しますが、エラーメッセージなど通知を表示するには {{ic|nm-applet}} に加えて FreeDesktop.org の仕様に準拠した[[デスクトップ通知]]デーモンが必要です。xfce のパネル設定では &amp;quot;Notification Area&amp;quot; という名前のアプリになります。通知を有効にするには {{Pkg|xfce4-notifyd}} をインストールしてください。新しい無線ネットワークに接続したときにパスワードの入力プロンプトを表示させるには {{Pkg|gnome-keyring}} などの org.freedesktop.secrets サービスが必要です。&lt;br /&gt;
&lt;br /&gt;
通知デーモンがないと、{{ic|nm-applet}} アプレットは以下のエラーを標準出力に表示します:&lt;br /&gt;
&lt;br /&gt;
 (nm-applet:24209): libnotify-WARNING **: Failed to connect to proxy&lt;br /&gt;
 ** (nm-applet:24209): WARNING **: get_all_cb: couldn&#039;t retrieve&lt;br /&gt;
 system settings properties: (25) Launch helper exited with unknown&lt;br /&gt;
 return code 1.&lt;br /&gt;
 ** (nm-applet:24209): WARNING **: fetch_connections_done: error&lt;br /&gt;
 fetching connections: (25) Launch helper exited with unknown return&lt;br /&gt;
 code 1.&lt;br /&gt;
 ** (nm-applet:24209): WARNING **: Failed to register as an agent:&lt;br /&gt;
 (25) Launch helper exited with unknown return code 1&lt;br /&gt;
&lt;br /&gt;
{{ic|nm-applet}} は問題なく動作しますが、通知は表示されません。&lt;br /&gt;
&lt;br /&gt;
アプレットが表示されない場合は {{AUR|xfce4-indicator-plugin}} パッケージをインストールしてください [https://askubuntu.com/questions/449658/networkmanager-tray-nm-applet-is-gone-after-upgrade-to-14-04-trusty]。&lt;br /&gt;
&lt;br /&gt;
==== Openbox ====&lt;br /&gt;
&lt;br /&gt;
Openbox で正しく動作させるには、XFCE と同じ理由で GNOME アプレットに {{Pkg|xfce4-notifyd}} 通知デーモンが必要です。また、システムトレイにアプレットを表示するには {{Pkg|gnome-icon-theme}} パッケージが必要です。&lt;br /&gt;
&lt;br /&gt;
認証情報 (Wireless/DSL) を保存するには [[GNOME Keyring]] をインストール・設定してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|nm-applet}} は autostart ファイルを {{ic|/etc/xdg/autostart/nm-applet.desktop}} にインストールします。これに問題が発生する場合 (例: {{ic|nm-applet}} が二度起動する、全く起動しない)、[[Openbox#autostart]] や [https://bbs.archlinux.org/viewtopic.php?pid=993738] を見て解決してください。&lt;br /&gt;
&lt;br /&gt;
=== コマンドライン ===&lt;br /&gt;
&lt;br /&gt;
==== nmcli ====&lt;br /&gt;
&lt;br /&gt;
{{Pkg|networkmanager}} パッケージにはバージョン 0.8.1 から [http://manpages.ubuntu.com/manpages/maverick/man1/nmcli.1.html nmcli] が含まれています。&lt;br /&gt;
&lt;br /&gt;
例:&lt;br /&gt;
&lt;br /&gt;
* wifi ネットワークに接続するには: {{bc|nmcli dev wifi connect &amp;lt;name&amp;gt; password &amp;lt;password&amp;gt;}}&lt;br /&gt;
* {{ic|wlan1}} の wifi インターフェイスの wifi に接続するには: {{bc|nmcli dev wifi connect &amp;lt;name&amp;gt; password &amp;lt;password&amp;gt; iface wlan1 [profile name]}}&lt;br /&gt;
* インターフェイスを切断するには: {{bc|nmcli dev disconnect iface eth0}}&lt;br /&gt;
* 切断されたインターフェイスに再接続するには: {{bc|nmcli con up uuid &amp;lt;uuid&amp;gt;}}&lt;br /&gt;
* UUID のリストを表示するには: {{bc|nmcli con show}}&lt;br /&gt;
* ネットワークデバイスのリストと状態を表示するには: {{bc|nmcli dev}}&lt;br /&gt;
* wifi をオフにするには: {{bc|nmcli r wifi off}}&lt;br /&gt;
&lt;br /&gt;
==== nmtui ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;nmtui&#039;&#039; は &#039;&#039;networkmanager&#039;&#039; のグラフィックフロントエンドで curses を使っています。X のない環境でネットワークを設定・管理するのに便利です。{{Pkg|networkmanager}} パッケージにはバージョン 0.9.10 から &#039;&#039;nmtui&#039;&#039; が含まれています。&lt;br /&gt;
&lt;br /&gt;
==== nmcli-dmenu ====&lt;br /&gt;
&lt;br /&gt;
もしくは {{ic|nm-applet}} の代わりに &#039;&#039;dmenu&#039;&#039; を使って NetworkManager の接続を管理する小さなスクリプト {{AUR|networkmanager-dmenu-git}} も存在します。既存の NetworkManager の有線・無線接続に接続したり、新しい無線接続に接続したり、必要であればパスフレーズをリクエストする、既存の VPN 接続に接続する、ネットワークを無効化・有効化する、&#039;&#039;nm-connection-editor&#039;&#039; GUI を起動するなどの機能が備わっています。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
NetworkManager には正しく機能させるために必要なことがあります。&lt;br /&gt;
&lt;br /&gt;
次に進む前に {{ic|/etc/hosts}} が正しいことを確認してください。この手順を行う前に接続を試すと、NetworkManager が設定を変えてしまうことがあります。[[ネットワーク設定 #ホストネームの設定]] にあるように設定ができていることを確認してください。{{ic|/etc/hosts}} の例:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/hosts|&lt;br /&gt;
127.0.0.1 localhost&lt;br /&gt;
::1       localhost&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
nss-myhostname を使っていない場合:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/hosts|&lt;br /&gt;
127.0.0.1 my-laptop localhost&lt;br /&gt;
::1       my-laptop localhost&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager を有効にする ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager は {{ic|NetworkManager.service}} を使って[[systemd#ユニットを使う|操作]]します。NetworkManager デーモンが起動すると、自動的に設定済みの有効な &amp;quot;システム接続&amp;quot; に接続します。&amp;quot;ユーザー接続&amp;quot;や設定していない接続には {{ic|nmcli}} やアプレットを使って設定・接続する必要があります。&lt;br /&gt;
&lt;br /&gt;
NetworkManager のグローバルな設定ファイルは {{ic|/etc/NetworkManager/NetworkManager.conf}} にあります。他の設定ファイルは {{ic|/etc/NetworkManager/conf.d/}} 以下に置くことが出来ます。通常、グローバルなデフォルト設定ファイルに設定を加える必要はありません。&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager Wait Online を有効にする ===&lt;br /&gt;
ネットワークが立ち上がる前にサービスが起動して失敗する場合、NetworkManager サービスにプラスして {{ic|NetworkManager-wait-online.service}} を使って下さい。ただし、ネットワークが設定されていないときでも殆どのネットワークデーモンは正しく立ち上がるので、これが必要になるのは稀です。&lt;br /&gt;
&lt;br /&gt;
それでもサービスが正しく起動できない場合 {{ic|/usr/lib/systemd/system/NetworkManager-wait-online.service}} のタイムアウト設定が短すぎることが原因です。デフォルトのタイムアウトである 30 から高い値に修正してください。&lt;br /&gt;
&lt;br /&gt;
=== PolicyKit パーミッションの設定 ===&lt;br /&gt;
&lt;br /&gt;
ワーキングセッションの設定については[[一般的なトラブルシューティング#セッションのパーミッション]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
ワーキングセッションで、NetworkManager に必要な特権を与える方法は複数存在します:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;方法 1.&#039;&#039; ログイン時に {{ic|/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1}} ({{Pkg|polkit-gnome}} に含まれています) などの [[PolicyKit]] 認証エージェントを実行する。ネットワーク接続を追加・削除したときにパスワードを求められるようになります。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;方法 2.&#039;&#039; ユーザーを {{ic|wheel}} グループに追加する。パスワードを入力する必要はなくなりますが、root パスワードを入力せずに [[sudo]] を使えるなど、他の権限もユーザーアカウントに与えてしまうことになります。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;方法 3.&#039;&#039; ユーザーを {{ic|network}} グループに追加して以下のファイルを作成する:&lt;br /&gt;
{{hc|/etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
polkit.addRule(function(action, subject) {&lt;br /&gt;
  if (action.id.indexOf(&amp;quot;org.freedesktop.NetworkManager.&amp;quot;) == 0 &amp;amp;&amp;amp; subject.isInGroup(&amp;quot;network&amp;quot;)) {&lt;br /&gt;
    return polkit.Result.YES;&lt;br /&gt;
  }&lt;br /&gt;
});&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{ic|network}} グループの全てのユーザーはパスワードなしでネットワークを追加・削除できるようになります。[[ディスプレイマネージャ#systemd-logind を使う|systemd-logind]] でアクティブセッションを作っていない場合、この方法は systemd では動きません。&lt;br /&gt;
&lt;br /&gt;
=== ネットワークサービスと NetworkManager dispatcher===&lt;br /&gt;
&lt;br /&gt;
NetworkManager がインターフェースを立ち上げるまで動かしたくないネットワークサービスというのが相当数存在します。[[Network Time Protocol daemon|NTPd]] や様々なタイプのネットワークファイルシステムマウント (例: &#039;&#039;&#039;netfs&#039;&#039;&#039;) が好例です。NetworkManager には、あなたがネットワークに接続したときにこれらのサービスを起動して、切断したときにサービスを停止する機能があります。この機能を有効にするには {{ic|NetworkManager-dispatcher.service}} を[[systemd#ユニットを使う|起動]]してください。&lt;br /&gt;
&lt;br /&gt;
機能を有効にすれば、スクリプトを {{ic|/etc/NetworkManager/dispatcher.d}} ディレクトリに追加することができます。スクリプトは実行可能でユーザーのパーミッションがなければなりません。セキュリティ上、スクリプトの所有者を &#039;&#039;&#039;root:root&#039;&#039;&#039; にして書き込み権限を所有者だけに与えるとよいでしょう。&lt;br /&gt;
&lt;br /&gt;
接続時にアルファベット順でスクリプトは実行され、切断時にはアルファベットの逆順で実行されます。スクリプトには2つの引数が渡されます: インターフェースの名前 (例: &#039;&#039;eth0&#039;&#039;) と状態 (インターフェイスは &#039;&#039;up&#039;&#039; か &#039;&#039;down&#039;&#039;、vpn 接続は &#039;&#039;vpn-up&#039;&#039; か &#039;&#039;vpn-down&#039;&#039;) です。起動する順番を正確に決めるために、しばしばスクリプトの名前の前に数字が使われます (例: {{ic|10_portmap}} や {{ic|30_netfs}} (これでポートマップが NFS マウントよりも先に実行されます)。&lt;br /&gt;
&lt;br /&gt;
{{Warning|パブリックネットワークに接続する場合、起動するサービスや接続するサーバーに注意してください。パブリックネットワークに接続している際に間違ったサービスを起動するとセキュリティホールとなる可能性があります。}}&lt;br /&gt;
&lt;br /&gt;
==== 3秒タイムアウトを止める ====&lt;br /&gt;
&lt;br /&gt;
上の設定で動作するなら、このセクションは関係ありません。ただし、実行するのに3秒以上かかる dispatcher スクリプトを動かす場合は共通の問題があります。NetworkManager は内部的に3秒タイムアウトを使っており (詳しくは[https://bugzilla.redhat.com/show_bug.cgi?id=982734 バグトラッカー]を参照) 3秒以上時間がかかっているスクリプトを自動的に殺します。この場合、{{ic|/usr/lib/systemd/system/NetworkManager-dispatcher.service}} にある dispatcher サービスファイルを有効にしつづけるように修正が必要です。以下の内容でサービスファイル {{ic|/etc/systemd/system/NetworkManager-dispatcher.service}} を作成してください:&lt;br /&gt;
&lt;br /&gt;
 .include /usr/lib/systemd/system/NetworkManager-dispatcher.service&lt;br /&gt;
 [Service]&lt;br /&gt;
 RemainAfterExit=yes&lt;br /&gt;
&lt;br /&gt;
作成したら修正を加えた {{ic|NetworkManager-dispatcher}} スクリプトを有効にしてください。&lt;br /&gt;
&lt;br /&gt;
==== OpenNTPD を起動 ====&lt;br /&gt;
&lt;br /&gt;
{{AUR|networkmanager-dispatcher-openntpd}} パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
==== リモートフォルダを sshfs でマウント ====&lt;br /&gt;
&lt;br /&gt;
スクリプトは制限的な環境で実行されるので、SSH エージェントに接続するには {{ic|SSH_AUTH_SOCK}} を export する必要があります。複数の方法が存在します、詳しくは [https://bbs.archlinux.org/viewtopic.php?pid=1042030#p1042030 このメッセージ] を見て下さい。以下の例は [[GNOME Keyring]] と一緒に動作し、ロックが解除されていない場合にパスワードを尋ねます。NetworkManager がログイン時に自動的に接続する場合は、&#039;&#039;gnome-keyring&#039;&#039; は起動せず export は失敗します。{{ic|UUID}} は {{ic|nmcli con status}} や {{ic|nmcli con list}} コマンドで確認できます。&lt;br /&gt;
&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
USER=&#039;username&#039;&lt;br /&gt;
REMOTE=&#039;user@host:/remote/path&#039;&lt;br /&gt;
LOCAL=&#039;/local/path&#039;&lt;br /&gt;
&lt;br /&gt;
interface=$1 status=$2&lt;br /&gt;
if [ &amp;quot;$CONNECTION_UUID&amp;quot; = &amp;quot;&amp;lt;/nowiki&amp;gt;&#039;&#039;uuid&#039;&#039;&amp;lt;nowiki&amp;gt;&amp;quot; ]; then&lt;br /&gt;
  case $status in&lt;br /&gt;
    up)&lt;br /&gt;
      export SSH_AUTH_SOCK=$(find /tmp -maxdepth 1 -type s -user &amp;quot;$USER&amp;quot; -name &#039;ssh&#039;)&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;sshfs $REMOTE $LOCAL&amp;quot;&lt;br /&gt;
      ;;&lt;br /&gt;
    down)&lt;br /&gt;
      fusermount -u &amp;quot;$LOCAL&amp;quot;&lt;br /&gt;
      ;;&lt;br /&gt;
  esac&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
==== dispatcher を使って LAN ケーブルが接続されているかどうかに応じて自動的に Wi-Fi を切り替える ====&lt;br /&gt;
&lt;br /&gt;
LAN ケーブルが接続されていない場合にのみ Wi-Fi をオンにして、LAN ケーブルが接続されたら (ノートパソコンがドックに接続された場合など) Wi-Fi を自動的に無効化することができます。&lt;br /&gt;
&lt;br /&gt;
以下の dispatcher スクリプトを作成してください ([https://superuser.com/questions/233448/disable-wlan-if-wired-cable-network-is-available ソース])、{{ic|1=LAN_interface}} は適当なインターフェイスに置き換えてください:&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/wlan_auto_toggle.sh|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &amp;quot;LAN_interface&amp;quot; ]; then&lt;br /&gt;
    case &amp;quot;$2&amp;quot; in&lt;br /&gt;
        up)&lt;br /&gt;
            nmcli radio wifi off&lt;br /&gt;
            ;;&lt;br /&gt;
        down)&lt;br /&gt;
            nmcli radio wifi on&lt;br /&gt;
            ;;&lt;br /&gt;
    esac&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Note|インターフェイスは [[#nmcli|nmcli]] で確認できます。有線 (LAN) インターフェイスは先頭が {{ic|en}} となります。例: {{ic|1=enp0s5}}。}}&lt;br /&gt;
&lt;br /&gt;
==== dispatcher を使ってネットワーク接続が確立された後に VPN に接続する ====&lt;br /&gt;
&lt;br /&gt;
この例では特定の WiFi ネットワークの接続後に予め定義した VPN に自動的に接続します。最初にネットワークに接続した後にすることを定義した dispatcher スクリプトを作成する必要があります。&lt;br /&gt;
&lt;br /&gt;
:1. dispatcher スクリプトを作成:&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/vpn-up|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
VPN_NAME=&amp;quot;name of VPN connection defined in NetworkManager&amp;quot;&lt;br /&gt;
ESSID=&amp;quot;Wi-Fi network ESSID (not connection name)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
interface=$1 status=$2&lt;br /&gt;
case $status in&lt;br /&gt;
  up|vpn-down)&lt;br /&gt;
    if iwgetid | grep -qs &amp;quot;:\&amp;quot;$ESSID\&amp;quot;&amp;quot;; then&lt;br /&gt;
      nmcli con up id &amp;quot;$VPN_NAME&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    ;;&lt;br /&gt;
  down)&lt;br /&gt;
    if iwgetid | grep -qs &amp;quot;:\&amp;quot;$ESSID\&amp;quot;&amp;quot;; then&lt;br /&gt;
      if nmcli con show --active | grep &amp;quot;$VPN_NAME&amp;quot;; then&lt;br /&gt;
        nmcli con down id &amp;quot;$VPN_NAME&amp;quot;&lt;br /&gt;
      fi&lt;br /&gt;
    fi&lt;br /&gt;
    ;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
全ての Wi-Fi ネットワークで VPN の接続を自動的にして欲しい場合は、ESSID は次のように定義します: {{ic|1=ESSID=$(iwgetid -r)}}。[[#ネットワークサービスと NetworkManager dispatcher|上述]]のようにスクリプトのパーミッションを忘れずに設定してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|nm-applet}} の &#039;&#039;Make the VPN connection available to all users&#039;&#039; オプションを有効にしている場合、接続が失敗して NetworkManager が &#039;no valid VPN secrets&#039; と表示することがあります ([https://developer.gnome.org/NetworkManager/0.9/secrets-flags.html VPN の接続情報の保存方法] が問題です)。その場合、以下を試してみてください:&lt;br /&gt;
&lt;br /&gt;
:2. VPN の接続ファイルを編集して NetworkManager が接続情報をキーリングではなく自分で保存するようにしてください [https://bugzilla.redhat.com/show_bug.cgi?id=710552]: {{ic|/etc/NetworkManager/system-connections/&#039;&#039;name of your VPN connection&#039;&#039;}} を開いて {{ic|password-flags}} と {{ic|secret-flags}} を {{ic|1}} から {{ic|0}} に変更します。&lt;br /&gt;
&lt;br /&gt;
もしくは設定ファイルに {{ic|vpn-secrets}} セクションを追加して直接パスワードを記述します:&lt;br /&gt;
  [vpn]&lt;br /&gt;
  ....&lt;br /&gt;
  password-flags=0&lt;br /&gt;
  &lt;br /&gt;
  [vpn-secrets]&lt;br /&gt;
  password=your_password&lt;br /&gt;
&lt;br /&gt;
{{Note|NetworkManager 接続エディタを開き、VPN パスワード/シークレットを再度保存する必要があります。}}&lt;br /&gt;
&lt;br /&gt;
==== dispatcher を使って CIFS 共有のマウントを処理 ====&lt;br /&gt;
&lt;br /&gt;
CIFS 共有の中には特定のネットワークや場所 (例: 家の中) を使っているときだけ使えるものがあります。ディスパッチャを使うことで現在の場所に応じて CIFS 共有をマウントすることができます。&lt;br /&gt;
&lt;br /&gt;
以下のスクリプトは特定のネットワークに接続されているかどうか確認してから共有をマウントします:&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/mount_cifs|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; = &amp;quot;up&amp;quot; ]; then&lt;br /&gt;
  if [ &amp;quot;$CONNECTION_UUID&amp;quot; = &amp;quot;uuid&amp;quot; ]; then&lt;br /&gt;
    mount /your/mount/point &amp;amp; &lt;br /&gt;
    # add more shares as needed&lt;br /&gt;
  fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Note|[[#nmcli|nmcli]] を使うことで uuid のリストを取得できます。}}&lt;br /&gt;
&lt;br /&gt;
以下のスクリプトは特定のネットワークから切断する前に全ての CIFS をアンマウントします:&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/pre-down.d/mount_cifs|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
umount -a -l -t cifs&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Note|&lt;br /&gt;
* 上記のスクリプトは {{ic|pre-down.d}} サブディレクトリに保存しないと、接続状態が変わったときに全ての共有がアンマウントされてしまいます。&lt;br /&gt;
* NetworkManager 0.9.8 から、&#039;pre-down&#039; や &#039;down&#039; はシャットダウンや再起動時に実行されなくなりました。したがって上記のスクリプトはネットワークから手動で切断したときにのみ機能します。詳しくは [https://bugzilla.gnome.org/show_bug.cgi?id&amp;amp;#61;701242 このバグレポート] を参照。}}&lt;br /&gt;
&lt;br /&gt;
忘れずに[[#ネットワークサービスと NetworkManager dispatcher|上述]]のようにスクリプトにパーミッションを設定してください。&lt;br /&gt;
&lt;br /&gt;
dispatcher の中で {{ic|/etc/fstab}} のマウントを解析する他のスクリプト例は [[NFS#NetworkManager dispatcher]] にあります。&lt;br /&gt;
&lt;br /&gt;
=== プロクシ設定 ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager は直接プロクシ設定を扱いませんが、GNOME や KDE を使っている場合、NetworkManager の情報を使ってプロクシ設定を管理する [http://marin.jb.free.fr/proxydriver/ proxydriver] を使うことができます。[[Arch User Repository|AUR]] の {{AUR|proxydriver}} パッケージを探して下さい。&lt;br /&gt;
&lt;br /&gt;
proxydriver でプロクシ設定を変更できるようにするには、GNOME スタートアッププロセスの一部として、次のコマンドを実行する必要があります (System -&amp;gt; Preferences -&amp;gt; Startup Applications):&lt;br /&gt;
&lt;br /&gt;
 xhost +si:localuser:&#039;&#039;your_username&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
参照: [[プロキシ設定]]&lt;br /&gt;
&lt;br /&gt;
=== DHCP client ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager はデフォルトでは DHCP クライアントは内部のものを使います。DHCPv4 プラグインは [https://nettools.github.io/n-dhcp4/ nettools&#039; n-dhcp4] ライブラリが基になっていて、DHCPv6 プラグインは {{ic|systemd-networkd}} のコードが基となっています。&lt;br /&gt;
&lt;br /&gt;
NetworkManager は他の DHCP クライアントを使うことができ、そのためには次の好きな方をインストールしてください:&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|dhclient}} - ISCの DHCP クライアント。&lt;br /&gt;
* {{Pkg|dhcpcd}} - [[dhcpcd]]。 &lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* NetworkManager は、 dhcpcd を IPv6 のために使うことを、サポートしていません (詳しくは [https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/5 NetworkManager issue #5] )。DHCP クライアントとして dhcpcd を設定している場合には、 DHCPv6 内部のクライアントを使います。&lt;br /&gt;
* NetworkManager は{{Pkg|dhcpcd}} のバージョン 9.0.0 以上をサポートしなくなりました。詳細は {{Bug|66231}} を見てください。&lt;br /&gt;
* {{Pkg|dhclient}} や {{Pkg|dhclient}} が提供する systemd ユニットを有効にしないでください。NetworkManager と干渉します。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
DHCP クライアントのバックエンドを変えたい場合は、{{ic|/etc/NetworkManager/conf.d/}} にある設定ファイルで {{ic|1=main.dhcp=&#039;&#039;dhcp_client_name&#039;&#039;}} を設定してください。例: &lt;br /&gt;
&lt;br /&gt;
{{hc|1=/etc/NetworkManager/conf.d/dhcp-client.conf|2=&lt;br /&gt;
[main]&lt;br /&gt;
dhcp=dhclient&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== dnsmasq ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|dnsmasq}} がインストールされていることを確認します。次に、{{ic|/etc/NetworkManager/conf.d/}} の設定ファイルを使用して {{ic|1=main.dns=dnsmasq}} を設定します。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/conf.d/dns.conf|2=&lt;br /&gt;
[main]&lt;br /&gt;
dns=dnsmasq&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
次に、root として {{ic|nmcli general reload}} を実行します。 NetworkManager は自動的に dnsmasq を起動し、 {{ic|/etc/resolv.conf}} に {{ic|127.0.0.1}} を追加します。元の DNS サーバは {{ic|/run/NetworkManager/no-stub-resolv.conf}} にあります。 dnsmasq が使用されていることを確認するには、 {{ic|drill example.com}} を使用して同じ DNS ルックアップを2回実行し、サーバーとクエリの時間を確認します。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* {{ic|dnsmasq.service}} を起動したり、 {{ic|/etc/dnsmasq.conf}} を編集したりする必要はありません。 NetworkManager は、 systemd サービスを使用せず、dnsmasq のデフォルト設定ファイルを読み込まずに dnsmasq を起動します。&lt;br /&gt;
* NetworkManager によって起動された dnsmasq インスタンスは {{ic|127.0.0.1:53}} にバインドされます。同じアドレスとポートで他のソフトウェア ({{ic|dnsmasq.service}} を含む) を実行することはできません。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== systemd-resolved ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager は、 [[systemd-resolved]] を DNS リゾルバおよびキャッシュとして使用できます。使用する前に、 &#039;&#039;systemd-resolved&#039;&#039; が正しく設定され、{{ic|systemd-resolved.service}} が [https://wiki.archlinux.jp/index.php/Systemd#.E3.83.A6.E3.83.8B.E3.83.83.E3.83.88.E3.82.92.E4.BD.BF.E3.81.86 スタート] してることを確認してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/resolv.conf}} が [https://wiki.archlinux.jp/index.php/Systemd-resolved#DNS symlink] から {{ic|/run/systemd/resolve/stub-resolv.conf}}、 {{ic|/run/systemd/resolve/resolv.conf}}、 または {{ic|/usr/lib/systemd/resolv.conf}} に設定されている場合は、自動的に systemd-resolved が使用されます。&lt;br /&gt;
&lt;br /&gt;
{{ic|1=main.dns=systemd-resolved}} を {{ic|/etc/NetworkManager/conf.d/}} 設定すると、明示的に有効にできます。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/conf.d/dns.conf|2=&lt;br /&gt;
[main]&lt;br /&gt;
dns=systemd-resolved&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager の無効化 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;dbus&#039;&#039; によってサービスが自動的に起動してしまうこともあります。&#039;&#039;systemctl&#039;&#039; でサービスをマスクすることで完全に無効化できます:&lt;br /&gt;
 # systemctl mask NetworkManager&lt;br /&gt;
 # systemctl mask NetworkManager-dispatcher&lt;br /&gt;
&lt;br /&gt;
=== /etc/resolv.conf ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager の {{ic|/etc/resolv.conf}} 管理モードは、 {{ic|main.rc-manager}} 設定で設定されています。デフォルトの {{ic|auto}} モードでは、 {{ic|/etc/resolv.conf}} の管理方法が次の順序で選択されます。&lt;br /&gt;
&lt;br /&gt;
* {{ic|/etc/resolv.conf}} が [https://wiki.archlinux.jp/index.php/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%83%91%E3%83%BC%E3%83%9F%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A8%E5%B1%9E%E6%80%A7#.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AE.E5.B1.9E.E6.80.A7 不変] の場合、ファイルは [https://wiki.archlinux.jp/index.php?title=NetworkManager&amp;amp;action=submit#.E7.AE.A1.E7.90.86.E5.AF.BE.E8.B1.A1.E5.A4.96.E3.81.AE_.2Fetc.2Fresolv.conf はまったく変更されません。] です。これは {{ic|1=main.rc-manager=unmanaged}} と同じです。&lt;br /&gt;
* {{ic|/etc/resolv.conf}} が {{ic|/run/systemd/resolve/stub-resolv.conf}}、 {{ic|/run/systemd/resolv.conf}}、または {{ic|/usr/lib/systemd/resolv.conf}} へのシンボリックリンクの場合、[[#systemd-resolved|systemd-resolved が使用されています]] これは {{ic|1=main.rc-manager=systemd-resolved}} と同じです。&lt;br /&gt;
* {{ic|/usr/bin/resolvconf}} が存在する場合は、[https://wiki.archlinux.jp/index.php?title=NetworkManager&amp;amp;action=submit#openresolv_.E3.82.92.E4.BD.BF.E7.94.A8 resolvconfを使用] これは {{ic|1=main.rc-manager=resolvconf}} と同じです。&lt;br /&gt;
* {{ic|/etc/resolv.conf}} が通常のファイルの場合、 NetworkManager はそのファイルに直接書き込みます。これは {{ic|1=main.rc-manager=file}} と同じです。&lt;br /&gt;
&lt;br /&gt;
詳細は、 {{man|5|NetworkManager.conf}} のマニュアルページを参照してください。&lt;br /&gt;
&lt;br /&gt;
{{Tip|openresolv を使用すると、 NetworkManager を他の &#039;&#039;resolvconf&#039;&#039; の場合サポートソフトウェアと共存させることができます。たとえば、 openresolv が [[openresolv#Subscribers|subscriber]] を持つローカル DNS キャッシングおよびスプリット DNS リゾルバを実行できます。 openresolv で NetworkManager を使用している場合、条件付き転送は[https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/153 まだ完全にはサポートされていません]}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NetworkManager&#039;&#039; は、いわゆる dispatcher スクリプト経由のフックも提供しています。これは、ネットワークの変更後に {{ic|/etc/resolv.conf}} を変更するために使用できます。詳細は、 [https://wiki.archlinux.jp/index.php/NetworkManager#.E3.83.8D.E3.83.83.E3.83.88.E3.83.AF.E3.83.BC.E3.82.AF.E3.82.B5.E3.83.BC.E3.83.93.E3.82.B9.E3.81.A8_NetworkManager_dispatcher NetworkManager dispatcher] および {{man|8|NetworkManager}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* NetworkManager が [[#dnsmasq|dnsmasq]] または [[#systemd-resolved|systemd-resolved]] のいずれかを使用するように設定されている場合、適切なループバックアドレスが {{ic|/etc/resolv.conf}} に書き込まれます。&lt;br /&gt;
* NetworkManager が {{ic|resolv.conf}} に書き込む、または書き込む {{ic|/etc/resolv.conf}} ファイルは、 {{ic|/run/NetworkManager/resolv.conf}} にあります。&lt;br /&gt;
* 取得したネームサーバと検索ドメインを含む {{ic|resolv.conf}} ファイルは {{ic|/run/NetworkManager/no-stub-resolv.conf}} にあります。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===== 管理対象外の /etc/resolv.conf =====&lt;br /&gt;
&lt;br /&gt;
NetworkManager が {{ic|/etc/resolv.conf}} に干渉しないようにするには、{{ic|/etc/NetworkManager/conf.d/}} の設定ファイルで {{ic|1=main.dns=none}} を設定します。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/conf.d/dns.conf|2=&lt;br /&gt;
[main]&lt;br /&gt;
dns=none&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|NetworkManager が DNS 設定を [[systemd-resolved]] に送信しないように、{{ic|1=main.systemd-resolved=false}} を設定することもできます。}}&lt;br /&gt;
&lt;br /&gt;
{{Note|[[#DNS キャッシングと条件付きフォワーディング]] を参照して、NetworkManager を {{ic|1=main.dns=none}} ではなく、 [https://wiki.archlinux.jp/index.php/Dnsmasq dnsmasq] や [[systemd-resolved]] などの他の DNS バックエンドを使用して設定してください。}}&lt;br /&gt;
&lt;br /&gt;
その後、 {{ic|/etc/resolv.conf}} は壊れたシンボリックリンクになるかもしれませんので、削除する必要があります。次に、新しい {{ic|/etc/resolv.conf}} ファイルを作成します。&lt;br /&gt;
&lt;br /&gt;
===== openresolv を使用 =====&lt;br /&gt;
&lt;br /&gt;
{{Tip|NetworkManager は、{{ic|/etc/resolv.conf}} が不変であるか、システムの {{ic|resolv.conf}} ファイルの一つへのシンボリックリンクでない限り、自動的に &#039;&#039;resolvconf&#039;&#039; を使います。}}&lt;br /&gt;
&lt;br /&gt;
{{Note|NetworkManager は、 {{Pkg|systemd-resolvconf}} によって提供される system-resolved の &#039;&#039;resolvconf&#039;&#039; インターフェイス [https://man.archlinux.org/man/resolvectl.1#COMPATIBILITY_WITH_RESOLVCONF(8) resolvectl COMPATIBILITY WITH RESOLVCONF(8)] の使用をサポートしていません。&lt;br /&gt;
* [[systemd-resolved]] を使用する場合は、 {{ic|1=main.rc-manager=resolvconf}} を設定せず、 [https://wiki.archlinux.jp/index.php/Systemd-resolved#DNS /etc/resolv.conf へのシンボリックリンクを正しく作成します。] または [https://wiki.archlinux.org/index.php/NetworkManager#systemd-resolved NetworkManager を構成して、明示的に systemed-resolved を使用する] 設定してください。&lt;br /&gt;
* systemd-resolvconf を使用しない場合は、 {{Pkg|systemd-resolvconf}} パッケージがインストールされていないことを確認してください。 {{ic|systemd-resolved.service}} を起動しないと、 resolvconf を使用するすべてのネットワークソフトウェア (NetworkManager だけでなく) が動作しなくなります。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[openresolv]] を使用するように NetworkManager を明示的に設定するには、 {{ic|1=main.rc-manager=resolvconf}} を {{ic|/etc/NetworkManager/conf.d/}} の設定ファイルで設定します。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/conf.d/rc-manager.conf|2=&lt;br /&gt;
[main]&lt;br /&gt;
rc-manager=resolvconf&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== テスト ==&lt;br /&gt;
&lt;br /&gt;
ログイン時に NetworkManager アプレットがロードされるようになっているので、ほとんどの場合さらに設定をする必要はありません。既に前のネットワーク設定を無効にしてネットワークから切断している場合、NetworkManager が動作するかどうかテストすることができます。まず {{ic|NetworkManager.service}} を[[デーモン|起動]]してください。&lt;br /&gt;
&lt;br /&gt;
アプレットは {{ic|.desktop}} ファイルを提供するので、NetworkManager アプレットはアプリケーションメニューからロードすることができます。アプレットがない場合、コマンドを探すか、一度ログアウトしてからログインしなおしてアプレットを起動してください。アプレットが起動すれば、DHCP サーバーの自動設定によってネットワーク接続のポーリングを開始します。&lt;br /&gt;
&lt;br /&gt;
[[Awesome]] などの xdg 非互換のウィンドウマネージャで GNOME アプレットを起動するには:&lt;br /&gt;
&lt;br /&gt;
 nm-applet --sm-disable &amp;amp;&lt;br /&gt;
&lt;br /&gt;
固定 IP を使うには NetworkManager を設定する必要があります。アプレットを右クリックして &#039;Edit Connections&#039; などを選択してください。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
一般的な問題に対する修正。&lt;br /&gt;
&lt;br /&gt;
=== PPTP トンネルを使って通信できない ===&lt;br /&gt;
&lt;br /&gt;
PPTP 接続のログインが成功すると、適切な VPN IP の ppp0 インターフェースが表示されますが、リモートの IP に ping できません。これは標準の Arch の pppd に MPPE (Microsoft Point-to-Point Encryption) サポートがないのが原因です。まず標準の Arch の {{Pkg|ppp}} を使って予期通り動作するか試すことを推奨します。&lt;br /&gt;
&lt;br /&gt;
問題を解決するには [[Arch User Repository|AUR]] から {{AUR|ppp-mppe}}{{Broken package link|{{aur-mirror|ppp-mppe}}}} をインストールしてください。&lt;br /&gt;
&lt;br /&gt;
PEAP の MSCHAPv2 type-2 認証を使う WPA2-Enterprise ワイヤレスネットワークでは標準の ppp パッケージではなく ppp-mppe が必要になることがあります。[[netctl]] では ppp-mppe がなくても設定いらずで動きます。いずれにしても、MSCHAPv2 は攻撃されやすいため使用が推奨されていません。ただし他の方法にすることはできないのが普通です。この [https://www.cloudcracker.com/blog/2012/07/29/cracking-ms-chap-v2/ 記事] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== Network management disabled ===&lt;br /&gt;
&lt;br /&gt;
時々 NetworkManager を終了したときに pid (state) ファイルが削除されずに &#039;Network management disabled&#039; というメッセージが表示されることがあります。これが発生した場合は、手動でファイルを削除する必要があります:&lt;br /&gt;
&lt;br /&gt;
 # rm /var/lib/NetworkManager/NetworkManager.state&lt;br /&gt;
&lt;br /&gt;
=== dhclient と DHCP に関する問題 ===&lt;br /&gt;
&lt;br /&gt;
DHCP を使って IP を取得するときに問題が起こるときは、以下を {{ic|/etc/dhclient.conf}} に追加してみてください:&lt;br /&gt;
  interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
    send dhcp-client-identifier 01:aa:bb:cc:dd:ee:ff;&lt;br /&gt;
  }&lt;br /&gt;
{{ic|aa:bb:cc:dd:ee:ff}} は NIC の MAC アドレスに置き換えてください。MAC アドレスは {{Pkg|iproute2}} パッケージの {{ic|ip link show &#039;&#039;interface&#039;&#039;}} コマンドを使うことでわかります。&lt;br /&gt;
&lt;br /&gt;
=== dhcpcd と DHCP に関する問題 ===&lt;br /&gt;
&lt;br /&gt;
ルーターによっては、{{ic|/etc/dhcpcd.conf}} ({{ic|dhcpd.conf}} とは別のファイルです) 内の次の行をコメントアウトしないと正しく接続できないことがあります:&lt;br /&gt;
 require dhcp_server_identifier&lt;br /&gt;
ネットワーク上で複数の DHCP サーバーを使ってなければこの修正によって問題が起こることはありません。詳細は [https://technet.microsoft.com/en-us/library/cc977442.aspx このページ] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== ホストネームの問題 ===&lt;br /&gt;
&lt;br /&gt;
ホストネームが接続しているルーターに送信されるかどうかは、使用している NetworkManager プラグインによります。標準の &amp;quot;keyfile&amp;quot; プラグインはデフォルト設定ではホストネームを送信しません。ホストネームを送信するようにしたいときは、以下を {{ic|/etc/NetworkManager/NetworkManager.conf}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/NetworkManager.conf|2=&lt;br /&gt;
[keyfile]&lt;br /&gt;
hostname=&#039;&#039;your_hostname&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|[keyfile]}} 下のオプションはデフォルトの {{ic|/etc/NetworkManager/system-connections}} のパスのネットワーク接続に適用されます。&lt;br /&gt;
&lt;br /&gt;
また、(NetworkManager が自動的に起動する) DHCP クライアントを設定して送信させることもできます。NetworkManager はデフォルトで {{Pkg|dhclient}} を利用しますが、インストールされていない場合は、NetworkManager 内蔵の DHCP 機能にフォールバックします。&#039;&#039;dhclient&#039;&#039; でホストネームを送信するには設定を変更する必要があります。&#039;&#039;dhcpcd&#039;&#039; はデフォルトでホストネームを送信します。&lt;br /&gt;
&lt;br /&gt;
まず、どの DHCP クライアントが使われているのか確認 (以下の例では &#039;&#039;dhclient&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
{{hc|&amp;lt;nowiki&amp;gt;# journalctl -b | egrep &amp;quot;dhc&amp;quot;&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
...&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: Nov 17 21:03:20 zenbook dhclient[2949]: Bound to *:546&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: Listening on Socket/wlan0&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: Sending on   Socket/wlan0&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: XMT: Info-Request on wlan0, interval 1020ms.&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: RCV: Reply message on wlan0 from fe80::126f:3fff:fe0c:2dc.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== ホストネームを DHCP サーバーに送るように dhclient を設定する ====&lt;br /&gt;
&lt;br /&gt;
サンプル設定ファイルをコピー:&lt;br /&gt;
&lt;br /&gt;
 # cp /usr/share/dhclient/dhclient.conf.example /etc/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
ファイルの中身を見てください。重要なのは以下の行です:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dhclient.conf|2=send host-name = pick-first-value(gethostname(), &amp;quot;ISC-dhclient&amp;quot;);}}&lt;br /&gt;
&lt;br /&gt;
IP アドレスの更新を強制することで DHCP サーバーからホストネームを確認できるようになるはずです。&lt;br /&gt;
 &lt;br /&gt;
==== 特定の DHCP クライアントを使うように NetworkManager を設定する ====&lt;br /&gt;
&lt;br /&gt;
NetworkManager で使用する DHCP クライアントを明示的に設定したい場合、グローバルな設定ファイルで設定できます:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=/etc/NetworkManager/NetworkManager.conf|2=dhcp=internal}}&lt;br /&gt;
&lt;br /&gt;
上記のオプションが設定されていない場合、{{ic|1=dhcp=dhclient}} がデフォルトで使われます。&lt;br /&gt;
&lt;br /&gt;
それから {{ic|NetworkManager.service}} を[[systemd#ユニットを使う|再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|1={{Pkg|dhcpcd}} のサポートは {{Pkg|networkmanager}}-1.0.0-2 で [https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/networkmanager&amp;amp;id=a1df79cbcebaec0c043789eb31965e57d17b6cdb 無効] になっています  (2015-02-14)。}}&lt;br /&gt;
&lt;br /&gt;
=== デフォルトの route が見つからない ===&lt;br /&gt;
&lt;br /&gt;
KDE4 システムでは、NetworkManager でワイヤレス接続を確立したときにデフォルトの route が作られません。ワイヤレス接続の route 設定を変更してデフォルトの選択 &amp;quot;Use only for resources on this connection&amp;quot; を削除すれば問題は解決します。&lt;br /&gt;
&lt;br /&gt;
=== 3G モデムが検知されない ===&lt;br /&gt;
&lt;br /&gt;
[[USB 3G モデム#Network_Manager]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== ラップトップで WLAN をオフに切り替える ===&lt;br /&gt;
&lt;br /&gt;
ラップトップについているスイッチを使って WiFi アダプタを無効にしてその後また有効にした時に NetworkManager が動作しないことがしばしばあります。これはほとんど {{ic|rfkill}} の問題です。[[公式リポジトリ]]から {{Pkg|rfkill}}{{Broken package link|置換パッケージ: {{Pkg|util-linux}}}} をインストールして、ドライバが {{ic|rfkill}} に無線アダプタの状態を通知しているかどうか確かめるために次のコマンドを実行してください:&lt;br /&gt;
&lt;br /&gt;
 $ watch -n1 rfkill list all&lt;br /&gt;
&lt;br /&gt;
アダプタの切り替えを行った後に identifier がブロックされたままの場合、手動でブロックを解除することができます (X は上のコマンドで出力された identifier の番号に置き換えてください):&lt;br /&gt;
&lt;br /&gt;
 # rfkill event unblock X&lt;br /&gt;
&lt;br /&gt;
=== 固定 IP 設定が DHCP に戻る ===&lt;br /&gt;
&lt;br /&gt;
未解決のバグのため、デフォルトの接続を固定 IP にしたとき、{{ic|nm-applet}} は正しく設定を保存できず、自動 DHCP に戻ります。&lt;br /&gt;
&lt;br /&gt;
この問題を解決するにはデフォルトの接続 (例: &amp;quot;Auto eth0&amp;quot;) を {{ic|nm-applet}} で編集してから、接続の名前を変更し (例: &amp;quot;my eth0&amp;quot;)、&amp;quot;Available to all users&amp;quot; のチェックを外して、固定 IP の設定をして、それから &#039;&#039;&#039;Apply&#039;&#039;&#039; をクリックする必要があります。これで新しい接続が指定した名前で保存されます。&lt;br /&gt;
&lt;br /&gt;
さらに、デフォルト接続を自動で接続して欲しくない場合があるかもしれません。そうするには、{{ic|nm-connection-editor}} を (root 以外で) 起動してください。接続エディタで、デフォルト接続 (例: &amp;quot;Auto eth0&amp;quot;) を編集して &amp;quot;Connect automatically&amp;quot; のチェックを外して &#039;&#039;&#039;Apply&#039;&#039;&#039; をクリックして終了してください。&lt;br /&gt;
&lt;br /&gt;
=== ノーマルユーザーで接続を編集できない ===&lt;br /&gt;
&lt;br /&gt;
[[#PolicyKit パーミッションの設定]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== 隠れた無線ネットワークの削除 ===&lt;br /&gt;
&lt;br /&gt;
ステルスが有効になっているネットワークは無線のリストに表示されないので、GUI で削除することは出来ません。次のコマンドでネットワークを削除することが可能です:&lt;br /&gt;
&lt;br /&gt;
 # rm /etc/NetworkManager/system-connections/[SSID]&lt;br /&gt;
&lt;br /&gt;
他の接続でもこのコマンドは使えます。&lt;br /&gt;
&lt;br /&gt;
=== VPN が Gnome で動作しない ===&lt;br /&gt;
&lt;br /&gt;
Gnome で NetworkManager を使って openconnect や vpnc 接続を設定すると、ダイアログが表示されず以下のエラーが {{ic|/var/log/errors.log}} に現れることがあります:&lt;br /&gt;
&lt;br /&gt;
 localhost NetworkManager[399]: &amp;lt;error&amp;gt; [1361719690.10506] [nm-vpn-connection.c:1405] get_secrets_cb(): Failed to request VPN secrets #3: (6) No agents were available for this request.&lt;br /&gt;
&lt;br /&gt;
これは GNOME の NM アプレットが {{ic|/usr/lib/gnome-shell}} にダイアログスクリプトがあると想定しているのが原因です。NetworkManager のパッケージは {{ic|/usr/lib/networkmanager}} に配置します。&amp;quot;一時的な&amp;quot;修正として (このバグをしばらく回避できます)、以下のシンボリックリンクを作成してください:&lt;br /&gt;
&lt;br /&gt;
* OpenConnect の場合: {{ic|ln -s /usr/lib/networkmanager/nm-openconnect-auth-dialog /usr/lib/gnome-shell/}}&lt;br /&gt;
* VPNC (すなわち Cisco VPN) の場合: {{ic|ln -s /usr/lib/networkmanager/nm-vpnc-auth-dialog /usr/lib/gnome-shell/}}&lt;br /&gt;
&lt;br /&gt;
他の NM VPN プラグインでも同じように設定してください。&lt;br /&gt;
&lt;br /&gt;
=== Systemd のボトルネック ===&lt;br /&gt;
&lt;br /&gt;
時が立つにつれてログファイル ({{ic|/var/log/journal}}) が膨大になってしまうことがあります。そうすると NetworkManager を使う場合にブートパフォーマンスに大きな影響を与えます。参照: [[systemd#少しづつ起動時間が長くなっている]]。&lt;br /&gt;
&lt;br /&gt;
=== 定期的にネットワークが切断される (WiFi) ===&lt;br /&gt;
&lt;br /&gt;
WiFi ドライバーの中にはベースステーションのスキャン時に問題が発生するものがあります。VPN が切断されたりパケットが消失したり、ウェブページがロードされないなどの症状が起こります。&lt;br /&gt;
&lt;br /&gt;
{{ic|journalctl -f}} を実行すると、以下のようなメッセージが定期的にログに残っているならこの問題が関わっています:&lt;br /&gt;
&lt;br /&gt;
 NetworkManager[410]: &amp;lt;info&amp;gt;  (wlp3s0): roamed from BSSID 00:14:48:11:20:CF (my-wifi-name) to (none) ((none))&lt;br /&gt;
&lt;br /&gt;
パッチが適用された NetworkManager を使うことでこの種のスキャニングを防ぐことができます: {{AUR|networkmanager-noscan}}。&lt;br /&gt;
&lt;br /&gt;
もしくは、ローミングが重要でない場合、WiFi の接続プロファイルでアクセスポイントの BSSID をロックすることで定期的なスキャンを無効化できます。&lt;br /&gt;
&lt;br /&gt;
== ヒントとテクニック ==&lt;br /&gt;
&lt;br /&gt;
=== Wi-Fi パスワードの暗号化 ===&lt;br /&gt;
&lt;br /&gt;
デフォルトでは NetworkManager は {{ic|/etc/NetworkManager/system-connections/}} に存在する接続ファイルに平文でパスワードを保存します。保存されているパスワードを表示するには、以下のコマンドを実行:&lt;br /&gt;
&lt;br /&gt;
 # grep -H &#039;^psk=&#039; /etc/NetworkManager/system-connections/*&lt;br /&gt;
&lt;br /&gt;
パスワードにアクセスできるのは root ユーザーだけであり通常ユーザーは GUI の設定からアクセスできます (例: {{ic|nm-applet}})。&lt;br /&gt;
&lt;br /&gt;
平文ではなく暗号化された状態で保存することもできますが、ユーザーごとに接続の設定が必要になります。&lt;br /&gt;
&lt;br /&gt;
====Gnome-Keyring を使う====&lt;br /&gt;
&lt;br /&gt;
キーリングデーモンを起動してキーリングを解錠する必要があります。&lt;br /&gt;
&lt;br /&gt;
さらに、全てのユーザーでパスワードを保存しないように NetworkManager を設定しなければなりません。GNOME の {{ic|nm-applet}} を使う場合、ターミナルから {{ic|nm-connection-editor}} を起動してネットワーク接続を選択し、{{ic|Edit}} をクリックして、{{ic|Wifi-Security}} タブからパスワードの右のアイコンをクリックして {{ic|Store the password only for this user}} にチェックを入れてください。&lt;br /&gt;
&lt;br /&gt;
=== wifi でインターネット接続を共有する ===&lt;br /&gt;
&lt;br /&gt;
nm を使って数クリックでインターネット接続 (例: 3G または有線) を共有することができます。サポートされた wifi カードが必要になります (Atheros AR9xx や AR5xx を使っているカードがおそらく最適です)。&lt;br /&gt;
&lt;br /&gt;
[[ファイアウォール]]がインターネット共有を妨害することもあるので注意してください。&lt;br /&gt;
&lt;br /&gt;
==== Ad-hoc ====&lt;br /&gt;
&lt;br /&gt;
* 接続の共有をできるようにするために {{Pkg|dnsmasq}} パッケージを[[pacman|インストール]]してください&lt;br /&gt;
* {{ic|dnsmasq.conf}} を修正すると nm に干渉する可能性があります&lt;br /&gt;
* nm-applet -&amp;gt; Create new wireless network をクリック&lt;br /&gt;
* ウィザードに従う (WEP を使用する場合、パスワードの長さは5文字あるいは13文字なければなりません)&lt;br /&gt;
* 次に必要になった時のために設定は保存されます&lt;br /&gt;
&lt;br /&gt;
==== Real AP ====&lt;br /&gt;
&lt;br /&gt;
2012年から、インフラストラクチャモード (ad-hoc をサポートしていない Android で必要) は NetworkManager でサポートされています。&lt;br /&gt;
&lt;br /&gt;
参照: https://fedoraproject.org/wiki/Features/RealHotspot&lt;br /&gt;
&lt;br /&gt;
=== cron ジョブやスクリプトでネットワークが立ち上がっているか確認する ===&lt;br /&gt;
&lt;br /&gt;
cron ジョブの中にはネットワークが立ち上がっている必要があるジョブもあります。ネットワークが立ち上がっていない場合はジョブを実行しないようにすることができます。そのためには、NetworkManager の {{ic|nm-tool}} を使ってネットワークの状態を確認する &#039;&#039;&#039;if&#039;&#039;&#039; テストを追加します。インターフェイスが立ち上がっている場合はテストは通りますが、全てのインターフェイスがダウンになっている場合はテストを通過しません。無線でネットワークにつながっていたり、いなかったりするノートパソコンなどで有用です。&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
if [ $(nm-tool|grep State|cut -f2 -d&#039; &#039;) == &amp;quot;connected&amp;quot; ]; then&lt;br /&gt;
    #Whatever you want to do if the network is online&lt;br /&gt;
else&lt;br /&gt;
    #Whatever you want to do if the network is offline - note, this and the else above are optional&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
上記は {{ic|cron.hourly}} スクリプトを使って {{ic|fpupdate}} を実行し F-Prot ウイルススキャナをアップデートしている場合などに有用です。&lt;br /&gt;
&lt;br /&gt;
=== ログイン時に自動的に接続する ===&lt;br /&gt;
&lt;br /&gt;
デフォルトでは、パスワードを入力しないと使えないネットワークの場合 NetworkManager は起動時に自動的に接続しません。自動的に接続するには以下の設定が必要です:&lt;br /&gt;
&lt;br /&gt;
# {{ic|nm-applet}} アイコンを右クリックして Edit Connections を選択し Wireless タブを開いて下さい&lt;br /&gt;
# 使用したい接続を選択して Edit ボタンをクリックしてください&lt;br /&gt;
# “Connect Automatically” と “Available to all users” のボックスにチェックを入れて下さい&lt;br /&gt;
一度ログアウトしてから再ログインすれば設定は完了です。&lt;br /&gt;
&lt;br /&gt;
=== ログインのあと自動でキーリングを解除する ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager はログイン情報を必要とするネットワークに接続するときにログインキーリングにアクセスします。大抵の場合、ログイン時に自動的に解錠されますが、解錠されていない場合、NetworkManager はログイン時に接続することができません。&lt;br /&gt;
&lt;br /&gt;
==== GNOME ====&lt;br /&gt;
&lt;br /&gt;
{{Note|以下の方法は古い情報であり機能する保証はありません。}}&lt;br /&gt;
* {{ic|/etc/pam.d/gdm}} (もしくは {{ic|/etc/pam.d}} にある適当なデーモン) を開いて、&amp;quot;auth&amp;quot; と &amp;quot;session&amp;quot; ブロックの最後に以下の行を追加します:&lt;br /&gt;
  auth            optional        pam_gnome_keyring.so&lt;br /&gt;
  session         optional        pam_gnome_keyring.so  auto_start&lt;br /&gt;
&lt;br /&gt;
* {{ic|/etc/pam.d/passwd}} を開いて、&#039;password&#039; ブロックで以下の行を使います:&lt;br /&gt;
  password    optional    pam_gnome_keyring.so&lt;br /&gt;
&lt;br /&gt;
:次のログイン時に、パスワードをログイン時に自動的にロック解除するべきかどうか尋ねられるはずです。&lt;br /&gt;
&lt;br /&gt;
==== SLiM ログインマネージャ ====&lt;br /&gt;
[[SLiM#SLiM と Gnome Keyring]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== 特定のデバイスを無視する ===&lt;br /&gt;
&lt;br /&gt;
時々 NetworkManager に特定のデバイスを無視してもらってアドレスやルートを設定しないのが望ましいことがあります。{{ic|/etc/NetworkManager/NetworkManager.conf}} で以下を使うことで MAC やインターフェイス名によってデバイスを無視するよう設定できます:&lt;br /&gt;
 [keyfile]&lt;br /&gt;
 unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth0&lt;br /&gt;
これを記述した後、NetworkManager を[[デーモン|再起動]]してください。設定したデバイスに触れないように NetworkManager でインターフェイスを設定できるはずです。&lt;br /&gt;
&lt;br /&gt;
=== 接続の高速化 ===&lt;br /&gt;
&lt;br /&gt;
==== IPv6 を無効にする ====&lt;br /&gt;
&lt;br /&gt;
NetworkManager の余計な IPv6 クエリーによって接続が遅くなったりネットワークの再接続が起こることがあります。ローカルネットワークで IPv6 をサポートしていない場合、NetworkManager が IPv6 の接続を確立しようとして結局タイムアウトするので、通常よりもネットワークへの接続に時間がかかるかもしれません。解決策は NetworkManager で IPv6 を無効にすることで、これによってネットワーク接続が高速になります。以下は接続するネットワークごとに実行する必要があります。&lt;br /&gt;
&lt;br /&gt;
* ネットワーク状態アイコンを右クリック。&lt;br /&gt;
* &amp;quot;Edit Connections&amp;quot; をクリック。&lt;br /&gt;
* &amp;quot;Wired&amp;quot; か &amp;quot;Wireless&amp;quot; タブを見る。&lt;br /&gt;
* ネットワークの名前を選択。&lt;br /&gt;
* &amp;quot;Edit&amp;quot; をクリック。&lt;br /&gt;
* &amp;quot;IPv6 Settings&amp;quot; タブを見る。&lt;br /&gt;
* &amp;quot;Method&amp;quot; ドロップダウンから &amp;quot;Ignore/Disabled&amp;quot; を選択。&lt;br /&gt;
* &amp;quot;Save&amp;quot; をクリック。&lt;br /&gt;
&lt;br /&gt;
==== DHCPCD の ARP probing を無効にして DHCP をスピードアップ ====&lt;br /&gt;
&lt;br /&gt;
{{ic|dhcpcd}} には割り当てられた IP アドレスが実際に取得されているかどうか ARP を使って確認する DHCP 標準 ([https://www.ietf.org/rfc/rfc2131.txt RFC2131] section 2.2) の勧告の実装が含まれています。家庭ネットワークではほとんどの場合これは不要なので、次の行を {{ic|/etc/dhcpcd.conf}} に加えることで接続にかかる時間を5秒間短くできます:&lt;br /&gt;
&lt;br /&gt;
 noarp&lt;br /&gt;
&lt;br /&gt;
これは {{ic|dhcpcd}}　に {{ic|--noarp}} を渡すのと同じであり、上述の ARP probing を無効にして、DHCP によるネットワーク接続を高速化します。&lt;br /&gt;
&lt;br /&gt;
==== OpenDNS サーバーを使う ====&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/resolv.conf.opendns}} を以下のネームサーバで作成してください:&lt;br /&gt;
&lt;br /&gt;
 nameserver 208.67.222.222&lt;br /&gt;
 nameserver 208.67.220.220&lt;br /&gt;
&lt;br /&gt;
もしくは Google DNS サーバーを使って下さい: &lt;br /&gt;
&lt;br /&gt;
 nameserver 8.8.8.8&lt;br /&gt;
 nameserver 8.8.4.4&lt;br /&gt;
&lt;br /&gt;
そして DHCP サーバーを OpenDNS サーバーに置き換える dispatcher を作って下さい:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/dns-servers-opendns|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Use OpenDNS servers over DHCP discovered servers&lt;br /&gt;
&lt;br /&gt;
cp -f /etc/resolv.conf.opendns /etc/resolv.conf&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
スクリプトを実行可能にします:&lt;br /&gt;
&lt;br /&gt;
 # chmod +x /etc/NetworkManager/dispatcher.d/dns-servers-opendns&lt;br /&gt;
&lt;br /&gt;
=== MAC アドレスのランダム化の設定 === &lt;br /&gt;
&lt;br /&gt;
バージョン 1.4.0 現在、NetworkManager では2種類の MAC アドレスランダム化をサポートしています。スキャン時のランダム化と定常的なランダム化です。どちらのモードも {{ic|/etc/NetworkManager/NetworkManager.conf}} で設定できます。&lt;br /&gt;
&lt;br /&gt;
無線スキャン時のランダム化はバージョン 1.2.0 からデフォルトで有効になっており、以下の行を {{ic|/etc/NetworkManager/NetworkManager.conf}} に追加することで無効にできます:&lt;br /&gt;
&lt;br /&gt;
 [device]&lt;br /&gt;
 wifi.scan-rand-mac-address=no&lt;br /&gt;
&lt;br /&gt;
{{Tip|1=MAC アドレスのランダム化を無効にすることで接続が安定することがあります。[https://bbs.archlinux.org/viewtopic.php?id=220101] を参照。}}&lt;br /&gt;
&lt;br /&gt;
定常的なランダム化では接続するたびに MAC アドレスが変わります。MAC アドレスでログイン状態を記録するポータルなどで有用です。有効にするには以下のオプションを使用:&lt;br /&gt;
&lt;br /&gt;
 [connection]&lt;br /&gt;
 wifi.cloned-mac-address=random&lt;br /&gt;
&lt;br /&gt;
または:&lt;br /&gt;
  &lt;br /&gt;
 [connection]&lt;br /&gt;
 ethernet.cloned-mac-address=random&lt;br /&gt;
&lt;br /&gt;
詳しくは [https://blogs.gnome.org/thaller/2016/08/26/mac-address-spoofing-in-networkmanager-1-4-0/ こちら] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== IPv6 プライバシー拡張の有効化 ===&lt;br /&gt;
&lt;br /&gt;
[[IPv6#NetworkManager]] を見てください。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://blogs.gnome.org/dcbw/2015/02/16/networkmanager-for-administrators-part-1/ NetworkManager for Administrators Part 1]&lt;/div&gt;</summary>
		<author><name>Oriaca372m</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=NetworkManager&amp;diff=22961</id>
		<title>NetworkManager</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=NetworkManager&amp;diff=22961"/>
		<updated>2021-12-26T07:58:23Z</updated>

		<summary type="html">&lt;p&gt;Oriaca372m: /* NetworkManager を有効にする */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ネットワークマネージャ]]&lt;br /&gt;
[[Category:Red Hat]]&lt;br /&gt;
[[cs:NetworkManager]]&lt;br /&gt;
[[de:Networkmanager]]&lt;br /&gt;
[[en:NetworkManager]]&lt;br /&gt;
[[es:NetworkManager]]&lt;br /&gt;
[[fr:NetworkManager]]&lt;br /&gt;
[[it:NetworkManager]]&lt;br /&gt;
[[pt:NetworkManager]]&lt;br /&gt;
[[ru:NetworkManager]]&lt;br /&gt;
[[tr:NetworkManager]]&lt;br /&gt;
[[zh-hans:NetworkManager]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|ネットワーク設定}}&lt;br /&gt;
{{Related|ワイヤレス設定}}&lt;br /&gt;
{{Related|Netctl}}&lt;br /&gt;
{{Related|Wicd}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[http://projects.gnome.org/NetworkManager/ NetworkManager] はネットワークの検知とシステムの設定を自動で行いネットワークに接続するプログラムです。NetworkManager の機能は無線・有線両方のネットワークに使うことができます。無線ネットワークでは、NetworkManager は既知の無線ネットワークを優先し、一番信頼性のあるネットワークに切り替えることができます。NetworkManager 対応アプリケーションはオンラインとオフラインを切り替えることが可能です。また、NetworkManager では無線接続よりも有線接続が優先され、モデム接続や特定の VPN に対応しています。NetworkManager はもともとは Red Hat によって開発されていましたが、現在では [[GNOME]] プロジェクトによってホストされています。&lt;br /&gt;
&lt;br /&gt;
{{Warning|初期設定では、Wi-Fi パスワードは平文で保存されます。直すためには、[[#Wi-Fi パスワードの暗号化]]を見てください。}}&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
NetworkManager は[[公式リポジトリ]]にある {{Pkg|networkmanager}} パッケージでインストールできます。これには、デーモンとコマンドラインインターフェース ({{ic|nmcli}})、cursesベースのテキストインターフェース ({{ic|nmtui}})が含まれます。&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager を有効にする ===&lt;br /&gt;
&lt;br /&gt;
インストール後、{{ic|NetworkManager.service}} を [[systemd#ユニットを使う|開始/有効]] します。NetworkManger デーモンが起動すると、すでに構成されている使用可能な &amp;quot;system connections&amp;quot; に自動的に接続します。&amp;quot;user connections&amp;quot; または未接続の場合は、構成および接続するために、nmcli またはアプレットが必要です。&lt;br /&gt;
&lt;br /&gt;
=== 追加のインターフェース ===&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|nm-connection-editor}}: グラフィカルインターフェース。&lt;br /&gt;
* {{Pkg|network-manager-applet}}: システムトレイアプレット ({{ic|nm-applet}}).&lt;br /&gt;
&lt;br /&gt;
{{Note|ネットワークを設定しようとするサービスが他に動いていないことを確認してください。複数のネットワークサービスがあると衝突します。{{ic|1=systemctl --type=service}} で現在動作しているサービスのリストを表示できるので、ネットワークサービスがあったら[[systemd#ユニットを使う|停止]]してください。NetworkManager サービスを有効にする方法は[[#設定|設定]]を見てください。}}&lt;br /&gt;
&lt;br /&gt;
=== VPN サポート ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager 1.16 から [[WireGuard]] に対応しました。詳細は [https://blogs.gnome.org/thaller/2019/03/15/wireguard-in-networkmanager/] を参照してください。&lt;br /&gt;
&lt;br /&gt;
NetworkManager の VPN サポートはプラグインシステムをベースにしています。NetworkManager で VPN のサポートが必要なときは以下のパッケージの中から必要なものをインストールしてください:&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|networkmanager-openconnect}} for [[OpenConnect]]&lt;br /&gt;
* {{Pkg|networkmanager-openvpn}} for [[OpenVPN]]&lt;br /&gt;
* {{Pkg|networkmanager-pptp}} for [[PPTP クライアント]]&lt;br /&gt;
* {{Pkg|networkmanager-vpnc}} for [[Vpnc]]&lt;br /&gt;
* {{Pkg|networkmanager-strongswan}} for [[strongSwan]]&lt;br /&gt;
* {{AUR|networkmanager-fortisslvpn-git}}&lt;br /&gt;
* {{AUR|networkmanager-iodine-git}}&lt;br /&gt;
* {{AUR|networkmanager-libreswan}}&lt;br /&gt;
* {{AUR|networkmanager-l2tp}}&lt;br /&gt;
* {{AUR|networkmanager-ssh-git}}&lt;br /&gt;
* {{Pkg|network-manager-sstp}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|1=VPN サポートは [https://bugzilla.gnome.org/buglist.cgi?quicksearch=networkmanager%20vpn 不安定] です。GUI からデーモンプロセスのオプションが正しく設定されていることを確認して、パッケージがリリースされるたびに再確認してください [https://bugzilla.gnome.org/show_bug.cgi?id=755350]。}}&lt;br /&gt;
&lt;br /&gt;
=== Mobile broadband support ===&lt;br /&gt;
&lt;br /&gt;
モバイル回線に接続するためには、{{pkg|modemmanager}}か {{pkg|mobile-broadband-provider-info}} 、または {{pkg|usb_modeswitch}} を[[インストール]]してください。 詳しくは [[USB 3G モデム#Network Manager]] を確認してください。&lt;br /&gt;
&lt;br /&gt;
=== PPPoE / DSL サポート ===&lt;br /&gt;
&lt;br /&gt;
PPPoE / DSL 接続のサポートが必要な場合は {{pkg|rp-pppoe}} を[[インストール]]してください。実際に使うためには、{{ic|1=nm-connection-editor}} から新しい DSL/PPPoE 接続を追加してください。&lt;br /&gt;
&lt;br /&gt;
== グラフィカルフロントエンド ==&lt;br /&gt;
&lt;br /&gt;
NetworkManager を簡単に使えるようにするためのアプレットをインストールすることができます。この GUI フロントエンドはシステムトレイ（や通知エリア）に収納され、NetworkManager のネットワーク選択や設定が可能です。異なるデスクトップにあわせて様々なアプレットが存在します。その他に [[#nm-applet]] を使うこともできます。&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
GNOME にはツールが内蔵されており、ネットワーク設定からアクセスできます。&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|plasma-nm}} アプレットをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
=== nm-applet ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|network-manager-applet}} はあらゆる Xorg 環境で動作する GTK+ 3 フロントエンドです (システムトレイに表示されます)。&lt;br /&gt;
&lt;br /&gt;
接続情報を保存するには [[GNOME Keyring]] をインストール・設定してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|Make available to other users}} オプションを有効にすると、NetworkManager はパスワードを平文で保存します。ただしファイルにアクセスできるのは root だけです (他のユーザーは {{ic|nm-applet}} を介してアクセスします)。[[#Wi-Fi パスワードの暗号化]]を見てください。&lt;br /&gt;
&lt;br /&gt;
システムトレイを使わずに {{ic|nm-applet}} を起動したい場合、{{Pkg|trayer}} または {{Pkg|stalonetray}} を使います。例えば、以下のようなスクリプトを追加して使うことができます:&lt;br /&gt;
&lt;br /&gt;
{{hc|nmgui|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
nm-applet    2&amp;gt;&amp;amp;1 &amp;gt; /dev/null &amp;amp;&lt;br /&gt;
stalonetray  2&amp;gt;&amp;amp;1 &amp;gt; /dev/null&lt;br /&gt;
killall nm-applet&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[stalonetray]] のウィンドウを閉じると {{ic|nm-applet}} も終了するため、ネットワーク設定で無駄なメモリを消費することがありません。&lt;br /&gt;
&lt;br /&gt;
==== Xfce ====&lt;br /&gt;
[[Xfce]] でも {{Pkg|network-manager-applet}} は動作しますが、エラーメッセージなど通知を表示するには {{ic|nm-applet}} に加えて FreeDesktop.org の仕様に準拠した[[デスクトップ通知]]デーモンが必要です。xfce のパネル設定では &amp;quot;Notification Area&amp;quot; という名前のアプリになります。通知を有効にするには {{Pkg|xfce4-notifyd}} をインストールしてください。新しい無線ネットワークに接続したときにパスワードの入力プロンプトを表示させるには {{Pkg|gnome-keyring}} などの org.freedesktop.secrets サービスが必要です。&lt;br /&gt;
&lt;br /&gt;
通知デーモンがないと、{{ic|nm-applet}} アプレットは以下のエラーを標準出力に表示します:&lt;br /&gt;
&lt;br /&gt;
 (nm-applet:24209): libnotify-WARNING **: Failed to connect to proxy&lt;br /&gt;
 ** (nm-applet:24209): WARNING **: get_all_cb: couldn&#039;t retrieve&lt;br /&gt;
 system settings properties: (25) Launch helper exited with unknown&lt;br /&gt;
 return code 1.&lt;br /&gt;
 ** (nm-applet:24209): WARNING **: fetch_connections_done: error&lt;br /&gt;
 fetching connections: (25) Launch helper exited with unknown return&lt;br /&gt;
 code 1.&lt;br /&gt;
 ** (nm-applet:24209): WARNING **: Failed to register as an agent:&lt;br /&gt;
 (25) Launch helper exited with unknown return code 1&lt;br /&gt;
&lt;br /&gt;
{{ic|nm-applet}} は問題なく動作しますが、通知は表示されません。&lt;br /&gt;
&lt;br /&gt;
アプレットが表示されない場合は {{AUR|xfce4-indicator-plugin}} パッケージをインストールしてください [https://askubuntu.com/questions/449658/networkmanager-tray-nm-applet-is-gone-after-upgrade-to-14-04-trusty]。&lt;br /&gt;
&lt;br /&gt;
==== Openbox ====&lt;br /&gt;
&lt;br /&gt;
Openbox で正しく動作させるには、XFCE と同じ理由で GNOME アプレットに {{Pkg|xfce4-notifyd}} 通知デーモンが必要です。また、システムトレイにアプレットを表示するには {{Pkg|gnome-icon-theme}} パッケージが必要です。&lt;br /&gt;
&lt;br /&gt;
認証情報 (Wireless/DSL) を保存するには [[GNOME Keyring]] をインストール・設定してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|nm-applet}} は autostart ファイルを {{ic|/etc/xdg/autostart/nm-applet.desktop}} にインストールします。これに問題が発生する場合 (例: {{ic|nm-applet}} が二度起動する、全く起動しない)、[[Openbox#autostart]] や [https://bbs.archlinux.org/viewtopic.php?pid=993738] を見て解決してください。&lt;br /&gt;
&lt;br /&gt;
=== コマンドライン ===&lt;br /&gt;
&lt;br /&gt;
==== nmcli ====&lt;br /&gt;
&lt;br /&gt;
{{Pkg|networkmanager}} パッケージにはバージョン 0.8.1 から [http://manpages.ubuntu.com/manpages/maverick/man1/nmcli.1.html nmcli] が含まれています。&lt;br /&gt;
&lt;br /&gt;
例:&lt;br /&gt;
&lt;br /&gt;
* wifi ネットワークに接続するには: {{bc|nmcli dev wifi connect &amp;lt;name&amp;gt; password &amp;lt;password&amp;gt;}}&lt;br /&gt;
* {{ic|wlan1}} の wifi インターフェイスの wifi に接続するには: {{bc|nmcli dev wifi connect &amp;lt;name&amp;gt; password &amp;lt;password&amp;gt; iface wlan1 [profile name]}}&lt;br /&gt;
* インターフェイスを切断するには: {{bc|nmcli dev disconnect iface eth0}}&lt;br /&gt;
* 切断されたインターフェイスに再接続するには: {{bc|nmcli con up uuid &amp;lt;uuid&amp;gt;}}&lt;br /&gt;
* UUID のリストを表示するには: {{bc|nmcli con show}}&lt;br /&gt;
* ネットワークデバイスのリストと状態を表示するには: {{bc|nmcli dev}}&lt;br /&gt;
* wifi をオフにするには: {{bc|nmcli r wifi off}}&lt;br /&gt;
&lt;br /&gt;
==== nmtui ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;nmtui&#039;&#039; は &#039;&#039;networkmanager&#039;&#039; のグラフィックフロントエンドで curses を使っています。X のない環境でネットワークを設定・管理するのに便利です。{{Pkg|networkmanager}} パッケージにはバージョン 0.9.10 から &#039;&#039;nmtui&#039;&#039; が含まれています。&lt;br /&gt;
&lt;br /&gt;
==== nmcli-dmenu ====&lt;br /&gt;
&lt;br /&gt;
もしくは {{ic|nm-applet}} の代わりに &#039;&#039;dmenu&#039;&#039; を使って NetworkManager の接続を管理する小さなスクリプト {{AUR|networkmanager-dmenu-git}} も存在します。既存の NetworkManager の有線・無線接続に接続したり、新しい無線接続に接続したり、必要であればパスフレーズをリクエストする、既存の VPN 接続に接続する、ネットワークを無効化・有効化する、&#039;&#039;nm-connection-editor&#039;&#039; GUI を起動するなどの機能が備わっています。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
NetworkManager には正しく機能させるために必要なことがあります。&lt;br /&gt;
&lt;br /&gt;
次に進む前に {{ic|/etc/hosts}} が正しいことを確認してください。この手順を行う前に接続を試すと、NetworkManager が設定を変えてしまうことがあります。[[ネットワーク設定 #ホストネームの設定]] にあるように設定ができていることを確認してください。{{ic|/etc/hosts}} の例:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/hosts|&lt;br /&gt;
127.0.0.1 localhost&lt;br /&gt;
::1       localhost&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
nss-myhostname を使っていない場合:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/hosts|&lt;br /&gt;
127.0.0.1 my-laptop localhost&lt;br /&gt;
::1       my-laptop localhost&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager を有効にする ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager は {{ic|NetworkManager.service}} を使って[[systemd#ユニットを使う|操作]]します。NetworkManager デーモンが起動すると、自動的に設定済みの有効な &amp;quot;システム接続&amp;quot; に接続します。&amp;quot;ユーザー接続&amp;quot;や設定していない接続には {{ic|nmcli}} やアプレットを使って設定・接続する必要があります。&lt;br /&gt;
&lt;br /&gt;
NetworkManager のグローバルな設定ファイルは {{ic|/etc/NetworkManager/NetworkManager.conf}} にあります。他の設定ファイルは {{ic|/etc/NetworkManager/conf.d/}} 以下に置くことが出来ます。通常、グローバルなデフォルト設定ファイルに設定を加える必要はありません。&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager Wait Online を有効にする ===&lt;br /&gt;
ネットワークが立ち上がる前にサービスが起動して失敗する場合、NetworkManager サービスにプラスして {{ic|NetworkManager-wait-online.service}} を使って下さい。ただし、ネットワークが設定されていないときでも殆どのネットワークデーモンは正しく立ち上がるので、これが必要になるのは稀です。&lt;br /&gt;
&lt;br /&gt;
それでもサービスが正しく起動できない場合 {{ic|/usr/lib/systemd/system/NetworkManager-wait-online.service}} のタイムアウト設定が短すぎることが原因です。デフォルトのタイムアウトである 30 から高い値に修正してください。&lt;br /&gt;
&lt;br /&gt;
=== PolicyKit パーミッションの設定 ===&lt;br /&gt;
&lt;br /&gt;
ワーキングセッションの設定については[[一般的なトラブルシューティング#セッションのパーミッション]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
ワーキングセッションで、NetworkManager に必要な特権を与える方法は複数存在します:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;方法 1.&#039;&#039; ログイン時に {{ic|/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1}} ({{Pkg|polkit-gnome}} に含まれています) などの [[PolicyKit]] 認証エージェントを実行する。ネットワーク接続を追加・削除したときにパスワードを求められるようになります。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;方法 2.&#039;&#039; ユーザーを {{ic|wheel}} グループに追加する。パスワードを入力する必要はなくなりますが、root パスワードを入力せずに [[sudo]] を使えるなど、他の権限もユーザーアカウントに与えてしまうことになります。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;方法 3.&#039;&#039; ユーザーを {{ic|network}} グループに追加して以下のファイルを作成する:&lt;br /&gt;
{{hc|/etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
polkit.addRule(function(action, subject) {&lt;br /&gt;
  if (action.id.indexOf(&amp;quot;org.freedesktop.NetworkManager.&amp;quot;) == 0 &amp;amp;&amp;amp; subject.isInGroup(&amp;quot;network&amp;quot;)) {&lt;br /&gt;
    return polkit.Result.YES;&lt;br /&gt;
  }&lt;br /&gt;
});&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{ic|network}} グループの全てのユーザーはパスワードなしでネットワークを追加・削除できるようになります。[[ディスプレイマネージャ#systemd-logind を使う|systemd-logind]] でアクティブセッションを作っていない場合、この方法は systemd では動きません。&lt;br /&gt;
&lt;br /&gt;
=== ネットワークサービスと NetworkManager dispatcher===&lt;br /&gt;
&lt;br /&gt;
NetworkManager がインターフェースを立ち上げるまで動かしたくないネットワークサービスというのが相当数存在します。[[Network Time Protocol daemon|NTPd]] や様々なタイプのネットワークファイルシステムマウント (例: &#039;&#039;&#039;netfs&#039;&#039;&#039;) が好例です。NetworkManager には、あなたがネットワークに接続したときにこれらのサービスを起動して、切断したときにサービスを停止する機能があります。この機能を有効にするには {{ic|NetworkManager-dispatcher.service}} を[[systemd#ユニットを使う|起動]]してください。&lt;br /&gt;
&lt;br /&gt;
機能を有効にすれば、スクリプトを {{ic|/etc/NetworkManager/dispatcher.d}} ディレクトリに追加することができます。スクリプトは実行可能でユーザーのパーミッションがなければなりません。セキュリティ上、スクリプトの所有者を &#039;&#039;&#039;root:root&#039;&#039;&#039; にして書き込み権限を所有者だけに与えるとよいでしょう。&lt;br /&gt;
&lt;br /&gt;
接続時にアルファベット順でスクリプトは実行され、切断時にはアルファベットの逆順で実行されます。スクリプトには2つの引数が渡されます: インターフェースの名前 (例: &#039;&#039;eth0&#039;&#039;) と状態 (インターフェイスは &#039;&#039;up&#039;&#039; か &#039;&#039;down&#039;&#039;、vpn 接続は &#039;&#039;vpn-up&#039;&#039; か &#039;&#039;vpn-down&#039;&#039;) です。起動する順番を正確に決めるために、しばしばスクリプトの名前の前に数字が使われます (例: {{ic|10_portmap}} や {{ic|30_netfs}} (これでポートマップが NFS マウントよりも先に実行されます)。&lt;br /&gt;
&lt;br /&gt;
{{Warning|パブリックネットワークに接続する場合、起動するサービスや接続するサーバーに注意してください。パブリックネットワークに接続している際に間違ったサービスを起動するとセキュリティホールとなる可能性があります。}}&lt;br /&gt;
&lt;br /&gt;
==== 3秒タイムアウトを止める ====&lt;br /&gt;
&lt;br /&gt;
上の設定で動作するなら、このセクションは関係ありません。ただし、実行するのに3秒以上かかる dispatcher スクリプトを動かす場合は共通の問題があります。NetworkManager は内部的に3秒タイムアウトを使っており (詳しくは[https://bugzilla.redhat.com/show_bug.cgi?id=982734 バグトラッカー]を参照) 3秒以上時間がかかっているスクリプトを自動的に殺します。この場合、{{ic|/usr/lib/systemd/system/NetworkManager-dispatcher.service}} にある dispatcher サービスファイルを有効にしつづけるように修正が必要です。以下の内容でサービスファイル {{ic|/etc/systemd/system/NetworkManager-dispatcher.service}} を作成してください:&lt;br /&gt;
&lt;br /&gt;
 .include /usr/lib/systemd/system/NetworkManager-dispatcher.service&lt;br /&gt;
 [Service]&lt;br /&gt;
 RemainAfterExit=yes&lt;br /&gt;
&lt;br /&gt;
作成したら修正を加えた {{ic|NetworkManager-dispatcher}} スクリプトを有効にしてください。&lt;br /&gt;
&lt;br /&gt;
==== OpenNTPD を起動 ====&lt;br /&gt;
&lt;br /&gt;
{{AUR|networkmanager-dispatcher-openntpd}} パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
==== リモートフォルダを sshfs でマウント ====&lt;br /&gt;
&lt;br /&gt;
スクリプトは制限的な環境で実行されるので、SSH エージェントに接続するには {{ic|SSH_AUTH_SOCK}} を export する必要があります。複数の方法が存在します、詳しくは [https://bbs.archlinux.org/viewtopic.php?pid=1042030#p1042030 このメッセージ] を見て下さい。以下の例は [[GNOME Keyring]] と一緒に動作し、ロックが解除されていない場合にパスワードを尋ねます。NetworkManager がログイン時に自動的に接続する場合は、&#039;&#039;gnome-keyring&#039;&#039; は起動せず export は失敗します。{{ic|UUID}} は {{ic|nmcli con status}} や {{ic|nmcli con list}} コマンドで確認できます。&lt;br /&gt;
&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
USER=&#039;username&#039;&lt;br /&gt;
REMOTE=&#039;user@host:/remote/path&#039;&lt;br /&gt;
LOCAL=&#039;/local/path&#039;&lt;br /&gt;
&lt;br /&gt;
interface=$1 status=$2&lt;br /&gt;
if [ &amp;quot;$CONNECTION_UUID&amp;quot; = &amp;quot;&amp;lt;/nowiki&amp;gt;&#039;&#039;uuid&#039;&#039;&amp;lt;nowiki&amp;gt;&amp;quot; ]; then&lt;br /&gt;
  case $status in&lt;br /&gt;
    up)&lt;br /&gt;
      export SSH_AUTH_SOCK=$(find /tmp -maxdepth 1 -type s -user &amp;quot;$USER&amp;quot; -name &#039;ssh&#039;)&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;sshfs $REMOTE $LOCAL&amp;quot;&lt;br /&gt;
      ;;&lt;br /&gt;
    down)&lt;br /&gt;
      fusermount -u &amp;quot;$LOCAL&amp;quot;&lt;br /&gt;
      ;;&lt;br /&gt;
  esac&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
==== dispatcher を使って LAN ケーブルが接続されているかどうかに応じて自動的に Wi-Fi を切り替える ====&lt;br /&gt;
&lt;br /&gt;
LAN ケーブルが接続されていない場合にのみ Wi-Fi をオンにして、LAN ケーブルが接続されたら (ノートパソコンがドックに接続された場合など) Wi-Fi を自動的に無効化することができます。&lt;br /&gt;
&lt;br /&gt;
以下の dispatcher スクリプトを作成してください ([https://superuser.com/questions/233448/disable-wlan-if-wired-cable-network-is-available ソース])、{{ic|1=LAN_interface}} は適当なインターフェイスに置き換えてください:&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/wlan_auto_toggle.sh|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &amp;quot;LAN_interface&amp;quot; ]; then&lt;br /&gt;
    case &amp;quot;$2&amp;quot; in&lt;br /&gt;
        up)&lt;br /&gt;
            nmcli radio wifi off&lt;br /&gt;
            ;;&lt;br /&gt;
        down)&lt;br /&gt;
            nmcli radio wifi on&lt;br /&gt;
            ;;&lt;br /&gt;
    esac&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Note|インターフェイスは [[#nmcli|nmcli]] で確認できます。有線 (LAN) インターフェイスは先頭が {{ic|en}} となります。例: {{ic|1=enp0s5}}。}}&lt;br /&gt;
&lt;br /&gt;
==== dispatcher を使ってネットワーク接続が確立された後に VPN に接続する ====&lt;br /&gt;
&lt;br /&gt;
この例では特定の WiFi ネットワークの接続後に予め定義した VPN に自動的に接続します。最初にネットワークに接続した後にすることを定義した dispatcher スクリプトを作成する必要があります。&lt;br /&gt;
&lt;br /&gt;
:1. dispatcher スクリプトを作成:&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/vpn-up|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
VPN_NAME=&amp;quot;name of VPN connection defined in NetworkManager&amp;quot;&lt;br /&gt;
ESSID=&amp;quot;Wi-Fi network ESSID (not connection name)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
interface=$1 status=$2&lt;br /&gt;
case $status in&lt;br /&gt;
  up|vpn-down)&lt;br /&gt;
    if iwgetid | grep -qs &amp;quot;:\&amp;quot;$ESSID\&amp;quot;&amp;quot;; then&lt;br /&gt;
      nmcli con up id &amp;quot;$VPN_NAME&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    ;;&lt;br /&gt;
  down)&lt;br /&gt;
    if iwgetid | grep -qs &amp;quot;:\&amp;quot;$ESSID\&amp;quot;&amp;quot;; then&lt;br /&gt;
      if nmcli con show --active | grep &amp;quot;$VPN_NAME&amp;quot;; then&lt;br /&gt;
        nmcli con down id &amp;quot;$VPN_NAME&amp;quot;&lt;br /&gt;
      fi&lt;br /&gt;
    fi&lt;br /&gt;
    ;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
全ての Wi-Fi ネットワークで VPN の接続を自動的にして欲しい場合は、ESSID は次のように定義します: {{ic|1=ESSID=$(iwgetid -r)}}。[[#ネットワークサービスと NetworkManager dispatcher|上述]]のようにスクリプトのパーミッションを忘れずに設定してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|nm-applet}} の &#039;&#039;Make the VPN connection available to all users&#039;&#039; オプションを有効にしている場合、接続が失敗して NetworkManager が &#039;no valid VPN secrets&#039; と表示することがあります ([https://developer.gnome.org/NetworkManager/0.9/secrets-flags.html VPN の接続情報の保存方法] が問題です)。その場合、以下を試してみてください:&lt;br /&gt;
&lt;br /&gt;
:2. VPN の接続ファイルを編集して NetworkManager が接続情報をキーリングではなく自分で保存するようにしてください [https://bugzilla.redhat.com/show_bug.cgi?id=710552]: {{ic|/etc/NetworkManager/system-connections/&#039;&#039;name of your VPN connection&#039;&#039;}} を開いて {{ic|password-flags}} と {{ic|secret-flags}} を {{ic|1}} から {{ic|0}} に変更します。&lt;br /&gt;
&lt;br /&gt;
もしくは設定ファイルに {{ic|vpn-secrets}} セクションを追加して直接パスワードを記述します:&lt;br /&gt;
  [vpn]&lt;br /&gt;
  ....&lt;br /&gt;
  password-flags=0&lt;br /&gt;
  &lt;br /&gt;
  [vpn-secrets]&lt;br /&gt;
  password=your_password&lt;br /&gt;
&lt;br /&gt;
{{Note|NetworkManager 接続エディタを開き、VPN パスワード/シークレットを再度保存する必要があります。}}&lt;br /&gt;
&lt;br /&gt;
==== dispatcher を使って CIFS 共有のマウントを処理 ====&lt;br /&gt;
&lt;br /&gt;
CIFS 共有の中には特定のネットワークや場所 (例: 家の中) を使っているときだけ使えるものがあります。ディスパッチャを使うことで現在の場所に応じて CIFS 共有をマウントすることができます。&lt;br /&gt;
&lt;br /&gt;
以下のスクリプトは特定のネットワークに接続されているかどうか確認してから共有をマウントします:&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/mount_cifs|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; = &amp;quot;up&amp;quot; ]; then&lt;br /&gt;
  if [ &amp;quot;$CONNECTION_UUID&amp;quot; = &amp;quot;uuid&amp;quot; ]; then&lt;br /&gt;
    mount /your/mount/point &amp;amp; &lt;br /&gt;
    # add more shares as needed&lt;br /&gt;
  fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Note|[[#nmcli|nmcli]] を使うことで uuid のリストを取得できます。}}&lt;br /&gt;
&lt;br /&gt;
以下のスクリプトは特定のネットワークから切断する前に全ての CIFS をアンマウントします:&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/pre-down.d/mount_cifs|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
umount -a -l -t cifs&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Note|&lt;br /&gt;
* 上記のスクリプトは {{ic|pre-down.d}} サブディレクトリに保存しないと、接続状態が変わったときに全ての共有がアンマウントされてしまいます。&lt;br /&gt;
* NetworkManager 0.9.8 から、&#039;pre-down&#039; や &#039;down&#039; はシャットダウンや再起動時に実行されなくなりました。したがって上記のスクリプトはネットワークから手動で切断したときにのみ機能します。詳しくは [https://bugzilla.gnome.org/show_bug.cgi?id&amp;amp;#61;701242 このバグレポート] を参照。}}&lt;br /&gt;
&lt;br /&gt;
忘れずに[[#ネットワークサービスと NetworkManager dispatcher|上述]]のようにスクリプトにパーミッションを設定してください。&lt;br /&gt;
&lt;br /&gt;
dispatcher の中で {{ic|/etc/fstab}} のマウントを解析する他のスクリプト例は [[NFS#NetworkManager dispatcher]] にあります。&lt;br /&gt;
&lt;br /&gt;
=== プロクシ設定 ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager は直接プロクシ設定を扱いませんが、GNOME や KDE を使っている場合、NetworkManager の情報を使ってプロクシ設定を管理する [http://marin.jb.free.fr/proxydriver/ proxydriver] を使うことができます。[[Arch User Repository|AUR]] の {{AUR|proxydriver}} パッケージを探して下さい。&lt;br /&gt;
&lt;br /&gt;
proxydriver でプロクシ設定を変更できるようにするには、GNOME スタートアッププロセスの一部として、次のコマンドを実行する必要があります (System -&amp;gt; Preferences -&amp;gt; Startup Applications):&lt;br /&gt;
&lt;br /&gt;
 xhost +si:localuser:&#039;&#039;your_username&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
参照: [[プロキシ設定]]&lt;br /&gt;
&lt;br /&gt;
=== DHCP client ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager はデフォルトでは DHCP クライアントは内部のものを使います。DHCPv4 プラグインは [https://nettools.github.io/n-dhcp4/ nettools&#039; n-dhcp4] ライブラリが基になっていて、DHCPv6 プラグインは {{ic|systemd-networkd}} のコードが基となっています。&lt;br /&gt;
&lt;br /&gt;
NetworkManager は他の DHCP クライアントを使うことができ、そのためには次の好きな方をインストールしてください:&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|dhclient}} - ISCの DHCP クライアント。&lt;br /&gt;
* {{Pkg|dhcpcd}} - [[dhcpcd]]。 &lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* NetworkManager は、 dhcpcd を IPv6 のために使うことを、サポートしていません (詳しくは [https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/5 NetworkManager issue #5] )。DHCP クライアントとして dhcpcd を設定している場合には、 DHCPv6 内部のクライアントを使います。&lt;br /&gt;
* NetworkManger は{{Pkg|dhcpcd}} のバージョン 9.0.0 以上をサポートしなくなりました。詳細は {{Bug|66231}} を見てください。&lt;br /&gt;
* {{Pkg|dhclient}} や {{Pkg|dhclient}} が提供する systemd ユニットを有効にしないでください。NetworkManager と干渉します。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
DHCP クライアントのバックエンドを変えたい場合は、{{ic|/etc/NetworkManager/conf.d/}} にある設定ファイルで {{ic|1=main.dhcp=&#039;&#039;dhcp_client_name&#039;&#039;}} を設定してください。例: &lt;br /&gt;
&lt;br /&gt;
{{hc|1=/etc/NetworkManager/conf.d/dhcp-client.conf|2=&lt;br /&gt;
[main]&lt;br /&gt;
dhcp=dhclient&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== dnsmasq ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|dnsmasq}} がインストールされていることを確認します。次に、{{ic|/etc/NetworkManager/conf.d/}} の設定ファイルを使用して {{ic|1=main.dns=dnsmasq}} を設定します。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/conf.d/dns.conf|2=&lt;br /&gt;
[main]&lt;br /&gt;
dns=dnsmasq&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
次に、root として {{ic|nmcli general reload}} を実行します。 NetworkManager は自動的に dnsmasq を起動し、 {{ic|/etc/resolv.conf}} に {{ic|127.0.0.1}} を追加します。元の DNS サーバは {{ic|/run/NetworkManager/no-stub-resolv.conf}} にあります。 dnsmasq が使用されていることを確認するには、 {{ic|drill example.com}} を使用して同じ DNS ルックアップを2回実行し、サーバーとクエリの時間を確認します。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* {{ic|dnsmasq.service}} を起動したり、 {{ic|/etc/dnsmasq.conf}} を編集したりする必要はありません。 NetworkManager は、 systemd サービスを使用せず、dnsmasq のデフォルト設定ファイルを読み込まずに dnsmasq を起動します。&lt;br /&gt;
* NetworkManager によって起動された dnsmasq インスタンスは {{ic|127.0.0.1:53}} にバインドされます。同じアドレスとポートで他のソフトウェア ({{ic|dnsmasq.service}} を含む) を実行することはできません。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== systemd-resolved ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager は、 [[systemd-resolved]] を DNS リゾルバおよびキャッシュとして使用できます。使用する前に、 &#039;&#039;systemd-resolved&#039;&#039; が正しく設定され、{{ic|systemd-resolved.service}} が [https://wiki.archlinux.jp/index.php/Systemd#.E3.83.A6.E3.83.8B.E3.83.83.E3.83.88.E3.82.92.E4.BD.BF.E3.81.86 スタート] してることを確認してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/resolv.conf}} が [https://wiki.archlinux.jp/index.php/Systemd-resolved#DNS symlink] から {{ic|/run/systemd/resolve/stub-resolv.conf}}、 {{ic|/run/systemd/resolve/resolv.conf}}、 または {{ic|/usr/lib/systemd/resolv.conf}} に設定されている場合は、自動的に systemd-resolved が使用されます。&lt;br /&gt;
&lt;br /&gt;
{{ic|1=main.dns=systemd-resolved}} を {{ic|/etc/NetworkManager/conf.d/}} 設定すると、明示的に有効にできます。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/conf.d/dns.conf|2=&lt;br /&gt;
[main]&lt;br /&gt;
dns=systemd-resolved&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager の無効化 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;dbus&#039;&#039; によってサービスが自動的に起動してしまうこともあります。&#039;&#039;systemctl&#039;&#039; でサービスをマスクすることで完全に無効化できます:&lt;br /&gt;
 # systemctl mask NetworkManager&lt;br /&gt;
 # systemctl mask NetworkManager-dispatcher&lt;br /&gt;
&lt;br /&gt;
=== /etc/resolv.conf ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager の {{ic|/etc/resolv.conf}} 管理モードは、 {{ic|main.rc-manager}} 設定で設定されています。デフォルトの {{ic|auto}} モードでは、 {{ic|/etc/resolv.conf}} の管理方法が次の順序で選択されます。&lt;br /&gt;
&lt;br /&gt;
* {{ic|/etc/resolv.conf}} が [https://wiki.archlinux.jp/index.php/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%83%91%E3%83%BC%E3%83%9F%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A8%E5%B1%9E%E6%80%A7#.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AE.E5.B1.9E.E6.80.A7 不変] の場合、ファイルは [https://wiki.archlinux.jp/index.php?title=NetworkManager&amp;amp;action=submit#.E7.AE.A1.E7.90.86.E5.AF.BE.E8.B1.A1.E5.A4.96.E3.81.AE_.2Fetc.2Fresolv.conf はまったく変更されません。] です。これは {{ic|1=main.rc-manager=unmanaged}} と同じです。&lt;br /&gt;
* {{ic|/etc/resolv.conf}} が {{ic|/run/systemd/resolve/stub-resolv.conf}}、 {{ic|/run/systemd/resolv.conf}}、または {{ic|/usr/lib/systemd/resolv.conf}} へのシンボリックリンクの場合、[[#systemd-resolved|systemd-resolved が使用されています]] これは {{ic|1=main.rc-manager=systemd-resolved}} と同じです。&lt;br /&gt;
* {{ic|/usr/bin/resolvconf}} が存在する場合は、[https://wiki.archlinux.jp/index.php?title=NetworkManager&amp;amp;action=submit#openresolv_.E3.82.92.E4.BD.BF.E7.94.A8 resolvconfを使用] これは {{ic|1=main.rc-manager=resolvconf}} と同じです。&lt;br /&gt;
* {{ic|/etc/resolv.conf}} が通常のファイルの場合、 NetworkManager はそのファイルに直接書き込みます。これは {{ic|1=main.rc-manager=file}} と同じです。&lt;br /&gt;
&lt;br /&gt;
詳細は、 {{man|5|NetworkManager.conf}} のマニュアルページを参照してください。&lt;br /&gt;
&lt;br /&gt;
{{Tip|openresolv を使用すると、 NetworkManager を他の &#039;&#039;resolvconf&#039;&#039; の場合サポートソフトウェアと共存させることができます。たとえば、 openresolv が [[openresolv#Subscribers|subscriber]] を持つローカル DNS キャッシングおよびスプリット DNS リゾルバを実行できます。 openresolv で NetworkManager を使用している場合、条件付き転送は[https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/153 まだ完全にはサポートされていません]}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NetworkManager&#039;&#039; は、いわゆる dispatcher スクリプト経由のフックも提供しています。これは、ネットワークの変更後に {{ic|/etc/resolv.conf}} を変更するために使用できます。詳細は、 [https://wiki.archlinux.jp/index.php/NetworkManager#.E3.83.8D.E3.83.83.E3.83.88.E3.83.AF.E3.83.BC.E3.82.AF.E3.82.B5.E3.83.BC.E3.83.93.E3.82.B9.E3.81.A8_NetworkManager_dispatcher NetworkManager dispatcher] および {{man|8|NetworkManager}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* NetworkManager が [[#dnsmasq|dnsmasq]] または [[#systemd-resolved|systemd-resolved]] のいずれかを使用するように設定されている場合、適切なループバックアドレスが {{ic|/etc/resolv.conf}} に書き込まれます。&lt;br /&gt;
* NetworkManager が {{ic|resolv.conf}} に書き込む、または書き込む {{ic|/etc/resolv.conf}} ファイルは、 {{ic|/run/NetworkManager/resolv.conf}} にあります。&lt;br /&gt;
* 取得したネームサーバと検索ドメインを含む {{ic|resolv.conf}} ファイルは {{ic|/run/NetworkManager/no-stub-resolv.conf}} にあります。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===== 管理対象外の /etc/resolv.conf =====&lt;br /&gt;
&lt;br /&gt;
NetworkManager が {{ic|/etc/resolv.conf}} に干渉しないようにするには、{{ic|/etc/NetworkManager/conf.d/}} の設定ファイルで {{ic|1=main.dns=none}} を設定します。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/conf.d/dns.conf|2=&lt;br /&gt;
[main]&lt;br /&gt;
dns=none&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|NetworkManager が DNS 設定を [[systemd-resolved]] に送信しないように、{{ic|1=main.systemd-resolved=false}} を設定することもできます。}}&lt;br /&gt;
&lt;br /&gt;
{{Note|[[#DNS キャッシングと条件付きフォワーディング]] を参照して、NetworkManager を {{ic|1=main.dns=none}} ではなく、 [https://wiki.archlinux.jp/index.php/Dnsmasq dnsmasq] や [[systemd-resolved]] などの他の DNS バックエンドを使用して設定してください。}}&lt;br /&gt;
&lt;br /&gt;
その後、 {{ic|/etc/resolv.conf}} は壊れたシンボリックリンクになるかもしれませんので、削除する必要があります。次に、新しい {{ic|/etc/resolv.conf}} ファイルを作成します。&lt;br /&gt;
&lt;br /&gt;
===== openresolv を使用 =====&lt;br /&gt;
&lt;br /&gt;
{{Tip|NetworkManager は、{{ic|/etc/resolv.conf}} が不変であるか、システムの {{ic|resolv.conf}} ファイルの一つへのシンボリックリンクでない限り、自動的に &#039;&#039;resolvconf&#039;&#039; を使います。}}&lt;br /&gt;
&lt;br /&gt;
{{Note|NetworkManager は、 {{Pkg|systemd-resolvconf}} によって提供される system-resolved の &#039;&#039;resolvconf&#039;&#039; インターフェイス [https://man.archlinux.org/man/resolvectl.1#COMPATIBILITY_WITH_RESOLVCONF(8) resolvectl COMPATIBILITY WITH RESOLVCONF(8)] の使用をサポートしていません。&lt;br /&gt;
* [[systemd-resolved]] を使用する場合は、 {{ic|1=main.rc-manager=resolvconf}} を設定せず、 [https://wiki.archlinux.jp/index.php/Systemd-resolved#DNS /etc/resolv.conf へのシンボリックリンクを正しく作成します。] または [https://wiki.archlinux.org/index.php/NetworkManager#systemd-resolved NetworkManager を構成して、明示的に systemed-resolved を使用する] 設定してください。&lt;br /&gt;
* systemd-resolvconf を使用しない場合は、 {{Pkg|systemd-resolvconf}} パッケージがインストールされていないことを確認してください。 {{ic|systemd-resolved.service}} を起動しないと、 resolvconf を使用するすべてのネットワークソフトウェア (NetworkManager だけでなく) が動作しなくなります。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[openresolv]] を使用するように NetworkManager を明示的に設定するには、 {{ic|1=main.rc-manager=resolvconf}} を {{ic|/etc/NetworkManager/conf.d/}} の設定ファイルで設定します。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/conf.d/rc-manager.conf|2=&lt;br /&gt;
[main]&lt;br /&gt;
rc-manager=resolvconf&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== テスト ==&lt;br /&gt;
&lt;br /&gt;
ログイン時に NetworkManager アプレットがロードされるようになっているので、ほとんどの場合さらに設定をする必要はありません。既に前のネットワーク設定を無効にしてネットワークから切断している場合、NetworkManager が動作するかどうかテストすることができます。まず {{ic|NetworkManager.service}} を[[デーモン|起動]]してください。&lt;br /&gt;
&lt;br /&gt;
アプレットは {{ic|.desktop}} ファイルを提供するので、NetworkManager アプレットはアプリケーションメニューからロードすることができます。アプレットがない場合、コマンドを探すか、一度ログアウトしてからログインしなおしてアプレットを起動してください。アプレットが起動すれば、DHCP サーバーの自動設定によってネットワーク接続のポーリングを開始します。&lt;br /&gt;
&lt;br /&gt;
[[Awesome]] などの xdg 非互換のウィンドウマネージャで GNOME アプレットを起動するには:&lt;br /&gt;
&lt;br /&gt;
 nm-applet --sm-disable &amp;amp;&lt;br /&gt;
&lt;br /&gt;
固定 IP を使うには NetworkManager を設定する必要があります。アプレットを右クリックして &#039;Edit Connections&#039; などを選択してください。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
一般的な問題に対する修正。&lt;br /&gt;
&lt;br /&gt;
=== PPTP トンネルを使って通信できない ===&lt;br /&gt;
&lt;br /&gt;
PPTP 接続のログインが成功すると、適切な VPN IP の ppp0 インターフェースが表示されますが、リモートの IP に ping できません。これは標準の Arch の pppd に MPPE (Microsoft Point-to-Point Encryption) サポートがないのが原因です。まず標準の Arch の {{Pkg|ppp}} を使って予期通り動作するか試すことを推奨します。&lt;br /&gt;
&lt;br /&gt;
問題を解決するには [[Arch User Repository|AUR]] から {{AUR|ppp-mppe}}{{Broken package link|{{aur-mirror|ppp-mppe}}}} をインストールしてください。&lt;br /&gt;
&lt;br /&gt;
PEAP の MSCHAPv2 type-2 認証を使う WPA2-Enterprise ワイヤレスネットワークでは標準の ppp パッケージではなく ppp-mppe が必要になることがあります。[[netctl]] では ppp-mppe がなくても設定いらずで動きます。いずれにしても、MSCHAPv2 は攻撃されやすいため使用が推奨されていません。ただし他の方法にすることはできないのが普通です。この [https://www.cloudcracker.com/blog/2012/07/29/cracking-ms-chap-v2/ 記事] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== Network management disabled ===&lt;br /&gt;
&lt;br /&gt;
時々 NetworkManager を終了したときに pid (state) ファイルが削除されずに &#039;Network management disabled&#039; というメッセージが表示されることがあります。これが発生した場合は、手動でファイルを削除する必要があります:&lt;br /&gt;
&lt;br /&gt;
 # rm /var/lib/NetworkManager/NetworkManager.state&lt;br /&gt;
&lt;br /&gt;
=== dhclient と DHCP に関する問題 ===&lt;br /&gt;
&lt;br /&gt;
DHCP を使って IP を取得するときに問題が起こるときは、以下を {{ic|/etc/dhclient.conf}} に追加してみてください:&lt;br /&gt;
  interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
    send dhcp-client-identifier 01:aa:bb:cc:dd:ee:ff;&lt;br /&gt;
  }&lt;br /&gt;
{{ic|aa:bb:cc:dd:ee:ff}} は NIC の MAC アドレスに置き換えてください。MAC アドレスは {{Pkg|iproute2}} パッケージの {{ic|ip link show &#039;&#039;interface&#039;&#039;}} コマンドを使うことでわかります。&lt;br /&gt;
&lt;br /&gt;
=== dhcpcd と DHCP に関する問題 ===&lt;br /&gt;
&lt;br /&gt;
ルーターによっては、{{ic|/etc/dhcpcd.conf}} ({{ic|dhcpd.conf}} とは別のファイルです) 内の次の行をコメントアウトしないと正しく接続できないことがあります:&lt;br /&gt;
 require dhcp_server_identifier&lt;br /&gt;
ネットワーク上で複数の DHCP サーバーを使ってなければこの修正によって問題が起こることはありません。詳細は [https://technet.microsoft.com/en-us/library/cc977442.aspx このページ] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== ホストネームの問題 ===&lt;br /&gt;
&lt;br /&gt;
ホストネームが接続しているルーターに送信されるかどうかは、使用している NetworkManager プラグインによります。標準の &amp;quot;keyfile&amp;quot; プラグインはデフォルト設定ではホストネームを送信しません。ホストネームを送信するようにしたいときは、以下を {{ic|/etc/NetworkManager/NetworkManager.conf}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/NetworkManager.conf|2=&lt;br /&gt;
[keyfile]&lt;br /&gt;
hostname=&#039;&#039;your_hostname&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|[keyfile]}} 下のオプションはデフォルトの {{ic|/etc/NetworkManager/system-connections}} のパスのネットワーク接続に適用されます。&lt;br /&gt;
&lt;br /&gt;
また、(NetworkManager が自動的に起動する) DHCP クライアントを設定して送信させることもできます。NetworkManager はデフォルトで {{Pkg|dhclient}} を利用しますが、インストールされていない場合は、NetworkManager 内蔵の DHCP 機能にフォールバックします。&#039;&#039;dhclient&#039;&#039; でホストネームを送信するには設定を変更する必要があります。&#039;&#039;dhcpcd&#039;&#039; はデフォルトでホストネームを送信します。&lt;br /&gt;
&lt;br /&gt;
まず、どの DHCP クライアントが使われているのか確認 (以下の例では &#039;&#039;dhclient&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
{{hc|&amp;lt;nowiki&amp;gt;# journalctl -b | egrep &amp;quot;dhc&amp;quot;&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
...&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: Nov 17 21:03:20 zenbook dhclient[2949]: Bound to *:546&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: Listening on Socket/wlan0&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: Sending on   Socket/wlan0&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: XMT: Info-Request on wlan0, interval 1020ms.&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: RCV: Reply message on wlan0 from fe80::126f:3fff:fe0c:2dc.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== ホストネームを DHCP サーバーに送るように dhclient を設定する ====&lt;br /&gt;
&lt;br /&gt;
サンプル設定ファイルをコピー:&lt;br /&gt;
&lt;br /&gt;
 # cp /usr/share/dhclient/dhclient.conf.example /etc/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
ファイルの中身を見てください。重要なのは以下の行です:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dhclient.conf|2=send host-name = pick-first-value(gethostname(), &amp;quot;ISC-dhclient&amp;quot;);}}&lt;br /&gt;
&lt;br /&gt;
IP アドレスの更新を強制することで DHCP サーバーからホストネームを確認できるようになるはずです。&lt;br /&gt;
 &lt;br /&gt;
==== 特定の DHCP クライアントを使うように NetworkManager を設定する ====&lt;br /&gt;
&lt;br /&gt;
NetworkManager で使用する DHCP クライアントを明示的に設定したい場合、グローバルな設定ファイルで設定できます:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=/etc/NetworkManager/NetworkManager.conf|2=dhcp=internal}}&lt;br /&gt;
&lt;br /&gt;
上記のオプションが設定されていない場合、{{ic|1=dhcp=dhclient}} がデフォルトで使われます。&lt;br /&gt;
&lt;br /&gt;
それから {{ic|NetworkManager.service}} を[[systemd#ユニットを使う|再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|1={{Pkg|dhcpcd}} のサポートは {{Pkg|networkmanager}}-1.0.0-2 で [https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/networkmanager&amp;amp;id=a1df79cbcebaec0c043789eb31965e57d17b6cdb 無効] になっています  (2015-02-14)。}}&lt;br /&gt;
&lt;br /&gt;
=== デフォルトの route が見つからない ===&lt;br /&gt;
&lt;br /&gt;
KDE4 システムでは、NetworkManager でワイヤレス接続を確立したときにデフォルトの route が作られません。ワイヤレス接続の route 設定を変更してデフォルトの選択 &amp;quot;Use only for resources on this connection&amp;quot; を削除すれば問題は解決します。&lt;br /&gt;
&lt;br /&gt;
=== 3G モデムが検知されない ===&lt;br /&gt;
&lt;br /&gt;
[[USB 3G モデム#Network_Manager]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== ラップトップで WLAN をオフに切り替える ===&lt;br /&gt;
&lt;br /&gt;
ラップトップについているスイッチを使って WiFi アダプタを無効にしてその後また有効にした時に NetworkManager が動作しないことがしばしばあります。これはほとんど {{ic|rfkill}} の問題です。[[公式リポジトリ]]から {{Pkg|rfkill}}{{Broken package link|置換パッケージ: {{Pkg|util-linux}}}} をインストールして、ドライバが {{ic|rfkill}} に無線アダプタの状態を通知しているかどうか確かめるために次のコマンドを実行してください:&lt;br /&gt;
&lt;br /&gt;
 $ watch -n1 rfkill list all&lt;br /&gt;
&lt;br /&gt;
アダプタの切り替えを行った後に identifier がブロックされたままの場合、手動でブロックを解除することができます (X は上のコマンドで出力された identifier の番号に置き換えてください):&lt;br /&gt;
&lt;br /&gt;
 # rfkill event unblock X&lt;br /&gt;
&lt;br /&gt;
=== 固定 IP 設定が DHCP に戻る ===&lt;br /&gt;
&lt;br /&gt;
未解決のバグのため、デフォルトの接続を固定 IP にしたとき、{{ic|nm-applet}} は正しく設定を保存できず、自動 DHCP に戻ります。&lt;br /&gt;
&lt;br /&gt;
この問題を解決するにはデフォルトの接続 (例: &amp;quot;Auto eth0&amp;quot;) を {{ic|nm-applet}} で編集してから、接続の名前を変更し (例: &amp;quot;my eth0&amp;quot;)、&amp;quot;Available to all users&amp;quot; のチェックを外して、固定 IP の設定をして、それから &#039;&#039;&#039;Apply&#039;&#039;&#039; をクリックする必要があります。これで新しい接続が指定した名前で保存されます。&lt;br /&gt;
&lt;br /&gt;
さらに、デフォルト接続を自動で接続して欲しくない場合があるかもしれません。そうするには、{{ic|nm-connection-editor}} を (root 以外で) 起動してください。接続エディタで、デフォルト接続 (例: &amp;quot;Auto eth0&amp;quot;) を編集して &amp;quot;Connect automatically&amp;quot; のチェックを外して &#039;&#039;&#039;Apply&#039;&#039;&#039; をクリックして終了してください。&lt;br /&gt;
&lt;br /&gt;
=== ノーマルユーザーで接続を編集できない ===&lt;br /&gt;
&lt;br /&gt;
[[#PolicyKit パーミッションの設定]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== 隠れた無線ネットワークの削除 ===&lt;br /&gt;
&lt;br /&gt;
ステルスが有効になっているネットワークは無線のリストに表示されないので、GUI で削除することは出来ません。次のコマンドでネットワークを削除することが可能です:&lt;br /&gt;
&lt;br /&gt;
 # rm /etc/NetworkManager/system-connections/[SSID]&lt;br /&gt;
&lt;br /&gt;
他の接続でもこのコマンドは使えます。&lt;br /&gt;
&lt;br /&gt;
=== VPN が Gnome で動作しない ===&lt;br /&gt;
&lt;br /&gt;
Gnome で NetworkManager を使って openconnect や vpnc 接続を設定すると、ダイアログが表示されず以下のエラーが {{ic|/var/log/errors.log}} に現れることがあります:&lt;br /&gt;
&lt;br /&gt;
 localhost NetworkManager[399]: &amp;lt;error&amp;gt; [1361719690.10506] [nm-vpn-connection.c:1405] get_secrets_cb(): Failed to request VPN secrets #3: (6) No agents were available for this request.&lt;br /&gt;
&lt;br /&gt;
これは GNOME の NM アプレットが {{ic|/usr/lib/gnome-shell}} にダイアログスクリプトがあると想定しているのが原因です。NetworkManager のパッケージは {{ic|/usr/lib/networkmanager}} に配置します。&amp;quot;一時的な&amp;quot;修正として (このバグをしばらく回避できます)、以下のシンボリックリンクを作成してください:&lt;br /&gt;
&lt;br /&gt;
* OpenConnect の場合: {{ic|ln -s /usr/lib/networkmanager/nm-openconnect-auth-dialog /usr/lib/gnome-shell/}}&lt;br /&gt;
* VPNC (すなわち Cisco VPN) の場合: {{ic|ln -s /usr/lib/networkmanager/nm-vpnc-auth-dialog /usr/lib/gnome-shell/}}&lt;br /&gt;
&lt;br /&gt;
他の NM VPN プラグインでも同じように設定してください。&lt;br /&gt;
&lt;br /&gt;
=== Systemd のボトルネック ===&lt;br /&gt;
&lt;br /&gt;
時が立つにつれてログファイル ({{ic|/var/log/journal}}) が膨大になってしまうことがあります。そうすると NetworkManager を使う場合にブートパフォーマンスに大きな影響を与えます。参照: [[systemd#少しづつ起動時間が長くなっている]]。&lt;br /&gt;
&lt;br /&gt;
=== 定期的にネットワークが切断される (WiFi) ===&lt;br /&gt;
&lt;br /&gt;
WiFi ドライバーの中にはベースステーションのスキャン時に問題が発生するものがあります。VPN が切断されたりパケットが消失したり、ウェブページがロードされないなどの症状が起こります。&lt;br /&gt;
&lt;br /&gt;
{{ic|journalctl -f}} を実行すると、以下のようなメッセージが定期的にログに残っているならこの問題が関わっています:&lt;br /&gt;
&lt;br /&gt;
 NetworkManager[410]: &amp;lt;info&amp;gt;  (wlp3s0): roamed from BSSID 00:14:48:11:20:CF (my-wifi-name) to (none) ((none))&lt;br /&gt;
&lt;br /&gt;
パッチが適用された NetworkManager を使うことでこの種のスキャニングを防ぐことができます: {{AUR|networkmanager-noscan}}。&lt;br /&gt;
&lt;br /&gt;
もしくは、ローミングが重要でない場合、WiFi の接続プロファイルでアクセスポイントの BSSID をロックすることで定期的なスキャンを無効化できます。&lt;br /&gt;
&lt;br /&gt;
== ヒントとテクニック ==&lt;br /&gt;
&lt;br /&gt;
=== Wi-Fi パスワードの暗号化 ===&lt;br /&gt;
&lt;br /&gt;
デフォルトでは NetworkManager は {{ic|/etc/NetworkManager/system-connections/}} に存在する接続ファイルに平文でパスワードを保存します。保存されているパスワードを表示するには、以下のコマンドを実行:&lt;br /&gt;
&lt;br /&gt;
 # grep -H &#039;^psk=&#039; /etc/NetworkManager/system-connections/*&lt;br /&gt;
&lt;br /&gt;
パスワードにアクセスできるのは root ユーザーだけであり通常ユーザーは GUI の設定からアクセスできます (例: {{ic|nm-applet}})。&lt;br /&gt;
&lt;br /&gt;
平文ではなく暗号化された状態で保存することもできますが、ユーザーごとに接続の設定が必要になります。&lt;br /&gt;
&lt;br /&gt;
====Gnome-Keyring を使う====&lt;br /&gt;
&lt;br /&gt;
キーリングデーモンを起動してキーリングを解錠する必要があります。&lt;br /&gt;
&lt;br /&gt;
さらに、全てのユーザーでパスワードを保存しないように NetworkManager を設定しなければなりません。GNOME の {{ic|nm-applet}} を使う場合、ターミナルから {{ic|nm-connection-editor}} を起動してネットワーク接続を選択し、{{ic|Edit}} をクリックして、{{ic|Wifi-Security}} タブからパスワードの右のアイコンをクリックして {{ic|Store the password only for this user}} にチェックを入れてください。&lt;br /&gt;
&lt;br /&gt;
=== wifi でインターネット接続を共有する ===&lt;br /&gt;
&lt;br /&gt;
nm を使って数クリックでインターネット接続 (例: 3G または有線) を共有することができます。サポートされた wifi カードが必要になります (Atheros AR9xx や AR5xx を使っているカードがおそらく最適です)。&lt;br /&gt;
&lt;br /&gt;
[[ファイアウォール]]がインターネット共有を妨害することもあるので注意してください。&lt;br /&gt;
&lt;br /&gt;
==== Ad-hoc ====&lt;br /&gt;
&lt;br /&gt;
* 接続の共有をできるようにするために {{Pkg|dnsmasq}} パッケージを[[pacman|インストール]]してください&lt;br /&gt;
* {{ic|dnsmasq.conf}} を修正すると nm に干渉する可能性があります&lt;br /&gt;
* nm-applet -&amp;gt; Create new wireless network をクリック&lt;br /&gt;
* ウィザードに従う (WEP を使用する場合、パスワードの長さは5文字あるいは13文字なければなりません)&lt;br /&gt;
* 次に必要になった時のために設定は保存されます&lt;br /&gt;
&lt;br /&gt;
==== Real AP ====&lt;br /&gt;
&lt;br /&gt;
2012年から、インフラストラクチャモード (ad-hoc をサポートしていない Android で必要) は NetworkManager でサポートされています。&lt;br /&gt;
&lt;br /&gt;
参照: https://fedoraproject.org/wiki/Features/RealHotspot&lt;br /&gt;
&lt;br /&gt;
=== cron ジョブやスクリプトでネットワークが立ち上がっているか確認する ===&lt;br /&gt;
&lt;br /&gt;
cron ジョブの中にはネットワークが立ち上がっている必要があるジョブもあります。ネットワークが立ち上がっていない場合はジョブを実行しないようにすることができます。そのためには、NetworkManager の {{ic|nm-tool}} を使ってネットワークの状態を確認する &#039;&#039;&#039;if&#039;&#039;&#039; テストを追加します。インターフェイスが立ち上がっている場合はテストは通りますが、全てのインターフェイスがダウンになっている場合はテストを通過しません。無線でネットワークにつながっていたり、いなかったりするノートパソコンなどで有用です。&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
if [ $(nm-tool|grep State|cut -f2 -d&#039; &#039;) == &amp;quot;connected&amp;quot; ]; then&lt;br /&gt;
    #Whatever you want to do if the network is online&lt;br /&gt;
else&lt;br /&gt;
    #Whatever you want to do if the network is offline - note, this and the else above are optional&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
上記は {{ic|cron.hourly}} スクリプトを使って {{ic|fpupdate}} を実行し F-Prot ウイルススキャナをアップデートしている場合などに有用です。&lt;br /&gt;
&lt;br /&gt;
=== ログイン時に自動的に接続する ===&lt;br /&gt;
&lt;br /&gt;
デフォルトでは、パスワードを入力しないと使えないネットワークの場合 NetworkManager は起動時に自動的に接続しません。自動的に接続するには以下の設定が必要です:&lt;br /&gt;
&lt;br /&gt;
# {{ic|nm-applet}} アイコンを右クリックして Edit Connections を選択し Wireless タブを開いて下さい&lt;br /&gt;
# 使用したい接続を選択して Edit ボタンをクリックしてください&lt;br /&gt;
# “Connect Automatically” と “Available to all users” のボックスにチェックを入れて下さい&lt;br /&gt;
一度ログアウトしてから再ログインすれば設定は完了です。&lt;br /&gt;
&lt;br /&gt;
=== ログインのあと自動でキーリングを解除する ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager はログイン情報を必要とするネットワークに接続するときにログインキーリングにアクセスします。大抵の場合、ログイン時に自動的に解錠されますが、解錠されていない場合、NetworkManager はログイン時に接続することができません。&lt;br /&gt;
&lt;br /&gt;
==== GNOME ====&lt;br /&gt;
&lt;br /&gt;
{{Note|以下の方法は古い情報であり機能する保証はありません。}}&lt;br /&gt;
* {{ic|/etc/pam.d/gdm}} (もしくは {{ic|/etc/pam.d}} にある適当なデーモン) を開いて、&amp;quot;auth&amp;quot; と &amp;quot;session&amp;quot; ブロックの最後に以下の行を追加します:&lt;br /&gt;
  auth            optional        pam_gnome_keyring.so&lt;br /&gt;
  session         optional        pam_gnome_keyring.so  auto_start&lt;br /&gt;
&lt;br /&gt;
* {{ic|/etc/pam.d/passwd}} を開いて、&#039;password&#039; ブロックで以下の行を使います:&lt;br /&gt;
  password    optional    pam_gnome_keyring.so&lt;br /&gt;
&lt;br /&gt;
:次のログイン時に、パスワードをログイン時に自動的にロック解除するべきかどうか尋ねられるはずです。&lt;br /&gt;
&lt;br /&gt;
==== SLiM ログインマネージャ ====&lt;br /&gt;
[[SLiM#SLiM と Gnome Keyring]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== 特定のデバイスを無視する ===&lt;br /&gt;
&lt;br /&gt;
時々 NetworkManager に特定のデバイスを無視してもらってアドレスやルートを設定しないのが望ましいことがあります。{{ic|/etc/NetworkManager/NetworkManager.conf}} で以下を使うことで MAC やインターフェイス名によってデバイスを無視するよう設定できます:&lt;br /&gt;
 [keyfile]&lt;br /&gt;
 unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth0&lt;br /&gt;
これを記述した後、NetworkManager を[[デーモン|再起動]]してください。設定したデバイスに触れないように NetworkManager でインターフェイスを設定できるはずです。&lt;br /&gt;
&lt;br /&gt;
=== 接続の高速化 ===&lt;br /&gt;
&lt;br /&gt;
==== IPv6 を無効にする ====&lt;br /&gt;
&lt;br /&gt;
NetworkManager の余計な IPv6 クエリーによって接続が遅くなったりネットワークの再接続が起こることがあります。ローカルネットワークで IPv6 をサポートしていない場合、NetworkManager が IPv6 の接続を確立しようとして結局タイムアウトするので、通常よりもネットワークへの接続に時間がかかるかもしれません。解決策は NetworkManager で IPv6 を無効にすることで、これによってネットワーク接続が高速になります。以下は接続するネットワークごとに実行する必要があります。&lt;br /&gt;
&lt;br /&gt;
* ネットワーク状態アイコンを右クリック。&lt;br /&gt;
* &amp;quot;Edit Connections&amp;quot; をクリック。&lt;br /&gt;
* &amp;quot;Wired&amp;quot; か &amp;quot;Wireless&amp;quot; タブを見る。&lt;br /&gt;
* ネットワークの名前を選択。&lt;br /&gt;
* &amp;quot;Edit&amp;quot; をクリック。&lt;br /&gt;
* &amp;quot;IPv6 Settings&amp;quot; タブを見る。&lt;br /&gt;
* &amp;quot;Method&amp;quot; ドロップダウンから &amp;quot;Ignore/Disabled&amp;quot; を選択。&lt;br /&gt;
* &amp;quot;Save&amp;quot; をクリック。&lt;br /&gt;
&lt;br /&gt;
==== DHCPCD の ARP probing を無効にして DHCP をスピードアップ ====&lt;br /&gt;
&lt;br /&gt;
{{ic|dhcpcd}} には割り当てられた IP アドレスが実際に取得されているかどうか ARP を使って確認する DHCP 標準 ([https://www.ietf.org/rfc/rfc2131.txt RFC2131] section 2.2) の勧告の実装が含まれています。家庭ネットワークではほとんどの場合これは不要なので、次の行を {{ic|/etc/dhcpcd.conf}} に加えることで接続にかかる時間を5秒間短くできます:&lt;br /&gt;
&lt;br /&gt;
 noarp&lt;br /&gt;
&lt;br /&gt;
これは {{ic|dhcpcd}}　に {{ic|--noarp}} を渡すのと同じであり、上述の ARP probing を無効にして、DHCP によるネットワーク接続を高速化します。&lt;br /&gt;
&lt;br /&gt;
==== OpenDNS サーバーを使う ====&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/resolv.conf.opendns}} を以下のネームサーバで作成してください:&lt;br /&gt;
&lt;br /&gt;
 nameserver 208.67.222.222&lt;br /&gt;
 nameserver 208.67.220.220&lt;br /&gt;
&lt;br /&gt;
もしくは Google DNS サーバーを使って下さい: &lt;br /&gt;
&lt;br /&gt;
 nameserver 8.8.8.8&lt;br /&gt;
 nameserver 8.8.4.4&lt;br /&gt;
&lt;br /&gt;
そして DHCP サーバーを OpenDNS サーバーに置き換える dispatcher を作って下さい:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/dns-servers-opendns|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Use OpenDNS servers over DHCP discovered servers&lt;br /&gt;
&lt;br /&gt;
cp -f /etc/resolv.conf.opendns /etc/resolv.conf&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
スクリプトを実行可能にします:&lt;br /&gt;
&lt;br /&gt;
 # chmod +x /etc/NetworkManager/dispatcher.d/dns-servers-opendns&lt;br /&gt;
&lt;br /&gt;
=== MAC アドレスのランダム化の設定 === &lt;br /&gt;
&lt;br /&gt;
バージョン 1.4.0 現在、NetworkManager では2種類の MAC アドレスランダム化をサポートしています。スキャン時のランダム化と定常的なランダム化です。どちらのモードも {{ic|/etc/NetworkManager/NetworkManager.conf}} で設定できます。&lt;br /&gt;
&lt;br /&gt;
無線スキャン時のランダム化はバージョン 1.2.0 からデフォルトで有効になっており、以下の行を {{ic|/etc/NetworkManager/NetworkManager.conf}} に追加することで無効にできます:&lt;br /&gt;
&lt;br /&gt;
 [device]&lt;br /&gt;
 wifi.scan-rand-mac-address=no&lt;br /&gt;
&lt;br /&gt;
{{Tip|1=MAC アドレスのランダム化を無効にすることで接続が安定することがあります。[https://bbs.archlinux.org/viewtopic.php?id=220101] を参照。}}&lt;br /&gt;
&lt;br /&gt;
定常的なランダム化では接続するたびに MAC アドレスが変わります。MAC アドレスでログイン状態を記録するポータルなどで有用です。有効にするには以下のオプションを使用:&lt;br /&gt;
&lt;br /&gt;
 [connection]&lt;br /&gt;
 wifi.cloned-mac-address=random&lt;br /&gt;
&lt;br /&gt;
または:&lt;br /&gt;
  &lt;br /&gt;
 [connection]&lt;br /&gt;
 ethernet.cloned-mac-address=random&lt;br /&gt;
&lt;br /&gt;
詳しくは [https://blogs.gnome.org/thaller/2016/08/26/mac-address-spoofing-in-networkmanager-1-4-0/ こちら] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== IPv6 プライバシー拡張の有効化 ===&lt;br /&gt;
&lt;br /&gt;
[[IPv6#NetworkManager]] を見てください。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://blogs.gnome.org/dcbw/2015/02/16/networkmanager-for-administrators-part-1/ NetworkManager for Administrators Part 1]&lt;/div&gt;</summary>
		<author><name>Oriaca372m</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=PipeWire&amp;diff=20761</id>
		<title>PipeWire</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=PipeWire&amp;diff=20761"/>
		<updated>2021-07-21T14:41:31Z</updated>

		<summary type="html">&lt;p&gt;Oriaca372m: 同期&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:マルチメディア]]&lt;br /&gt;
[[en:PipeWire]]&lt;br /&gt;
[[fi:PipeWire]]&lt;br /&gt;
[[pt:PipeWire]]&lt;br /&gt;
[https://pipewire.org PipeWire] は新しい低レベルマルチメディアフレームワークです。&lt;br /&gt;
映像と音声を最小の遅延で再生/キャプチャすることを目的としていて、[[PulseAudio]]、[[JACK]]、[[ALSA]]、[[GStreamer]] をベースとしたアプリケーションと互換性があります。&lt;br /&gt;
&lt;br /&gt;
このフレームワークのデーモンは (PulseAudio と JACK の機能を持った) オーディオサーバーとしても、ビデオキャプチャサーバーとしても設定できます。&lt;br /&gt;
&lt;br /&gt;
また PipeWire は [[Flatpak]] のようなコンテナをサポートしており、&#039;&#039;audio&#039;&#039; や &#039;&#039;video&#039;&#039; [[ユーザーとグループ#グループ管理|ユーザーグループ]]に依存するのではなく、Flatpak や Wayland にスクリーンや音声を録音する許可を求める [[Polkit]] のようなセキュリティモデルを使用しています。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
公式リポジトリの {{pkg|pipewire}} パッケージを[[インストール]]します。&lt;br /&gt;
&lt;br /&gt;
PipeWire は [[systemd/ユーザー]] を使用してサーバーの管理とソケットアクティベーションを行います。&lt;br /&gt;
&lt;br /&gt;
必要に応じて {{pkg|pipewire-docs}} をインストールしてドキュメントを確認することもできます。{{pkg|pipewire-alsa}}、{{pkg|pipewire-pulse}}、{{pkg|pipewire-jack}} などの他のパッケージは [[#音声|PulseAudio/JACKの代わりに PipeWire を使用]]したい場合を除き必要ありません。multilib サポートのために {{pkg|lib32-pipewire}}、{{pkg|lib32-pipewire-jack}} も利用できます。&lt;br /&gt;
&lt;br /&gt;
=== GUI ===&lt;br /&gt;
&lt;br /&gt;
* {{App|Helvum|PipeWire 用の GTK 製のパッチベイ。 JACK のツールの catia にインスパイアされた。|https://gitlab.freedesktop.org/ryuukyu/helvum|{{AUR|helvum}}, {{AUR|helvum-git}}}}&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
&lt;br /&gt;
=== WebRTC 画面共有===&lt;br /&gt;
&lt;br /&gt;
ほとんどのブラウザは WebRTC を使用しているとき (例えば Google ハングアウトで) デスクトップ (や個々のアプリケーション) をキャプチャするのに X11 に依存していました。Wayland ではセキュリティ上の理由から画面共有は異なる方法で処理されます。PipeWire はきめ細かなアクセス制御を使用して Wayland 上のコンテンツを共有できます。&lt;br /&gt;
&lt;br /&gt;
これには {{pkg|xdg-desktop-portal}} とそのバックエンドの1つが[http://jgrulich.cz/2018/07/04/04/how-to-enable-and-use-screen-sharing-on-wayland 必要です]。利用可能なバックエンドは次のとおりです:&lt;br /&gt;
&lt;br /&gt;
* GNOME の場合、{{pkg|xdg-desktop-portal-gtk}}&lt;br /&gt;
* KDE の場合、{{pkg|xdg-desktop-portal-kde}}&lt;br /&gt;
* wlroots ベースのコンポジター ([[Sway]] や [https://github.com/djpohly/dwl dwl] など) の場合、{{pkg|xdg-desktop-portal-wlr}}&lt;br /&gt;
&lt;br /&gt;
Firefox (バージョン84以降) はデフォルトでこの方法をサポートしていますが、Chromium (バージョン73以降) では、[https://bugs.chromium.org/p/chromium/issues/detail?id=682122 WebRTC PipeWireサポート]を次のURLの実験的機能の設定を変更して有効にする必要があります:&lt;br /&gt;
 chrome://flags/#enable-webrtc-pipewire-capturer&lt;br /&gt;
&lt;br /&gt;
{{ic|xdg-desktop-portal-wlr}} を動かすには {{pkg|pipewire-media-session}} をインストール[https://github.com/emersion/xdg-desktop-portal-wlr/wiki/FAQ/db63ec1ab6c0170334c1d1f45d1ebe543cc375fa#how-do-i-run-xdpw]して、セッション内で環境変数を {{ic|1=XDG_CURRENT_DESKTOP=sway}} のように設定する必要があります[https://github.com/emersion/xdg-desktop-portal-wlr#running]。同様に {{ic|1=XDG_SESSION_TYPE=wayland}} も設定する必要があります[https://github.com/emersion/xdg-desktop-portal-wlr/issues/117]。&lt;br /&gt;
&lt;br /&gt;
{{Tip|複数のモニタがある場合に {{ic|xdg-desktop-portal-wlr}} を使用してそれぞれのモニターを共有するには、ユニットの {{ic|1=ExecStart=}} オプションを[[Systemd#ユニットファイルの編集|編集]]して {{ic|1=--output=&#039;&#039;Monitor&#039;&#039;}} フラグを追加してください。行全体は {{ic|1=ExecStart=@libexecdir@/xdg-desktop-portal-wlr --output=eDP-1}} のようになります。}}&lt;br /&gt;
&lt;br /&gt;
唯一サポートされている機能はデスクトップ全体の共有で、特定のアプリケーション/ウィンドウの共有はサポートされていません。[https://github.com/emersion/xdg-desktop-portal-wlr/wiki/FAQ#will-this-let-me-share-individual-windows][https://github.com/KDE/xdg-desktop-portal-kde/blob/master/TODO]&lt;br /&gt;
&lt;br /&gt;
=== 映像 ===&lt;br /&gt;
&lt;br /&gt;
ソフトウェアはまだ商業利用には適していませんが、試す分には問題ありません。[[GStreamer]] を使用して映像ストリームを処理するほとんどのアプリケーションは PipeWire GStreamer プラグインを使用して設定なしで動作するはずです ([[GStreamer#PipeWire]]を参照してください)。そのため既に {{pkg|cheese}} のようなアプリケーションは PipeWire を使用して映像入力を利用できます。&lt;br /&gt;
&lt;br /&gt;
=== 音声 ===&lt;br /&gt;
&lt;br /&gt;
PulseAudio や JACK と同様に  PipeWire をオーディオサーバーとして使用できます。 PulseAudio サーバーの互換実装と JACK クライアント用の ABI 互換ライブラリを提供することで  PulseAudio と JACK の両方を置き換えることを目的としています。詳細については[https://blogs.gnome.org/uraeus/2020/09/04/pipewire-late-summer-update-2020/ この記事]を参照してください。&lt;br /&gt;
&lt;br /&gt;
==== ALSA/レガシーアプリケーション ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-alsa}} をインストールして ALSA API を使用するすべてのアプリケーションが PipeWire を使用するよう設定できます。&lt;br /&gt;
&lt;br /&gt;
==== PulseAudio クライアント ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-pulse}} をインストールします。このパッケージは {{pkg|pulseaudio}} と {{pkg|pulseaudio-bluetooth}} を置き換えます。再起動するか、ログインし直すか、{{ic|systemctl start --user pipewire-pulse.service}} を実行すると有効化されます。&lt;br /&gt;
&lt;br /&gt;
パッケージがユーザーサービス {{ic|pipewire-pulse.socket}} を自動的に有効化するので、通常それ以上の操作は不要です。置き換えが機能しているかどうかを確認するには、次のコマンドを実行して出力を確認してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=$ pactl info|2=&lt;br /&gt;
...&lt;br /&gt;
Server Name: PulseAudio (on PipeWire 0.3.16)&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
システム起動時に PipeWire が正しく機能しない場合は、[[systemd/ユーザー|ユーザーサービス]] {{ic|pipewire-pulse.service}} と {{ic|pipewire.service}} と {{ic|pipewire-media-session.service}} が起動して実行されているか確認します。{{ic|pipewire-pulse.service}} と {{ic|pipewire-pulse.socket}} は root で実行することを制限するような {{ic|ConditionUser}} を設定していることに注意してください。&lt;br /&gt;
&lt;br /&gt;
==== JACK クライアント ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-jack}} をインストールします。{{ic|pw-jack}} を使用して JACK クライアントを起動すると、元の {{ic|libjack*}} ではなく PipeWire が提供する互換ライブラリが使用されます:&lt;br /&gt;
&lt;br /&gt;
 pw-jack &#039;&#039;application&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
カスタムバッファサイズを要求することもできます。{{ic|PIPEWIRE_LATENCY}}環境変数を {{ic|バッファサイズ/サンプルレート}} (ブロックのレイテンシ(秒)を意味します) に設定します:&lt;br /&gt;
&lt;br /&gt;
 PIPEWIRE_LATENCY=&amp;quot;128/48000&amp;quot; pw-jack &#039;&#039;application&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
また {{aur|pipewire-jack-dropin}} をインストールするか、{{pkg|jack}} か {{pkg|jack2}} をアンインストールして JACK クライアントが互換ライブラリを自動的に読み込むようにもできます。&lt;br /&gt;
&lt;br /&gt;
{{ic|ldd}} を使用して JACK アプリケーションが正しいライブラリにリンクしていることを確認します。&lt;br /&gt;
&lt;br /&gt;
{{hc|1=$ ldd /usr/bin/qjackctl {{!}} grep -i libjack|2=&lt;br /&gt;
        libjack.so.0 =&amp;gt; /usr/lib/pipewire-0.3/jack/libjack.so.0 (0x00007f7e5080a000)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth デバイス ====&lt;br /&gt;
&lt;br /&gt;
PipeWire は {{pkg|pipewire-pulse}} パッケージがインストールされている場合 Bluetooth オーディオデバイスを制御します。具体的には、メディアセッションデーモンは {{ic|/etc/pipewire/media-session.d/with-pulseaudio}} が存在する時に自動的にその {{ic|bluez5}} モジュールを有効にします。&lt;br /&gt;
&lt;br /&gt;
==== ネイティブ JACK 上で PipeWire を実行する ====&lt;br /&gt;
&lt;br /&gt;
PipeWire はネイティブ JACK デーモン上の JACK クライアントとして実行することもできます。詳細は [https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/JACK JACK and PipeWire] を参照してください。&lt;br /&gt;
&lt;br /&gt;
== 音声のポストプロセッシング ==&lt;br /&gt;
&lt;br /&gt;
=== EasyEffects ===&lt;br /&gt;
&lt;br /&gt;
EasyEffects (以前は PulseEffects と呼ばれていました) は多数のエフェクトとフィルタを個々の入出力ストリーム (アプリケーションの音声出力やマイクの入力など) に提供する GTK 製のユーティリティです。注目すべきエフェクトには、入出力イコライザー、出力ラウドネス等化、ベースエンハンスメント、入力ディエッサー、ノイズ抑制プラグインなどがあります。[https://github.com/wwmm/easyeffects GitHub ページ]にエフェクトの一覧があります。&lt;br /&gt;
&lt;br /&gt;
EasyEffects を使用するには、{{pkg|easyeffects}} をインストールします。プリセット設定集については、[https://github.com/wwmm/easyeffects/wiki/Community-presets コミュニティープリセット]を参照してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|PulseEffects の古いバージョンについては [[PulseAudio#PulseEffects]] を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
=== NoiseTorch ===&lt;br /&gt;
&lt;br /&gt;
{{aur|noisetorch}} はノイズ抑制に使用できます。ビルド済み ({{aur|noisetorch-bin}}) や開発版 ({{aur|noisetorch-git}}) のパッケージもあります。&lt;br /&gt;
&lt;br /&gt;
起動すると選択したマイクにモジュールを読み込むことができます。声が出力される閾値を調整することができます。実際の声が削除されない最大のレベルに設定するべきです。&lt;br /&gt;
&lt;br /&gt;
=== LADSPA、LV2、VST プラグイン ===&lt;br /&gt;
&lt;br /&gt;
LADSPA、LV2、VSTのプラグインを使用したい場合は、カスタム PulseAudio null シンクと Carla Jack ホストを利用できます。{{pkg|pipewire-pulse}} と {{pkg|pipewire-jack}} と {{pkg|carla}} をインストールします。はじめに {{ic|default_null_sink}} という名前の PulseAudio の null シンクを作成します。&lt;br /&gt;
&lt;br /&gt;
 pactl load-module module-null-sink object.linger=1 media.class=Audio/Sink sink_name=default_null_sink channel_map=FL,FR&lt;br /&gt;
&lt;br /&gt;
{{ic|pw-jack carla-rack}} で PipeWire を使用する Carla を起動します。&#039;&#039;Rack&#039;&#039; タブで使いたいプラグインを全て追加します。プラグインのタイプが &#039;&#039;stereo&#039;&#039; であることを確認してください。適用する順番を変えることができます。EasyEffectsのようにリストの最初のプラグインが最初に入力の音声ストリームを受け取ります。その後 &#039;&#039;Patchbay&#039;&#039; タブに移動し {{ic|default_null_sink}} の L/R monitor を Carla input に接続し、Carla output を出力したいデバイス (スピーカーやイヤホンや HDMI 出力など) の playback に接続します。設定をフォルダに保存します ({{ic|~/Documents/carla_sink_effects.carxp}} など)。&lt;br /&gt;
&lt;br /&gt;
Firefox で動画を見ている時など、アプリケーションが音声を再生している時に効果を試すことができます。2つの方法があります。一つは Carla の &#039;&#039;Patchbay&#039;&#039; タブで Firefox の接続を全て外し {{ic|default_null_sink}} の L/R output に接続する方法です。もう一つは {{pkg|pavucontrol}} を使用し Firefox の音声ストリームを {{ic|default_null_sink}} に変更する方法です (この方法は同じアプリケーションの次回起動時に同じ接続先を使用するはずです)。&lt;br /&gt;
&lt;br /&gt;
これらの設定を起動時に適用するには、まず2つの systemd ユーザーサービスを作成します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/systemd/user/jack-carla-rack.service|output=&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Load Carla Rack JACK host&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
PassEnvironment=&amp;quot;PIPEWIRE_LINK_PASSIVE=true&amp;quot;&lt;br /&gt;
Type=exec&lt;br /&gt;
ExecStart=/usr/bin/pw-jack carla-rack -n&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
}}&lt;br /&gt;
{{hc|~/.config/systemd/user/pulseaudio-null-sink@.service|output=&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Load %i Pulseaudio null sink&lt;br /&gt;
Before=jack-carla-rack.service&lt;br /&gt;
After=pipewire-pulse.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/bin/pactl load-module module-null-sink object.linger=1 media.class=Audio/Sink sink_name=%i channel_map=FL,FR&lt;br /&gt;
ExecStop=/usr/bin/pactl unload-module module-null-sink&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;jack-carla-rack&#039;&#039; サービスの &#039;&#039;Environment&#039;&#039; を Carla の設定ファイルのフルパスを指定するよう上書きします:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/systemd/user/jack-carla-rack.service.d/override.conf|output=&lt;br /&gt;
Environment=&amp;quot;CARLA_CONFIG_FILE=/home/username/Documents/carla_sink_effects.carxp&amp;quot;&lt;br /&gt;
ExecStart=&lt;br /&gt;
ExecStart=/usr/bin/pw-jack carla-rack -n $CARLA_CONFIG_FILE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
最後に、作成したサービスを有効化します。&#039;&#039;pulseaudio-null-sink&#039;&#039; サービスには {{ic|default_null_sink}} 引数をつけてください:&lt;br /&gt;
&lt;br /&gt;
 systemctl --user enable pulseaudio-null-sink@default_null_sink.service&lt;br /&gt;
 systemctl --user enable jack-carla-rack.service&lt;br /&gt;
&lt;br /&gt;
{{Note|システム設定で {{ic|default_null_sink}} をデフォルトデバイスに設定すると、全てのアプリケーションが {{ic|default_null_sink}} にリダイレクトされ、音量の変更がスピーカーではなく {{ic|default_null_sink}} に対して行われるようになります。スピーカーの音量を変更したい場合は、デフォルトデバイスをスピーカーから変更せずにアプリケーションの出力先を pavucontrol で {{ic|default_null_sink}} に変更してください (PipeWire の互換性レイヤーは次回起動時も出力先を覚えています)。}}&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
{{Out of date|デフォルトの設定ファイルは /etc/pipewire から /usr/share/pipewire に移動しました。以前と同様にシステム全体に対する設定は /etc/pipewire で、ユーザーに対する設定は $HOME/.config/pipewire/ で行いますが、デフォルトの設定を /usr/share/pipewire からコピーする必要があります。https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/1609126bcd720304b7a4c81b87cc3e70ae91ff44}}&lt;br /&gt;
&lt;br /&gt;
=== PipeWire にマイクが検出されない ===&lt;br /&gt;
&lt;br /&gt;
PipeWire の {{ic|alsa-monitor}} モジュールは、デフォルトで {{pkg|alsa-card-profiles}} を使用してデバイスを検出します。これでうまくいかない場合は、{{ic|/etc/pipewire/media-session.d/alsa-monitor.conf}} の {{ic|rules}} -&amp;gt; 最初のルール -&amp;gt; {{ic|actions}} -&amp;gt; {{ic|update-props}} の {{ic|api.alsa.use-acp}} を {{ic|false}} にするか、または {{ic|api.alsa.use-ucm}} を {{ic|true}} にしてみてください:&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 update-props = {&lt;br /&gt;
     api.alsa.use-acp = false&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
次に PipeWire を再起動し使用可能なデバイスを確認します:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=&lt;br /&gt;
$ pw-record --list-targets&lt;br /&gt;
|2=&lt;br /&gt;
Available targets (&amp;quot;*&amp;quot; denotes default): 62&lt;br /&gt;
	58: description=&amp;quot;Built-in Audio&amp;quot; prio=1872&lt;br /&gt;
	60: description=&amp;quot;Built-in Audio&amp;quot; prio=2000&lt;br /&gt;
*	62: description=&amp;quot;Built-in Audio (Loopback PCM)&amp;quot; prio=1984&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth デバイスに接続しても音が出ない ===&lt;br /&gt;
&lt;br /&gt;
2020-12-07 の時点で、Bluetooth デバイスを接続しても音が出ない場合は、デフォルトのシンクに切り替えるか、シンク入力を正しいシンクに移動する必要があります。{{ic|pactl list sinks}} で使用可能なシンクの一覧を表示し、{{ic|pactl set-default-sink}} でデフォルトのシンクを Bluetooth デバイスに切り替えます。これは[https://gist.github.com/tinywrkb/04e7fd644afa9b92d33a3a99ab07ee9e このようなスクリプト]を使って [[udev]] で自動化できます。&lt;br /&gt;
&lt;br /&gt;
この問題については、この [https://www.reddit.com/r/archlinux/comments/jydd02/pipewirepulse_03164_in_testing_now_replaces/gd3m7fu/?context=3 Reddit スレッド]を参照してください。スクリプトの作成者によると、ヘッドセットプロファイル (HSP) にまだ問題がある可能性があります。&lt;br /&gt;
&lt;br /&gt;
=== 音量が小さい ===&lt;br /&gt;
&lt;br /&gt;
PulseAudio を PipeWire で置き換えた後、正しく音が出ても、再起動後に音量が極端に小さくなることがあります。&lt;br /&gt;
&lt;br /&gt;
{{ic|alsamixer}} を開き、{{ic|F6}} を押して適切なサウンドカードを選び ALSA のボリュームが100%であることを確認してください。{{ic|alsactl}} は再起動後もこの設定を維持するはずです。&lt;br /&gt;
&lt;br /&gt;
=== increasing RLIMIT_MEMLOCK ===&lt;br /&gt;
&lt;br /&gt;
 Dec 13 11:11:11 HOST pipewire-pulse[99999]: Failed to mlock memory 0x7f4f659d8000 32832: This is not a problem but for best performance, consider increasing RLIMIT_MEMLOCK&lt;br /&gt;
&lt;br /&gt;
{{pkg|realtime-privileges}} をインストールし {{ic|realtime}} グループに自分のユーザーを追加します。&lt;br /&gt;
&lt;br /&gt;
あるいは memlock を 64kB から 128kB に増やすことで、この問題を解決できるようです。[[systemd/ユーザー]] で {{ic|pipewire-pulse}} を実行している場合は {{ic|/etc/security/limits.d/username.conf}} に次の行を追加します:&lt;br /&gt;
&lt;br /&gt;
 username	soft	memlock	64&lt;br /&gt;
 username	hard	memlock	128&lt;br /&gt;
&lt;br /&gt;
=== サンプリングレートを変更する ===&lt;br /&gt;
&lt;br /&gt;
デフォルトで PipeWire はグローバルサンプリングレートを 48kHz に設定します。これを変更したい場合 (DACがより高い値をサポートしている場合など) は {{ic|/etc/pipewire/pipewire.conf}} の {{ic|1=default.clock.rate  =    48000}} の行を編集します。例えば 192kHz にしたい場合、コメントを外して {{ic|48000}} を {{ic|192000}} に変更します。&lt;br /&gt;
&lt;br /&gt;
=== 外付けサウンドカードが再接続後に有効にならない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|~/.config/pipewire-media-session/default-profile}} にデフォルトプロファイル &#039;&#039;off&#039;&#039; のエントリがあれば削除します。それでも解決しない場合は {{ic|~/.config/pipewire-media-session/}} からすべてのファイルを削除し、{{ic|systemctl --user restart pipewire.service}} で PipeWire を再起動します。&lt;br /&gt;
&lt;br /&gt;
=== 音が出ないまたは pactl info が Failure: Connection refused と表示する ===&lt;br /&gt;
&lt;br /&gt;
これはアプリケーションが PipeWire-Pulse サービスに接続できていないことを意味します。{{ic|/etc/pipewire/pipewire-pulse.conf}} が存在し空でないことを確認し、{{ic|systemctl --user restart pipewire-pulse.service}} で PipeWire-Pulse を再起動してください。&lt;br /&gt;
&lt;br /&gt;
それでも解決しない場合は {{ic|strace -f -o /tmp/pipe.txt pactl info}} を実行し、pastebin に {{ic|/tmp/pipe.txt}} を貼り付けて、IRC (OFTC の [ircs://irc.oftc.net/pipewire #pipewire]) かメーリングリストで相談してください。&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth の音声の品質が低い===&lt;br /&gt;
&lt;br /&gt;
Bluetooth で再生が途切れる場合は {{ic|systemctl --user status pipewire.service}} を実行してみてください。次のようなエラーが表示される場合は、&lt;br /&gt;
&lt;br /&gt;
 Feb 17 18:23:01 HOST pipewire[249297]: (bluez_input.18:54:CF:04:00:56.a2dp-sink-60) client too slow! rate:512/48000 pos:370688 status:triggered&lt;br /&gt;
&lt;br /&gt;
{{ic|pactl list sinks}} で現在選択されているコーデックを確認し、{{ic|/etc/pipewire/media-session.d/bluez-monitor.conf}} の {{ic|bluez5.codecs}} を {{ic|sbc aac ldac aptx aptx_hd}} のいずれかに変更してみてください。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pipewire/media-session.d/bluez-monitor.conf|output=&lt;br /&gt;
...&lt;br /&gt;
properties = {&lt;br /&gt;
  ...&lt;br /&gt;
  bluez5.codecs = [sbc]&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
mSBC サポートの有効化を試すには (Sony 1000XM3 のマイクの問題を修正します):&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pipewire/media-session.d/bluez-monitor.conf|output=&lt;br /&gt;
...&lt;br /&gt;
rules = [&lt;br /&gt;
  ...&lt;br /&gt;
  actions = {&lt;br /&gt;
    ...&lt;br /&gt;
    update-props = {&lt;br /&gt;
     ...&lt;br /&gt;
     bluez5.msbc-support = true&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
変更を適用するには {{ic|systemctl --user restart pipewire.service}} で PipeWire を再起動する必要があります。&lt;br /&gt;
&lt;br /&gt;
=== PipeWire の更新 (git / &amp;gt;=0.3.23) と再起動後デバイスが検出されない===&lt;br /&gt;
&lt;br /&gt;
コミット 012a68f8[https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/012a68f8ef33705f1a40ec8ac294b8cce7f6aa88] の時点で新しい systemd サービスが追加されデフォルトでは無効になっています。これはシステムの起動時に {{ic|pipewire-media-session}} が実行されないことを意味します。サービスを有効にするには {{ic|systemctl --user enable --now pipewire-media-session.service}} を実行します。&lt;br /&gt;
&lt;br /&gt;
システムの管理者やパッケージマネージャが更新後に設定ファイルの変更を整理していない場合、{{ic|pipewire.service}} によって {{ic|pipewire-media-session}} の別のプロセスが実行されている可能性があります。確認するには {{ic|systemctl --user status pipewire.service}} を実行してください。&lt;br /&gt;
&lt;br /&gt;
pipewire および pipewire-media-session が実行中と表示される場合は、システム設定かユーザ設定、あるいは両方を更新します。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pipewire/pipewire.conf または ~/.config/pipewire/pipewire.conf|output=&lt;br /&gt;
context.exec = {&lt;br /&gt;
  ...&lt;br /&gt;
  # 次の行はコメントアウトする必要があります&lt;br /&gt;
  #&amp;quot;/usr/bin/pipewire-media-session&amp;quot; = { args = &amp;quot;&amp;quot; }&lt;br /&gt;
  ...&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== 再生開始時に音声に遅延が発生する ===&lt;br /&gt;
&lt;br /&gt;
これは非アクティブ時のノードのサスペンドが原因です。遅延が発生する領域に応じて {{ic|/etc/pipewire/media-session.d/*-monitor.conf}} を編集し、プロパティ {{ic|session.suspend-timeout-seconds}} を {{ic|0}} に変更してサスペンドを無効にするか、他の値を試して動作を確認してみてください。{{ic|/etc/pipewire/media-session.d/media-session.conf}} の {{ic|suspend-node}} の行をコメントアウトすることもできます。変更を適用するには {{ic|pipewire}} と {{ic|pipewire-pulse}} systemd サービスの両方を再起動するか、システムを再起動してください。&lt;br /&gt;
&lt;br /&gt;
=== 複数のストリームの再生開始時に音声が途切れる ===&lt;br /&gt;
&lt;br /&gt;
この問題は通常 {{ic|journalctl -b | grep -i pipewire}} を実行し、次のような行を探すことで診断できます:&lt;br /&gt;
&lt;br /&gt;
 pipewire-pulse[21740]: pulse-server 0x56009b9d5de0: [Nightly] UNDERFLOW channel:0 offset:370676 underrun:940&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#underrununderflow-and-broken-pipe-errors 公式 PipeWire トラブルシューティングガイド]によると、この問題を解決するには {{ic|/etc/pipewire/media-session.d/alsa-monitor.conf}} を編集し、{{ic|1=api.alsa.headroom = 0}} という行のコメントを外し、値を {{ic|1024}} に変更します。&lt;br /&gt;
&lt;br /&gt;
=== 音がひずむ ===&lt;br /&gt;
* マイクについては、{{ic|alsamixer}} を起動し、問題があるサウンドカードを選択し、{{ic|Mic Boost}} や {{ic|Internal Mic Boost}} の値を下げてみてください。&lt;br /&gt;
* {{ic|/etc/pipewire/pipewire.conf}} の {{ic|1=default.clock.rate = 48000}} のコメントを外して、値を {{ic|44100}} に下げてみてください。&lt;br /&gt;
&lt;br /&gt;
=== スタンバイ後に音声の問題が発生する ===&lt;br /&gt;
&lt;br /&gt;
スリープから復帰した際に音が消えたり壊れたりする場合は、ALSA を最初期化すると改善するかもしれません:&lt;br /&gt;
&lt;br /&gt;
 # alsactl init&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home Wiki] — PipeWire Wiki on Freedesktop GitLab&lt;br /&gt;
* [https://blogs.gnome.org/uraeus/2018/01/26/an-update-on-pipewire-the-multimedia-revolution-an-update/ Pipewire Update Blog Post] — PipeWire の2018年1月時点での進捗が書かれた記事&lt;br /&gt;
* [https://blogs.gnome.org/uraeus/2020/09/04/pipewire-late-summer-update-2020/ PipeWire Late Summer Update 2020] — 2020年9月からの記事&lt;/div&gt;</summary>
		<author><name>Oriaca372m</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Limits.conf&amp;diff=20759</id>
		<title>Limits.conf</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Limits.conf&amp;diff=20759"/>
		<updated>2021-07-21T12:55:58Z</updated>

		<summary type="html">&lt;p&gt;Oriaca372m: 同期&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Lowercase title}}&lt;br /&gt;
[[Category:認証]]&lt;br /&gt;
[[en:Limits.conf]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Cgroups}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/security/limits.conf}} を使うことで [[PAM]] でログインしたユーザーが使用できるリソースを制限することができます。[[Wikipedia:ja:Fork爆弾|フォーク爆弾]]などによってシステムリソースが食い尽くされることを防ぐのに役立ちます。&lt;br /&gt;
&lt;br /&gt;
{{Note|このファイルはシステムサービスには影響しません。[[systemd]] サービスは {{ic|/etc/systemd/system.conf}}, {{ic|/etc/systemd/user.conf}}, {{ic|/etc/systemd/system/&#039;&#039;unit&#039;&#039;.d/override.conf}} などを使ってリソースを制御することが可能です。詳しくは {{man|5|systemd-system.conf}} の man ページを見てください。}}&lt;br /&gt;
&lt;br /&gt;
== 構文 ==&lt;br /&gt;
&lt;br /&gt;
デフォルトファイルにはコメントが豊富に付けられていますが、{{man|5|limits.conf}} の man ページを読むことでさらに詳しい情報を得ることができます。&lt;br /&gt;
&lt;br /&gt;
== 推奨設定 ==&lt;br /&gt;
&lt;br /&gt;
=== core ===&lt;br /&gt;
&lt;br /&gt;
コアファイルはデバッグのときは役に立ちますが、通常の使用ではとくに役立ちません。ソフトリミットを0にしてハードリミットを無制限にすることで、デバッグでコアファイルが必要になったときだけ {{ic|ulimit -c unlimited}} で一時的にリミットを変更することができます。&lt;br /&gt;
&lt;br /&gt;
 *           soft    core       0           # Prevent corefiles from being generated by default.&lt;br /&gt;
 *           hard    core       unlimited   # Allow corefiles to be temporarily enabled.&lt;br /&gt;
&lt;br /&gt;
=== nice ===&lt;br /&gt;
&lt;br /&gt;
最高優先度 (-20) のプロセスを実行できるのは root だけにすることで、システムが反応しなくなった場合に root で対処することができます。&lt;br /&gt;
&lt;br /&gt;
 *           hard    nice       -19         # Prevent non-root users from running a process at minimal niceness.&lt;br /&gt;
 root        hard    nice       -20         # Allows root to run a process at minimal niceness to fix the system when unresponsive.&lt;br /&gt;
&lt;br /&gt;
=== nofile ===&lt;br /&gt;
&lt;br /&gt;
特定のドメインでプロセスが一度に開くことができるファイル記述子の数を制限します。[https://appdb.winehq.org/objectManager.php?sClass=version&amp;amp;iId=21080&amp;amp;iTestingId=89787#notes 特定のゲームを動作させるには] 値を {{ic|8192}} などに増やす必要があります。MongoDB や Apache Kafka 等のデータベース管理システムの中は {{ic|nofile}} を {{ic|64000}} か {{ic|128000}} に設定することを推奨しているものもあります[https://docs.mongodb.com/manual/reference/ulimit/#recommended-ulimit-settings]。&lt;br /&gt;
&lt;br /&gt;
 *           hard    nofile     8192        # Required for certain games to run.&lt;br /&gt;
&lt;br /&gt;
=== nproc ===&lt;br /&gt;
&lt;br /&gt;
フォーク爆弾を複製できる回数を制限するため、nproc の制限は重要です。ただし、設定した値が低すぎるとシステムが不安定になったり、新しいプロセスが作成できなくなって使用不可能な状態になることもあります。&lt;br /&gt;
&lt;br /&gt;
ミニマルなウィンドウマネージャを使って複数のデスクトップアプリケーションやデーモンを動かす場合は {{ic|300}} は低すぎますが、X を起動しないサーバーの場合は十分です (ジョージア大学の Linux サーバーでは {{ic|300}} に設定されています)。&lt;br /&gt;
&lt;br /&gt;
以下は全てのユーザーの nproc を制限する例です:&lt;br /&gt;
&lt;br /&gt;
 *           hard    nproc      2048        # Prevent fork-bombs from taking out the system.&lt;br /&gt;
&lt;br /&gt;
{{ic|2048}} という値はあくまで例であり、場合によってはもっと高い値が必要になります。逆に、低くしても問題ない可能性もあります。&lt;br /&gt;
&lt;br /&gt;
nproc の設定を何にするのであれ、root ユーザーはいくらでもプロセスを作成できるように設定してください。そうしないと nproc の制限が低すぎた場合に回復できなくなってしまう可能性があります。上記の設定の後に以下の行を記述してください ({{ic|65536}} という値は自由です)。&lt;br /&gt;
&lt;br /&gt;
 root        hard    nproc      65536       # Prevent root from not being able to launch enough processes&lt;br /&gt;
&lt;br /&gt;
=== priority ===&lt;br /&gt;
&lt;br /&gt;
デフォルトの nice 値は基本的に 0 ですが、以下のパラメータを使うことでユーザーやグループによってそれぞれ個別の優先度を設定することができます。&lt;br /&gt;
&lt;br /&gt;
 *           soft    priority   0           # Set the default priority to neutral niceness.&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [[セキュリティ]]&lt;/div&gt;</summary>
		<author><name>Oriaca372m</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=PipeWire&amp;diff=19878</id>
		<title>PipeWire</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=PipeWire&amp;diff=19878"/>
		<updated>2021-05-12T15:27:34Z</updated>

		<summary type="html">&lt;p&gt;Oriaca372m: 同期&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:マルチメディア]]&lt;br /&gt;
[[en:PipeWire]]&lt;br /&gt;
[[fi:PipeWire]]&lt;br /&gt;
[https://pipewire.org PipeWire] は新しい低レベルマルチメディアフレームワークです。&lt;br /&gt;
映像と音声を最小の遅延で再生/キャプチャすることを目的としていて、PulseAudio、JACK、ALSA、GStreamer をベースとしたアプリケーションと互換性があります。&lt;br /&gt;
&lt;br /&gt;
このフレームワークのデーモンは (PulseAudio と JACK の機能を持った) オーディオサーバーとしても、ビデオキャプチャサーバーとしても設定できます。&lt;br /&gt;
&lt;br /&gt;
また PipeWire は [[Flatpak]] のようなコンテナをサポートしており、&#039;&#039;audio&#039;&#039; や &#039;&#039;video&#039;&#039; [[ユーザーとグループ#グループ管理|ユーザーグループ]]に依存するのではなく、Flatpak や Wayland にスクリーンや音声を録音する許可を求める [[Polkit]] のようなセキュリティモデルを使用しています。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
公式リポジトリの {{pkg|pipewire}} パッケージを[[インストール]]します。&lt;br /&gt;
&lt;br /&gt;
PipeWire は [[systemd/ユーザー]] を使用してサーバーの管理とソケットアクティベーションを行います。&lt;br /&gt;
&lt;br /&gt;
必要に応じて {{pkg|pipewire-docs}} をインストールしてドキュメントを確認することもできます。{{pkg|pipewire-alsa}}、{{pkg|pipewire-pulse}}、{{pkg|pipewire-jack}} などの他のパッケージは [[#音声|PulseAudio/JACKの代わりに PipeWire を使用]]したい場合を除き必要ありません。multilib サポートのために {{aur|lib32-pipewire}}、{{aur|lib32-pipewire-jack}} も利用できます。&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
&lt;br /&gt;
=== WebRTC 画面共有===&lt;br /&gt;
&lt;br /&gt;
ほとんどのブラウザは WebRTC を使用しているとき (例えば Google ハングアウトで) デスクトップ (や個々のアプリケーション) をキャプチャするのに X11 に依存していました。Wayland ではセキュリティ上の理由から画面共有は異なる方法で処理されます。PipeWire はきめ細かなアクセス制御を使用して Wayland 上のコンテンツを共有できます。&lt;br /&gt;
&lt;br /&gt;
これには {{pkg|xdg-desktop-portal}} とそのバックエンドの1つが[http://jgrulich.cz/2018/07/04/04/how-to-enable-and-use-screen-sharing-on-wayland 必要です]。利用可能なバックエンドは次のとおりです:&lt;br /&gt;
&lt;br /&gt;
* GNOME の場合、{{pkg|xdg-desktop-portal-gtk}}&lt;br /&gt;
* KDE の場合、{{pkg|xdg-desktop-portal-kde}}&lt;br /&gt;
* wlroots ベースのコンポジター ([[Sway]] や [https://github.com/djpohly/dwl dwl] など) の場合、{{pkg|xdg-desktop-portal-wlr}}&lt;br /&gt;
&lt;br /&gt;
Firefox (バージョン84以降) はデフォルトでこの方法をサポートしていますが、Chromium (バージョン73以降) では、[https://bugs.chromium.org/p/chromium/issues/detail?id=682122 WebRTC PipeWireサポート]を次のURLの実験的機能の設定を変更して有効にする必要があります:&lt;br /&gt;
 chrome://flags/#enable-webrtc-pipewire-capturer&lt;br /&gt;
&lt;br /&gt;
{{ic|xdg-desktop-portal-wlr}} を動かすには {{pkg|pipewire-media-session}} をインストール[https://github.com/emersion/xdg-desktop-portal-wlr/wiki/FAQ/db63ec1ab6c0170334c1d1f45d1ebe543cc375fa#how-do-i-run-xdpw]して、セッション内で環境変数を {{ic|1=XDG_CURRENT_DESKTOP=sway}} のように設定する必要があります[https://github.com/emersion/xdg-desktop-portal-wlr#running]。&lt;br /&gt;
&lt;br /&gt;
{{Tip|複数のモニタがある場合に {{ic|xdg-desktop-portal-wlr}} を使用してそれぞれのモニターを共有するには、ユニットのサービスファイルの {{ic|1=ExecStart=}} オプションを[[Systemd#Editing_provided_units|編集]]して {{ic|1=--output=&#039;&#039;Monitor&#039;&#039;}} フラグを追加してください。行全体は {{ic|1=ExecStart=@libexecdir@/xdg-desktop-portal-wlr --output=eDP-1}} のようになります。}}&lt;br /&gt;
&lt;br /&gt;
唯一サポートされている機能はデスクトップ全体の共有で、特定のアプリケーション/ウィンドウの共有はサポートされていません。[https://github.com/emersion/xdg-desktop-portal-wlr/wiki/FAQ#will-this-let-me-share-individual-windows][https://github.com/KDE/xdg-desktop-portal-kde/blob/master/TODO]&lt;br /&gt;
&lt;br /&gt;
=== 映像 ===&lt;br /&gt;
&lt;br /&gt;
ソフトウェアはまだ商業利用には適していませんが、試す分には問題ありません。[[GStreamer]] を使用して映像ストリームを処理するほとんどのアプリケーションは PipeWire GStreamer プラグインにより設定なしで動作するはずです。そのため既に {{pkg|cheese}} のようなアプリケーションは PipeWire を使用して映像入力を利用できます。&lt;br /&gt;
&lt;br /&gt;
=== 音声 ===&lt;br /&gt;
&lt;br /&gt;
PulseAudio や JACK と同様に  PipeWire をオーディオサーバーとして使用できます。 PulseAudio サーバーの互換実装と JACK クライアント用の ABI 互換ライブラリを提供することで  PulseAudio と JACK の両方を置き換えることを目的としています。詳細については[https://blogs.gnome.org/uraeus/2020/09/04/pipewire-late-summer-update-2020/ この記事]を参照してください。&lt;br /&gt;
&lt;br /&gt;
==== ALSA/レガシーアプリケーション ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-alsa}} をインストールして ALSA API を使用するすべてのアプリケーションが PipeWire を使用するよう設定できます。&lt;br /&gt;
&lt;br /&gt;
==== PulseAudio クライアント ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-pulse}} をインストールします。このパッケージは {{pkg|pulseaudio}} と {{pkg|pulseaudio-bluetooth}} を置き換えます。パッケージがユーザーサービス {{ic|pipewire-pulse.socket}} を自動的に有効化するので、通常それ以上の操作は不要です。システム起動時に PipeWire が正しく機能しない場合は、[[systemd/ユーザー|ユーザーサービス]] {{ic|pipewire-pulse.service}} と {{ic|pipewire.service}} と {{ic|pipewire-media-session.service}} が起動して実行されているか確認します。&lt;br /&gt;
&lt;br /&gt;
変更を適用するには、再起動または再ログインしてください。&lt;br /&gt;
&lt;br /&gt;
置き換えが機能しているかどうかを確認するには、次のコマンドを実行して出力を確認してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=$ pactl info|2=&lt;br /&gt;
...&lt;br /&gt;
Server Name: PulseAudio (on PipeWire 0.3.16)&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== JACK クライアント ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-jack}} をインストールします。{{ic|pw-jack}} を使用して JACK クライアントを起動すると、元の {{ic|libjack*}} ではなく PipeWire が提供する互換ライブラリが使用されます:&lt;br /&gt;
&lt;br /&gt;
 pw-jack &#039;&#039;application&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
カスタムバッファサイズを要求することもできます。{{ic|PIPEWIRE_LATENCY}}環境変数を {{ic|バッファサイズ/サンプルレート}} (ブロックのレイテンシ(秒)を意味します) に設定します:&lt;br /&gt;
&lt;br /&gt;
 PIPEWIRE_LATENCY=&amp;quot;128/48000&amp;quot; pw-jack &#039;&#039;application&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
また {{aur|pipewire-jack-dropin}} をインストールするか、{{pkg|jack}} か {{pkg|jack2}} をアンインストールして JACK クライアントが互換ライブラリを自動的に読み込むようにもできます。&lt;br /&gt;
&lt;br /&gt;
{{ic|ldd}} を使用して JACK アプリケーションが正しいライブラリにリンクしていることを確認します。&lt;br /&gt;
&lt;br /&gt;
{{hc|1=$ ldd /usr/bin/qjackctl {{!}} grep -i libjack|2=&lt;br /&gt;
        libjack.so.0 =&amp;gt; /usr/lib/pipewire-0.3/jack/libjack.so.0 (0x00007f7e5080a000)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth デバイス ====&lt;br /&gt;
&lt;br /&gt;
PipeWire は {{pkg|pipewire-pulse}} パッケージがインストールされている場合 Bluetooth オーディオデバイスを制御します。具体的には、メディアセッションデーモンは {{ic|/etc/pipewire/media-session.d/with-pulseaudio}} が存在する時に自動的にその {{ic|bluez5}} モジュールを有効にします。&lt;br /&gt;
&lt;br /&gt;
==== ネイティブ JACK 上で PipeWire を実行する ====&lt;br /&gt;
&lt;br /&gt;
PipeWire はネイティブ JACK デーモン上の JACK クライアントとして実行することもできます。詳細は [https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/JACK JACK and PipeWire] を参照してください。&lt;br /&gt;
&lt;br /&gt;
== 音声のポストプロセッシング ==&lt;br /&gt;
&lt;br /&gt;
=== PulseEffects  ===&lt;br /&gt;
&lt;br /&gt;
PulseEffects は多数のエフェクトとフィルタを個々の入出力ストリーム (アプリケーションの音声出力やマイクの入力など) に提供する GTK 製のユーティリティです。注目すべきエフェクトには、入出力イコライザー、出力ラウドネス等化、ベースエンハンスメント、入力ディエッサー、ノイズ抑制プラグインなどがあります。[https://github.com/wwmm/pulseeffects GitHub ページ]にエフェクトの一覧があります。&lt;br /&gt;
&lt;br /&gt;
PipeWire で PulseEffects を使用するには、{{pkg|pulseeffects}} または {{AUR|pulseeffects-git}} をインストールします。&lt;br /&gt;
&lt;br /&gt;
{{Note|これにより、{{pkg|pipewire-pulse}} がインストールされ [[#PulseAudio クライアント|PulseAudio が PipeWire に置き換えられます。]]詳細は {{Bug|69437}} を参照してください。古いバージョンについては [[PulseAudio#PulseEffects]] を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
プリセット設定のコレクションについては、[https://github.com/wwmm/pulseeffects/wiki/Community-presets コミュニティープリセット]を参照してください。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== PipeWire にマイクが検出されない ===&lt;br /&gt;
&lt;br /&gt;
PipeWire の {{ic|alsa-monitor}} モジュールは、デフォルトで {{pkg|alsa-card-profiles}} を使用してデバイスを検出します。これでうまくいかない場合は、{{ic|/etc/pipewire/media-session.d/alsa-monitor.conf}} の {{ic|rules}} -&amp;gt; 最初のルール -&amp;gt; {{ic|actions}} -&amp;gt; {{ic|update-props}} の {{ic|api.alsa.use-acp}} を {{ic|false}} にするか、または {{ic|api.alsa.use-ucm}} を {{ic|true}} にしてみてください:&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 update-props = {&lt;br /&gt;
     api.alsa.use-acp = false&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
次に PipeWire を再起動し使用可能なデバイスを確認します:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=&lt;br /&gt;
$ pw-record --list-targets&lt;br /&gt;
|2=&lt;br /&gt;
Available targets (&amp;quot;*&amp;quot; denotes default): 62&lt;br /&gt;
	58: description=&amp;quot;Built-in Audio&amp;quot; prio=1872&lt;br /&gt;
	60: description=&amp;quot;Built-in Audio&amp;quot; prio=2000&lt;br /&gt;
*	62: description=&amp;quot;Built-in Audio (Loopback PCM)&amp;quot; prio=1984&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth デバイスに接続しても音が出ない ===&lt;br /&gt;
&lt;br /&gt;
2020-12-07 の時点で、Bluetooth デバイスを接続しても音が出ない場合は、デフォルトのシンクに切り替えるか、シンク入力を正しいシンクに移動する必要があります。{{ic|pactl list sinks}} で使用可能なシンクの一覧を表示し、{{ic|pactl set-default-sink}} でデフォルトのシンクを Bluetooth デバイスに切り替えます。これは[https://gist.github.com/tinywrkb/04e7fd644afa9b92d33a3a99ab07ee9e このようなスクリプト]を使って [[udev]] で自動化できます。&lt;br /&gt;
&lt;br /&gt;
この問題については、この [https://www.reddit.com/r/archlinux/comments/jydd02/pipewirepulse_03164_in_testing_now_replaces/gd3m7fu/?context=3 Reddit スレッド]を参照してください。スクリプトの作成者によると、ヘッドセットプロファイル (HSP) にまだ問題がある可能性があります。&lt;br /&gt;
&lt;br /&gt;
=== 音量が小さい ===&lt;br /&gt;
&lt;br /&gt;
PulseAudio を PipeWire で置き換えた後、正しく音が出ても、再起動後に音量が極端に小さくなることがあります。&lt;br /&gt;
&lt;br /&gt;
{{ic|alsamixer}} を開き、{{ic|F6}} を押して適切なサウンドカードを選び ALSA のボリュームが100%であることを確認してください。{{ic|alsactl}} は再起動後もこの設定を維持するはずです。&lt;br /&gt;
&lt;br /&gt;
=== increasing RLIMIT_MEMLOCK ===&lt;br /&gt;
&lt;br /&gt;
 Dec 13 11:11:11 HOST pipewire-pulse[99999]: Failed to mlock memory 0x7f4f659d8000 32832: This is not a problem but for best performance, consider increasing RLIMIT_MEMLOCK&lt;br /&gt;
&lt;br /&gt;
{{pkg|realtime-privileges}} をインストールし {{ic|realtime}} グループに自分のユーザーを追加します。&lt;br /&gt;
&lt;br /&gt;
あるいは memlock を 64kB から 128kB に増やすことで、この問題を解決できるようです。[[systemd/ユーザー]] で {{ic|pipewire-pulse}} を実行している場合は {{ic|/etc/security/limits.d/username.conf}} に次の行を追加します:&lt;br /&gt;
&lt;br /&gt;
 username	soft	memlock	64&lt;br /&gt;
 username	hard	memlock	128&lt;br /&gt;
&lt;br /&gt;
=== サンプリングレートを変更する ===&lt;br /&gt;
&lt;br /&gt;
デフォルトで PipeWire はグローバルサンプリングレートを 48kHz に設定します。これを変更したい場合 (DACがより高い値をサポートしている場合など) は {{ic|/etc/pipewire/pipewire.conf}} の {{ic|1=default.clock.rate  =    48000}} の行を編集します。例えば 192kHz にしたい場合、コメントを外して {{ic|48000}} を {{ic|192000}} に変更します。&lt;br /&gt;
&lt;br /&gt;
=== 外付けサウンドカードが再接続後に有効にならない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|~/.config/pipewire-media-session/default-profile}} にデフォルトプロファイル &#039;&#039;off&#039;&#039; のエントリがあれば削除します。それでも解決しない場合は {{ic|~/.config/pipewire-media-session/}} からすべてのファイルを削除し、{{ic|systemctl --user restart pipewire.service}} で PipeWire を再起動します。&lt;br /&gt;
&lt;br /&gt;
=== 音が出ないまたは pactl info が Failure: Connection refused と表示する ===&lt;br /&gt;
&lt;br /&gt;
これはアプリケーションが PipeWire-Pulse サービスに接続できていないことを意味します。{{ic|/etc/pipewire/pipewire-pulse.conf}} が存在し空でないことを確認し、{{ic|systemctl --user restart pipewire-pulse.service}} で PipeWire-Pulse を再起動してください。&lt;br /&gt;
&lt;br /&gt;
それでも解決しない場合は {{ic|strace -f -o /tmp/pipe.txt pactl info}} を実行し、pastebin に {{ic|/tmp/pipe.txt}} を貼り付けて、IRC (Freenode &#039;&#039;&#039;#pipewire&#039;&#039;&#039;) かメーリングリストで相談してください。&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth の音声の品質が低い===&lt;br /&gt;
&lt;br /&gt;
Bluetooth で再生が途切れる場合は {{ic|systemctl --user status pipewire.service}} を実行してみてください。次のようなエラーが表示される場合は、&lt;br /&gt;
&lt;br /&gt;
 Feb 17 18:23:01 HOST pipewire[249297]: (bluez_input.18:54:CF:04:00:56.a2dp-sink-60) client too slow! rate:512/48000 pos:370688 status:triggered&lt;br /&gt;
&lt;br /&gt;
{{ic|pactl list sinks}} で現在選択されているコーデックを確認し、{{ic|/etc/pipewire/media-session.d/bluez-monitor.conf}} の {{ic|bluez5.codecs}} を {{ic|sbc aac ldac aptx aptx_hd}} のいずれかに変更してみてください。&lt;br /&gt;
&lt;br /&gt;
{{hc|head=/etc/pipewire/media-session.d/bluez-monitor.conf|output=&lt;br /&gt;
...&lt;br /&gt;
properties = {&lt;br /&gt;
  ...&lt;br /&gt;
  bluez5.codecs = [sbc]&lt;br /&gt;
...}}&lt;br /&gt;
&lt;br /&gt;
mSBC サポートの有効化を試すには (Sony 1000XM3 のマイクの問題を修正します):&lt;br /&gt;
&lt;br /&gt;
{{hc|head=/etc/pipewire/media-session.d/bluez-monitor.conf|output=&lt;br /&gt;
...&lt;br /&gt;
rules = [&lt;br /&gt;
  ...&lt;br /&gt;
  actions = {&lt;br /&gt;
    ...&lt;br /&gt;
    update-props = {&lt;br /&gt;
     ...&lt;br /&gt;
     bluez5.msbc-support = true&lt;br /&gt;
...}}&lt;br /&gt;
&lt;br /&gt;
変更を適用するには {{ic|systemctl --user restart pipewire.service}} で PipeWire を再起動する必要があります。&lt;br /&gt;
&lt;br /&gt;
=== PipeWire の更新 (git / &amp;gt;=0.3.23) と再起動後デバイスが検出されない===&lt;br /&gt;
&lt;br /&gt;
コミット 012a68f8[https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/012a68f8ef33705f1a40ec8ac294b8cce7f6aa88] の時点で新しい systemd サービスが追加されデフォルトでは無効になっています。これはシステムの起動時に {{ic|pipewire-media-session}} が実行されないことを意味します。サービスを有効にするには {{ic|systemctl --user enable --now pipewire-media-session.service}} を実行します。&lt;br /&gt;
&lt;br /&gt;
システムの管理者やパッケージマネージャが更新後に設定ファイルの変更を整理していない場合、{{ic|pipewire.service}} によって {{ic|pipewire-media-session}} の別のプロセスが実行されている可能性があります。確認するには {{ic|systemctl --user status pipewire.service}} を実行してください。&lt;br /&gt;
&lt;br /&gt;
pipewire および pipewire-media-session が実行中と表示される場合は、システム設定かユーザ設定、あるいは両方を更新します。&lt;br /&gt;
&lt;br /&gt;
{{hc|head=/etc/pipewire/pipewire.conf または ~/.config/pipewire/pipewire.conf|output=&lt;br /&gt;
context.exec = {&lt;br /&gt;
  ...&lt;br /&gt;
  # 次の行はコメントアウトする必要があります&lt;br /&gt;
  #&amp;quot;/usr/bin/pipewire-media-session&amp;quot; = { args = &amp;quot;&amp;quot; }&lt;br /&gt;
  ...&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== 再生開始時に音声に遅延が発生する ===&lt;br /&gt;
&lt;br /&gt;
これは非アクティブ時のノードのサスペンドが原因です。遅延が発生する領域に応じて {{ic|/etc/pipewire/media-session.d/*-monitor.conf}} を編集し、プロパティ {{ic|session.suspend-timeout-seconds}} を {{ic|0}} に変更してサスペンドを無効にするか、他の値を試して動作を確認してみてください。{{ic|/etc/pipewire/media-session.d/media-session.conf}} の {{ic|suspend-node}} の行をコメントアウトすることもできます。変更を適用するには {{ic|pipewire}} と {{ic|pipewire-pulse}} systemd サービスの両方を再起動するか、システムを再起動してください。&lt;br /&gt;
&lt;br /&gt;
=== 複数のストリームの再生開始時に音声が途切れる ===&lt;br /&gt;
&lt;br /&gt;
この問題は通常 {{ic|journalctl -b | grep -i pipewire}} を実行し、次のような行を探すことで診断できます:&lt;br /&gt;
&lt;br /&gt;
 pipewire-pulse[21740]: pulse-server 0x56009b9d5de0: [Nightly] UNDERFLOW channel:0 offset:370676 underrun:940&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#underrununderflow-and-broken-pipe-errors 公式 PipeWire トラブルシューティングガイド]によると、この問題を解決するには {{ic|/etc/pipewire/media-session.d/alsa-monitor.conf}} を編集し、{{ic|1=api.alsa.headroom = 0}} という行のコメントを外し、値を {{ic|1024}} に変更します。&lt;br /&gt;
&lt;br /&gt;
=== マイクの音がひずむ ===&lt;br /&gt;
&lt;br /&gt;
マイクの&#039;&#039;ブースト&#039;&#039;設定によってこの問題が発生することがあります。&lt;br /&gt;
{{ic|alsamixer}} を起動し、問題があるサウンドカードを選択し、{{ic|Mic Boost}} や {{ic|Internal Mic Boost}} の値を下げてみてください。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home Wiki] — PipeWire Wiki on Freedesktop GitLab&lt;br /&gt;
* [https://blogs.gnome.org/uraeus/2018/01/26/an-update-on-pipewire-the-multimedia-revolution-an-update/ Pipewire Update Blog Post] — PipeWire の2018年1月時点での進捗が書かれた記事&lt;br /&gt;
* [https://blogs.gnome.org/uraeus/2020/09/04/pipewire-late-summer-update-2020/ PipeWire Late Summer Update 2020] — 2020年9月からの記事&lt;/div&gt;</summary>
		<author><name>Oriaca372m</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=PipeWire&amp;diff=19594</id>
		<title>PipeWire</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=PipeWire&amp;diff=19594"/>
		<updated>2021-03-30T16:42:49Z</updated>

		<summary type="html">&lt;p&gt;Oriaca372m: 英語版と同期&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:マルチメディア]]&lt;br /&gt;
[[en:PipeWire]]&lt;br /&gt;
[[fi:PipeWire]]&lt;br /&gt;
[http://pipewire.org PipeWire] は新しい低レベルマルチメディアフレームワークです。&lt;br /&gt;
映像と音声を最小の遅延で再生/キャプチャすることを目的としていて、PulseAudio、JACK、ALSA、GStreamer をベースとしたアプリケーションと互換性があります。&lt;br /&gt;
&lt;br /&gt;
このフレームワークのデーモンは (PulseAudio と JACK の機能を持った) オーディオサーバーとしても、ビデオキャプチャサーバーとしても設定できます。&lt;br /&gt;
&lt;br /&gt;
また PipeWire は [[Flatpak]] のようなコンテナをサポートしており、&#039;&#039;audio&#039;&#039; や &#039;&#039;video&#039;&#039; [[ユーザーとグループ#グループ管理|ユーザーグループ]]に依存するのではなく、Flatpak や Wayland にスクリーンや音声を録音する許可を求める [[Polkit]] のようなセキュリティモデルを使用しています。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
公式リポジトリの {{pkg|pipewire}} パッケージを[[インストール]]します。&lt;br /&gt;
&lt;br /&gt;
PipeWire は [[systemd/ユーザー]] を使用してサーバーの管理とソケットアクティベーションを行います。起動時の動作やログの確認方法などの詳細は [[systemd/ユーザー]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
必要に応じて {{pkg|pipewire-docs}} をインストールしてドキュメントを確認することもできます。{{pkg|pipewire-alsa}}、{{pkg|pipewire-pulse}}、{{pkg|pipewire-jack}} などの他のパッケージは [[#音声|PulseAudio/JACKの代わりに PipeWire を使用]]したい場合を除き必要ありません。multilib サポートのために {{aur|lib32-pipewire}}、{{aur|lib32-pipewire-jack}} も利用できます。&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
&lt;br /&gt;
=== WebRTC 画面共有===&lt;br /&gt;
&lt;br /&gt;
ほとんどのブラウザは WebRTC を使用しているとき (例えば Google ハングアウトで) デスクトップ (や個々のアプリケーション) をキャプチャするのに X11 に依存していました。Wayland ではセキュリティ上の理由から画面共有は異なる方法で処理されます。PipeWire はきめ細かなアクセス制御を使用して Wayland 上のコンテンツを共有できます。&lt;br /&gt;
&lt;br /&gt;
これには {{pkg|xdg-desktop-portal}} とそのバックエンドの1つが[http://jgrulich.cz/2018/07/04/04/how-to-enable-and-use-screen-sharing-on-wayland 必要です]。利用可能なバックエンドは次のとおりです:&lt;br /&gt;
&lt;br /&gt;
* GNOME の場合、{{pkg|xdg-desktop-portal-gtk}}&lt;br /&gt;
* KDE の場合、{{pkg|xdg-desktop-portal-kde}}&lt;br /&gt;
* wlroots ベースのコンポジター ([[Sway]] や [https://github.com/djpohly/dwl dwl] など) の場合、{{pkg|xdg-desktop-portal-wlr}}&lt;br /&gt;
&lt;br /&gt;
Firefox (バージョン84以降) はデフォルトでこの方法をサポートしていますが、Chromium (バージョン73以降) では、[https://bugs.chromium.org/p/chromium/issues/detail?id=682122 WebRTC PipeWireサポート]を次のURLの実験的機能の設定を変更して有効にする必要があります:&lt;br /&gt;
 chrome://flags/#enable-webrtc-pipewire-capturer&lt;br /&gt;
&lt;br /&gt;
{{ic|xdg-desktop-portal-wlr}} を動かすには {{pkg|pipewire-media-session}} をインストール[https://github.com/emersion/xdg-desktop-portal-wlr/wiki/FAQ/db63ec1ab6c0170334c1d1f45d1ebe543cc375fa#how-do-i-run-xdpw]して {{ic|XDG_CURRENT_DESKTOP}} 環境変数を設定[https://github.com/emersion/xdg-desktop-portal-wlr#running]する必要があります:&lt;br /&gt;
 export XDG_CURRENT_DESKTOP=sway&lt;br /&gt;
&lt;br /&gt;
Chromium は現在 PipeWire 0.2 を使っていますが、Arch Linux では PipeWire 0.3 を提供しているので、画面共有を行うには {{pkg|libpipewire02}} もインストールする必要があります。&lt;br /&gt;
&lt;br /&gt;
{{Tip|複数のモニタがある場合に {{ic|xdg-desktop-portal-wlr}} を使用してそれぞれのモニターを共有するには、ユニットのサービスファイルの {{ic|1=ExecStart=}} オプションを[[Systemd#Editing_provided_units|編集]]して {{ic|1=--output=&#039;&#039;Monitor&#039;&#039;}} フラグを追加してください。行全体は {{ic|1=ExecStart=@libexecdir@/xdg-desktop-portal-wlr --output=eDP-1}} のようになります。}}&lt;br /&gt;
&lt;br /&gt;
唯一サポートされている機能はデスクトップ全体の共有で、特定のアプリケーション/ウィンドウの共有はサポートされていません。[https://github.com/emersion/xdg-desktop-portal-wlr/wiki/FAQ#will-this-let-me-share-individual-windows][https://github.com/KDE/xdg-desktop-portal-kde/blob/master/TODO]&lt;br /&gt;
&lt;br /&gt;
=== 映像 ===&lt;br /&gt;
&lt;br /&gt;
ソフトウェアはまだ商業利用には適していませんが、試す分には問題ありません。[[GStreamer]] を使用して映像ストリームを処理するほとんどのアプリケーションは PipeWire GStreamer プラグインにより設定なしで動作するはずです。そのため既に {{pkg|cheese}} のようなアプリケーションは PipeWire を使用して映像入力を利用できます。&lt;br /&gt;
&lt;br /&gt;
=== 音声 ===&lt;br /&gt;
&lt;br /&gt;
PulseAudio や JACK と同様に  PipeWire をオーディオサーバーとして使用できます。 PulseAudio サーバーの互換実装と JACK クライアント用の ABI 互換ライブラリを提供することで  PulseAudio と JACK の両方を置き換えることを目的としています。詳細については[https://blogs.gnome.org/uraeus/2020/09/04/pipewire-late-summer-update-2020/ この記事]を参照してください。&lt;br /&gt;
&lt;br /&gt;
==== ALSA/レガシーアプリケーション ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-alsa}} をインストールして ALSA API を使用するすべてのアプリケーションが PipeWire を使用するよう設定できます。&lt;br /&gt;
&lt;br /&gt;
==== PulseAudio クライアント ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-pulse}} をインストールします。このパッケージは {{pkg|pulseaudio}} と {{pkg|pulseaudio-bluetooth}} を置き換えます。パッケージがユーザーサービス {{ic|pipewire-pulse.socket}} を自動的に有効化するので、通常それ以上の操作は不要です。システム起動時に PipeWire が正しく機能しない場合は、ユーザーサービス {{ic|pipewire-pulse.service}} と {{ic|pipewire.service}} と {{ic|pipewire-media-session.service}} が起動して実行されているか確認します。[[Systemd/ユーザー]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
変更を適用するには、再起動または再ログインしてください。&lt;br /&gt;
&lt;br /&gt;
置き換えが機能しているかどうかを確認するには、次のコマンドを実行して出力を確認してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=$ pactl info|2=&lt;br /&gt;
...&lt;br /&gt;
Server Name: PulseAudio (on PipeWire 0.3.16)&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== JACK クライアント ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-jack}} をインストールします。{{ic|pw-jack}} を使用して JACK クライアントを起動すると、元の {{ic|libjack*}} ではなく PipeWire が提供する互換ライブラリが使用されます:&lt;br /&gt;
&lt;br /&gt;
 pw-jack &#039;&#039;application&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
カスタムバッファサイズを要求することもできます。{{ic|PIPEWIRE_LATENCY}}環境変数を {{ic|バッファサイズ/サンプルレート}} (ブロックのレイテンシ(秒)を意味します) に設定します:&lt;br /&gt;
&lt;br /&gt;
 PIPEWIRE_LATENCY=&amp;quot;128/48000&amp;quot; pw-jack &#039;&#039;application&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
また {{aur|pipewire-jack-dropin}} をインストールするか、{{pkg|jack}} か {{pkg|jack2}} をアンインストールして JACK クライアントが互換ライブラリを自動的に読み込むようにもできます。&lt;br /&gt;
&lt;br /&gt;
{{ic|ldd}} を使用して JACK アプリケーションが正しいライブラリにリンクしていることを確認します。&lt;br /&gt;
&lt;br /&gt;
{{hc|1=$ ldd /usr/bin/qjackctl {{!}} grep -i libjack|2=&lt;br /&gt;
        libjack.so.0 =&amp;gt; /usr/lib/pipewire-0.3/jack/libjack.so.0 (0x00007f7e5080a000)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth デバイス ====&lt;br /&gt;
&lt;br /&gt;
PipeWire は {{pkg|pipewire-pulse}} パッケージがインストールされている場合 Bluetooth オーディオデバイスを制御します。具体的には、メディアセッションデーモンは {{ic|/etc/pipewire/media-session.d/with-pulseaudio}} が存在する時に自動的にその {{ic|bluez5}} モジュールを有効にします。&lt;br /&gt;
&lt;br /&gt;
==== ネイティブ JACK 上で PipeWire を実行する ====&lt;br /&gt;
&lt;br /&gt;
PipeWire はネイティブ JACK デーモン上の JACK クライアントとして実行することもできます。詳細は [https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/JACK JACK and PipeWire] を参照してください。&lt;br /&gt;
&lt;br /&gt;
== 音声のポストプロセッシング ==&lt;br /&gt;
&lt;br /&gt;
=== PulseEffects  ===&lt;br /&gt;
&lt;br /&gt;
PulseEffects は多数のエフェクトとフィルタを個々の入出力ストリーム (アプリケーションの音声出力やマイクの入力など) に提供する GTK 製のユーティリティです。注目すべきエフェクトには、入出力イコライザー、出力ラウドネス等化、ベースエンハンスメント、入力ディエッサー、ノイズ抑制プラグインなどがあります。[https://github.com/wwmm/pulseeffects GitHub ページ]にエフェクトの一覧があります。&lt;br /&gt;
&lt;br /&gt;
PipeWire で PulseEffects を使用するには、{{pkg|pulseeffects}} または {{AUR|pulseeffects-git}} をインストールします。&lt;br /&gt;
&lt;br /&gt;
{{Note|これにより、{{pkg|pipewire-pulse}} がインストールされ [[#PulseAudio クライアント|PulseAudio が PipeWire に置き換えられます。]]詳細は {{Bug|69437}} を参照してください。古いバージョンについては [[PulseAudio#PulseEffects]] を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
プリセット設定のコレクションについては、[https://github.com/wwmm/pulseeffects/wiki/Community-presets コミュニティープリセット]を参照してください。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== PipeWire にマイクが検出されない ===&lt;br /&gt;
&lt;br /&gt;
PipeWire の {{ic|alsa-monitor}} モジュールは、デフォルトで {{pkg|alsa-card-profiles}} を使用してデバイスを検出します。これでうまくいかない場合は、{{ic|/etc/pipewire/media-session.d/alsa-monitor.conf}} の {{ic|rules}} -&amp;gt; 最初のルール -&amp;gt; {{ic|actions}} -&amp;gt; {{ic|update-props}} の {{ic|api.alsa.use-acp}} を {{ic|false}} にするか、または {{ic|api.alsa.use-ucm}} を {{ic|true}} にしてみてください:&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 update-props = {&lt;br /&gt;
     api.alsa.use-acp = false&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
次に PipeWire を再起動し使用可能なデバイスを確認します:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=&lt;br /&gt;
$ pw-record --list-targets&lt;br /&gt;
|2=&lt;br /&gt;
Available targets (&amp;quot;*&amp;quot; denotes default): 62&lt;br /&gt;
	58: description=&amp;quot;Built-in Audio&amp;quot; prio=1872&lt;br /&gt;
	60: description=&amp;quot;Built-in Audio&amp;quot; prio=2000&lt;br /&gt;
*	62: description=&amp;quot;Built-in Audio (Loopback PCM)&amp;quot; prio=1984&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth デバイスに接続しても音が出ない ===&lt;br /&gt;
&lt;br /&gt;
2020-12-07 の時点で、Bluetooth デバイスを接続しても音が出ない場合は、デフォルトのシンクに切り替えるか、シンク入力を正しいシンクに移動する必要があります。{{ic|pactl list sinks}} で使用可能なシンクの一覧を表示し、{{ic|pactl set-default-sink}} でデフォルトのシンクを Bluetooth デバイスに切り替えます。これは[https://gist.github.com/tinywrkb/04e7fd644afa9b92d33a3a99ab07ee9e このようなスクリプト]を使って [[udev]] で自動化できます。&lt;br /&gt;
&lt;br /&gt;
この問題については、この [https://www.reddit.com/r/archlinux/comments/jydd02/pipewirepulse_03164_in_testing_now_replaces/gd3m7fu/?context=3 Reddit スレッド]を参照してください。スクリプトの作成者によると、ヘッドセットプロファイル (HSP) にまだ問題がある可能性があります。&lt;br /&gt;
&lt;br /&gt;
=== 音量が小さい ===&lt;br /&gt;
&lt;br /&gt;
PulseAudio を PipeWire で置き換えた後、正しく音が出ても、再起動後に音量が極端に小さくなることがあります。&lt;br /&gt;
&lt;br /&gt;
{{ic|alsamixer}} を開き、{{ic|F6}} を押して適切なサウンドカードを選び ALSA のボリュームが100%であることを確認してください。{{ic|alsactl}} は再起動後もこの設定を維持するはずです。&lt;br /&gt;
&lt;br /&gt;
=== increasing RLIMIT_MEMLOCK ===&lt;br /&gt;
&lt;br /&gt;
 Dec 13 11:11:11 HOST pipewire-pulse[99999]: Failed to mlock memory 0x7f4f659d8000 32832: This is not a problem but for best performance, consider increasing RLIMIT_MEMLOCK&lt;br /&gt;
&lt;br /&gt;
{{pkg|realtime-privileges}} をインストールし {{ic|realtime}} グループに自分のユーザーを追加します。&lt;br /&gt;
&lt;br /&gt;
あるいは memlock を 64kB から 128kB に増やすことで、この問題を解決できるようです。[[systemd/ユーザー]] で {{ic|pipewire-pulse}} を実行している場合は {{ic|/etc/security/limits.d/username.conf}} に次の行を追加します:&lt;br /&gt;
&lt;br /&gt;
 username	soft	memlock	64&lt;br /&gt;
 username	hard	memlock	128&lt;br /&gt;
&lt;br /&gt;
=== サンプリングレートを変更する ===&lt;br /&gt;
&lt;br /&gt;
デフォルトで PipeWire はグローバルサンプリングレートを 48kHz に設定します。これを変更したい場合 (DACがより高い値をサポートしている場合など) は {{ic|/etc/pipewire/pipewire.conf}} の {{ic|1=default.clock.rate  =    48000}} の行を編集します。例えば 192kHz にしたい場合、コメントを外して {{ic|48000}} を {{ic|192000}} に変更します。&lt;br /&gt;
&lt;br /&gt;
=== 外付けサウンドカードが再接続後に有効にならない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|~/.config/pipewire-media-session/default-profile}} にデフォルトプロファイル &#039;&#039;off&#039;&#039; のエントリがあれば削除します。それでも解決しない場合は {{ic|~/.config/pipewire-media-session/}} からすべてのファイルを削除し、{{ic|systemctl --user restart pipewire.service}} で PipeWire を再起動します。&lt;br /&gt;
&lt;br /&gt;
=== 音が出ないまたは pactl info が Failure: Connection refused と表示する ===&lt;br /&gt;
これはアプリケーションが PipeWire-Pulse サービスに接続できていないことを意味します。{{ic|/etc/pipewire/pipewire-pulse.conf}} が存在し空でないことを確認し、{{ic|systemctl --user restart pipewire-pulse.service}} で PipeWire-Pulse を再起動してください。&lt;br /&gt;
&lt;br /&gt;
それでも解決しない場合は {{ic|strace -f -o /tmp/pipe.txt pactl info}} を実行し、pastebin に {{ic|/tmp/pipe.txt}} を貼り付けて、IRC (Freenode &#039;&#039;&#039;#pipewire&#039;&#039;&#039;) かメーリングリストで相談してください。&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth の音声の品質が低い===&lt;br /&gt;
&lt;br /&gt;
 Feb 17 18:23:01 HOST pipewire[249297]: (bluez_input.18:54:CF:04:00:56.a2dp-sink-60) client too slow! rate:512/48000 pos:370688 status:triggered&lt;br /&gt;
&lt;br /&gt;
Bluetooth で再生が途切れる場合は {{ic|systemctl --user status pipewire.service}} を実行してみてください。このようなエラーが表示される場合は {{ic|pactl list sinks}} で現在選択されているコーデックを確認し、{{ic|/etc/pipewire/media-session.d/bluez-monitor.conf}} の {{ic|bluez5.codecs}} を {{ic|sbc aac ldac aptx aptx_hd}} のいずれかに変更してみてください。変更を適用するには {{ic|systemctl --user restart pipewire.service}} で PipeWire を再起動する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{hc|head=/etc/pipewire/media-session.d/bluez-monitor.conf|output=&lt;br /&gt;
...&lt;br /&gt;
properties = {&lt;br /&gt;
  ...&lt;br /&gt;
  bluez5.codecs = [sbc]&lt;br /&gt;
...}}&lt;br /&gt;
&lt;br /&gt;
=== PipeWire の更新 (git / &amp;gt;=0.3.23) と再起動後デバイスが検出されない===&lt;br /&gt;
&lt;br /&gt;
コミット 012a68f8[https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/012a68f8ef33705f1a40ec8ac294b8cce7f6aa88] の時点で新しい systemd サービスが追加されデフォルトでは無効になっています。これはシステムの再起動時に {{ic|pipewire-media-session}} が実行されないことを意味します。サービスを有効にするには {{ic|systemctl --user enable --now pipewire-media-session.service}} を実行します。&lt;br /&gt;
&lt;br /&gt;
システムの管理者やパッケージマネージャが更新後に設定ファイルの変更を整理していない場合、{{ic|pipewire.service}} によって {{ic|pipewire-media-session}} の別のプロセスが実行されている可能性があります。確認するには {{ic|systemctl --user status pipewire.service}} を実行してください。&lt;br /&gt;
&lt;br /&gt;
pipewire および pipewire-media-session が実行中と表示される場合は、システム設定かユーザ設定、あるいは両方を更新します。&lt;br /&gt;
&lt;br /&gt;
{{hc|head=/etc/pipewire/pipewire.conf または ~/.config/pipewire/pipewire.conf|output=&lt;br /&gt;
context.exec = {&lt;br /&gt;
  ...&lt;br /&gt;
  # 次の行はコメントアウトする必要があります&lt;br /&gt;
  #&amp;quot;/usr/bin/pipewire-media-session&amp;quot; = { args = &amp;quot;&amp;quot; }&lt;br /&gt;
  ...&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== 再生開始時に音声に遅延が発生する ===&lt;br /&gt;
&lt;br /&gt;
これは非アクティブ時のノードのサスペンドが原因です。遅延が発生する領域に応じて {{ic|/etc/pipewire/media-session.d/*-monitor.conf}} を編集し、プロパティ {{ic|session.suspend-timeout-seconds}} を {{ic|0}} に変更してサスペンドを無効にするか、他の値を試して動作を確認してみてください。{{ic|/etc/pipewire/media-session.conf}} の {{ic|suspend-node}} の行をコメントアウトすることもできます。変更を適用するには {{ic|pipewire}} と {{ic|pipewire-pulse}} systemd サービスの両方を再起動するか、システムを再起動してください。&lt;br /&gt;
&lt;br /&gt;
=== 複数のストリームの再生開始時に音声が途切れる ===&lt;br /&gt;
&lt;br /&gt;
この問題は通常 {{ic|journalctl -b | grep -i pipewire}} を実行し、次のような行を探すことで診断できます:&lt;br /&gt;
&lt;br /&gt;
 pipewire-pulse[21740]: pulse-server 0x56009b9d5de0: [Nightly] UNDERFLOW channel:0 offset:370676 underrun:940&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#underrununderflow-and-broken-pipe-errors 公式 PipeWire トラブルシューティングガイド]によると、この問題を解決するには {{ic|/etc/pipewire/media-session.d/alsa-monitor.conf}} を編集し、{{ic|1=api.alsa.headroom = 0}} という行のコメントを外し、値を {{ic|1024}} に変更します。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home Wiki] — PipeWire Wiki on Freedesktop GitLab&lt;br /&gt;
* [https://blogs.gnome.org/uraeus/2018/01/26/an-update-on-pipewire-the-multimedia-revolution-an-update/ Pipewire Update Blog Post] — PipeWire の2018年1月時点での進捗が書かれた記事&lt;br /&gt;
* [https://blogs.gnome.org/uraeus/2020/09/04/pipewire-late-summer-update-2020/ PipeWire Late Summer Update 2020] — 2020年9月からの記事&lt;/div&gt;</summary>
		<author><name>Oriaca372m</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB%E3%81%AE%E3%82%AB%E3%83%A9%E3%83%BC%E5%87%BA%E5%8A%9B&amp;diff=19593</id>
		<title>コンソールのカラー出力</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB%E3%81%AE%E3%82%AB%E3%83%A9%E3%83%BC%E5%87%BA%E5%8A%9B&amp;diff=19593"/>
		<updated>2021-03-30T16:09:33Z</updated>

		<summary type="html">&lt;p&gt;Oriaca372m: /* ip */ --colorも-colorも認識するが英語版とmanに合わせて-colorに統一&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Linux コンソール]]&lt;br /&gt;
[[Category:視覚効果]]&lt;br /&gt;
[[en:Color output in console]]&lt;br /&gt;
[[zh-hans:Color output in console]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Emacs#カスタムカラーとテーマ}}&lt;br /&gt;
{{Related|nano#シンタックスハイライト}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
このページでは CLI 出力のカラー化をまとめています。&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
=== エスケープシーケンス ===&lt;br /&gt;
&lt;br /&gt;
[[Wikipedia:ANSI escape sequence|ANSI エスケープシーケンス]] はターミナル出力に追加情報を配置する方法を定義しており、色はこの「追加情報」の一部です。何年にもわたって端末の色の範囲は、最初の8色から24ビットのトゥルーカラーまで、年々大幅に拡大されてきました。&lt;br /&gt;
&lt;br /&gt;
基本的なカラーエンコーディングは、通常の明るさの 8 色と、その明るいバージョンの 8 色を提供します。Linux コンソール自体を含む最新のターミナルエミュレータを使用すると、色が変換される正確な RGB 値を指定できます。このモードは、ほとんどのターミナルエミュレータでサポートされています。&lt;br /&gt;
&lt;br /&gt;
256 色ディスプレイの出現により、256 色のエスケープが可能になりました。256 色とは、基本 16 色、RGB 216色(6 x 6 x 6 の立方体に配置)、および 24 レベルのグレースケールです。最初の 16 色を除いて、RGB へのマッピングが明確に定義されているので、通常はカスタマイズできません。このモードは、ほとんどのターミナルエミュレータでサポートされています。(一部のエミュレータは 88 色のみの類似した互換性のないエンコーディングが使用されています。実際に使用することはほとんどありませんが、terminfoデータベースには表示されます)。&lt;br /&gt;
&lt;br /&gt;
あまり一般的ではありませんが、トゥルーカラーモードでは、RGB で 1670 万 (2&amp;lt;sup&amp;gt;24&amp;lt;/sup&amp;gt;)色(各値は 0 から 255 まで)を使用することができます。&lt;br /&gt;
&lt;br /&gt;
=== Termcap と terminfo ===&lt;br /&gt;
&lt;br /&gt;
Termcap と terminfo は {{Pkg|ncurses}} の一部で、端末（通常は、{{ic|TERM}} 環境変数で指定）が理解できるエスケープに関する情報を提供するデータベースです。{{man|1|tput}} と {{man|1|infocmp}} コマンドは、コマンドラインからアクセスするために使用することができす。&lt;br /&gt;
&lt;br /&gt;
== アプリケーション ==&lt;br /&gt;
&lt;br /&gt;
=== diff ===&lt;br /&gt;
&lt;br /&gt;
diffutils にはバージョン 3.4 から {{ic|--color}} オプションが存在します ([https://lists.gnu.org/archive/html/info-gnu/2016-08/msg00004.html GNU メーリングリスト]):&lt;br /&gt;
&lt;br /&gt;
 $ alias diff=&#039;diff --color=auto&#039;&lt;br /&gt;
&lt;br /&gt;
=== grep ===&lt;br /&gt;
&lt;br /&gt;
{{ic|1=--color=auto}} オプションでカラーハイライトが有効になります。カラーコードは標準出力でのみ使われ、パイプやリダイレクトには出力されません。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;grep&#039;&#039; のカラー出力は [[Wikipedia:regexp|regexp]] でも利用できます。&lt;br /&gt;
&lt;br /&gt;
[[エイリアス]]を作成することでオプションをずっと有効にできます:&lt;br /&gt;
&lt;br /&gt;
 alias grep=&#039;grep --color=auto&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|GREP_COLORS}} 変数を使うことで色を定義したり、ハイライトの様々な部分を設定できます。&lt;br /&gt;
&lt;br /&gt;
詳しくは {{man|1|grep}} を見てください。&lt;br /&gt;
&lt;br /&gt;
{{ic|GREP_COLOR}} 環境変数を使うことでデフォルトのハイライト色を定義できます (デフォルトは赤です)。色を変更するときは、色の [http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html ANSI エスケープシーケンス] を確認して以下のコマンドを使ってください:&lt;br /&gt;
&lt;br /&gt;
 export GREP_COLOR=&amp;quot;1;32&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{ic|-n}} オプションを使うことでファイルの行番号も出力されます。&lt;br /&gt;
&lt;br /&gt;
=== ip ===&lt;br /&gt;
&lt;br /&gt;
{{man|8|ip}} コマンドの {{ic|-color}} オプションが使えます。{{ic|auto}} 引数を指定すると、出力先が標準出力のときのみカラー出力が行なわれます。&lt;br /&gt;
&lt;br /&gt;
 alias ip=&#039;ip -color=auto&#039;&lt;br /&gt;
&lt;br /&gt;
=== less ===&lt;br /&gt;
&lt;br /&gt;
==== 環境変数 ====&lt;br /&gt;
&lt;br /&gt;
以下の行をシェルの設定ファイルに追加してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.bashrc|2=&lt;br /&gt;
export LESS=-R&lt;br /&gt;
export LESS_TERMCAP_mb=$&#039;\E[1;31m&#039;     # begin blink&lt;br /&gt;
export LESS_TERMCAP_md=$&#039;\E[1;36m&#039;     # begin bold&lt;br /&gt;
export LESS_TERMCAP_me=$&#039;\E[0m&#039;        # reset bold/blink&lt;br /&gt;
export LESS_TERMCAP_so=$&#039;\E[01;44;33m&#039; # begin reverse video&lt;br /&gt;
export LESS_TERMCAP_se=$&#039;\E[0m&#039;        # reset reverse video&lt;br /&gt;
export LESS_TERMCAP_us=$&#039;\E[1;32m&#039;     # begin underline&lt;br /&gt;
export LESS_TERMCAP_ue=$&#039;\E[0m&#039;        # reset underline&lt;br /&gt;
# and so on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
値はお好きに変更してください ([[Wikipedia:ANSI escape code#Colors|ANSI エスケープコード]])。[http://boredzo.org/blog/archives/2016-08-15/colorized-man-pages-understood-and-customized このブログ記事] や [[Bash/プロンプトのカスタマイズ]]も見てください。&lt;br /&gt;
&lt;br /&gt;
{{note|{{ic|LESS_TERMCAP_&#039;&#039;xx&#039;&#039;}} 変数は {{man|1|less}} の man ページに載っていません。詳しい説明は [https://unix.stackexchange.com/questions/108699/documentation-on-less-termcap-variables/108840#108840] を見てください。}}&lt;br /&gt;
&lt;br /&gt;
==== 標準入力からの読み込み ====&lt;br /&gt;
&lt;br /&gt;
{{Note|以下は {{ic|1=export LESS=R}} に基づいているので、{{ic|~/.bashrc}} や {{ic|~/.zshrc}} に[[#環境変数|環境変数]]を追加することを推奨します。}}&lt;br /&gt;
&lt;br /&gt;
コマンドを実行してページ表示するために[[Wikipedia:Standard output|標準出力]] (&#039;&#039;stdout&#039;&#039;) を &#039;&#039;less&#039;&#039; にパイプする場合 (例: {{ic|&amp;lt;nowiki&amp;gt;pacman -Qe | less&amp;lt;/nowiki&amp;gt;}})、出力がカラー化されないことに気づくかもしれません。&#039;&#039;stdout&#039;&#039; がインタラクティブターミナルであるかどうかを判別して、その場合はカラーのテキストを出力して、そうでない場合はカラーでないテキストを出力するようになっているのが原因です。&#039;&#039;stdout&#039;&#039; をファイルにリダイレクトしたいようなときはこれで構わないでしょうが (例: {{ic|&amp;lt;nowiki&amp;gt;pacman -Qe &amp;gt; pkglst-backup.txt&amp;lt;/nowiki&amp;gt;}})、{{ic|less}} で出力を表示したいような時はあまり望ましくありません。&lt;br /&gt;
&lt;br /&gt;
インタラクティブ tty の検出を無効化するオプションがプログラムに存在することがあります:&lt;br /&gt;
&lt;br /&gt;
 # dmesg --color=always | less&lt;br /&gt;
&lt;br /&gt;
プログラムに無効化オプションが存在しない場合、以下のユーティリティを使うことで &#039;&#039;stdout&#039;&#039; がインタラクティブターミナルであるかのように信じこませることができます:&lt;br /&gt;
&lt;br /&gt;
* {{App|stdoutisatty|{{ic|isatty}} 関数のコールをキャッチする小さなプログラム。|https://github.com/lilydjwg/stdoutisatty.|{{AUR|stdoutisatty-git}}}}&lt;br /&gt;
:例: {{ic|stdoutisatty &#039;&#039;program&#039;&#039; &amp;lt;nowiki&amp;gt;| less&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
* {{App|unbuffer|&#039;&#039;sh&#039;&#039; と [http://tcl.tk/ Tcl] ベースのスクリプト。|http://expect.sourceforge.net/example/unbuffer.man.html|{{Pkg|expect}}}}&lt;br /&gt;
:例: {{ic|unbuffer &#039;&#039;program&#039;&#039; &amp;lt;nowiki&amp;gt;| less&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
もしくは、[[zsh]] の [http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fzpty-Module zpty] モジュールを使って下さい [http://lilydjwg.is-programmer.com/2011/6/29/using-zpty-module-of-zsh.27677.html]:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.zshrc|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;zmodload zsh/zpty&lt;br /&gt;
&lt;br /&gt;
pty() {&lt;br /&gt;
	zpty pty-${UID} ${1+$@}&lt;br /&gt;
	if [[ ! -t 1 ]];then&lt;br /&gt;
		setopt local_traps&lt;br /&gt;
		trap &#039;&#039; INT&lt;br /&gt;
	fi&lt;br /&gt;
	zpty -r pty-${UID}&lt;br /&gt;
	zpty -d pty-${UID}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ptyless() {&lt;br /&gt;
	pty $@ | less&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
使用方法:&lt;br /&gt;
&lt;br /&gt;
 $ ptyless &#039;&#039;program&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
他のページャにパイプするには (例: less):&lt;br /&gt;
&lt;br /&gt;
 $ pty &#039;&#039;program&#039;&#039; | less&lt;br /&gt;
&lt;br /&gt;
=== ls ===&lt;br /&gt;
&lt;br /&gt;
{{ic|1=--color=auto}} オプションでカラーハイライトが有効になります。カラーコードは標準出力でのみ使われ、パイプやリダイレクトでは使われません。&lt;br /&gt;
&lt;br /&gt;
[[エイリアス]]を使うことでオプションを永続的に有効化できます:&lt;br /&gt;
&lt;br /&gt;
 alias ls=&#039;ls --color=auto&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|LS_COLORS}} 変数を使って色を定義します。様々なハイライトを設定できます。設定するときは {{man|1|dircolors}} コマンドを使ってください。&lt;br /&gt;
&lt;br /&gt;
{{Note|{{ic|--color}} オプションを使用すると大量のファイルが存在するディレクトリで &#039;&#039;ls&#039;&#039; を実行したときにパフォーマンスに深刻な影響を与えることがあります。デフォルト設定では &#039;&#039;ls&#039;&#039; は表示する全てのファイルに {{man|1|stat}} する必要があります。しかしながら、他のカラーオプション (executable, orphan, sticky, other-writable, capability) を使用しないでほとんどのファイルタイプのカラー化をしたい場合、&#039;&#039;dircolors&#039;&#039; を使って {{ic|LS_COLORS}} 環境変数を以下のように設定してください:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eval $(dircolors -p | perl -pe &#039;s/^((CAP|S[ET]|O[TR]|M|E)\w+).*/$1 00/&#039; | dircolors -)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
  &lt;br /&gt;
詳しくは {{man|1|ls}} を見てください。&lt;br /&gt;
&lt;br /&gt;
=== man ===&lt;br /&gt;
&lt;br /&gt;
man ページのカラー出力を行う方法は2つ存在します: {{Ic|less}} を使用する方法、または {{Ic|most}} を使用する方法。&lt;br /&gt;
&lt;br /&gt;
==== less を使う ====&lt;br /&gt;
詳しくは [[#less]] を見てください。&lt;br /&gt;
&lt;br /&gt;
{{Ic|man}} の {{Ic|less}} ラッパーは以下のようになります:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.bashrc|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;man() {&lt;br /&gt;
    LESS_TERMCAP_md=$&#039;\e[01;31m&#039; \&lt;br /&gt;
    LESS_TERMCAP_me=$&#039;\e[0m&#039; \&lt;br /&gt;
    LESS_TERMCAP_se=$&#039;\e[0m&#039; \&lt;br /&gt;
    LESS_TERMCAP_so=$&#039;\e[01;44;33m&#039; \&lt;br /&gt;
    LESS_TERMCAP_ue=$&#039;\e[0m&#039; \&lt;br /&gt;
    LESS_TERMCAP_us=$&#039;\e[01;32m&#039; \&lt;br /&gt;
    command man &amp;quot;$@&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[Fish]] の場合、以下のようにします:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/fish/config.fish|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
set -xU LESS_TERMCAP_md (printf &amp;quot;\e[01;31m&amp;quot;)&lt;br /&gt;
set -xU LESS_TERMCAP_me (printf &amp;quot;\e[0m&amp;quot;)&lt;br /&gt;
set -xU LESS_TERMCAP_se (printf &amp;quot;\e[0m&amp;quot;)&lt;br /&gt;
set -xU LESS_TERMCAP_so (printf &amp;quot;\e[01;44;33m&amp;quot;)&lt;br /&gt;
set -xU LESS_TERMCAP_ue (printf &amp;quot;\e[0m&amp;quot;)&lt;br /&gt;
set -xU LESS_TERMCAP_us (printf &amp;quot;\e[01;32m&amp;quot;)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
設定を source するかシェルを再起動すると変更が適用されます。&lt;br /&gt;
&lt;br /&gt;
==== most を使う ====&lt;br /&gt;
&lt;br /&gt;
&#039;most&#039; の基本的な機能は {{Ic|less}} や {{Ic|more}} と似ていますが、備えている機能の数はやや少なくなっています。most でカラー出力を使うように設定するのは less よりも簡単ですが、less のように most を使うには別の設定が必要になります。&lt;br /&gt;
&lt;br /&gt;
{{Pkg|most}} パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/man_db.conf}} を編集して、ページャの定義をアンコメントして次のように変更:&lt;br /&gt;
&lt;br /&gt;
 DEFINE     pager     most -s&lt;br /&gt;
&lt;br /&gt;
新しい設定は以下を入力することでテストできます:&lt;br /&gt;
&lt;br /&gt;
 $ man whatever_man_page&lt;br /&gt;
&lt;br /&gt;
カラーの値を変更するには {{ic|~/.mostrc}} または {{ic|/etc/most.conf}} (システム全体に変更が適用されます) を編集する必要があります (ファイルが存在しない場合は作成してください)。{{ic|~/.mostrc}} の例:&lt;br /&gt;
&lt;br /&gt;
 % Color settings&lt;br /&gt;
 color normal lightgray black&lt;br /&gt;
 color status yellow blue&lt;br /&gt;
 color underline yellow black&lt;br /&gt;
 color overstrike brightblue black&lt;br /&gt;
&lt;br /&gt;
{{Ic|less}} と同じようなキーバインドを使う例 (行ジャンプを &#039;J&#039; に設定):&lt;br /&gt;
&lt;br /&gt;
 % less-like keybindings&lt;br /&gt;
 unsetkey &amp;quot;^K&amp;quot;&lt;br /&gt;
 unsetkey &amp;quot;g&amp;quot;&lt;br /&gt;
 unsetkey &amp;quot;G&amp;quot;&lt;br /&gt;
 unsetkey &amp;quot;:&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 setkey next_file &amp;quot;:n&amp;quot;&lt;br /&gt;
 setkey find_file &amp;quot;:e&amp;quot;&lt;br /&gt;
 setkey next_file &amp;quot;:p&amp;quot;&lt;br /&gt;
 setkey toggle_options &amp;quot;:o&amp;quot;&lt;br /&gt;
 setkey toggle_case &amp;quot;:c&amp;quot;&lt;br /&gt;
 setkey delete_file &amp;quot;:d&amp;quot;&lt;br /&gt;
 setkey exit &amp;quot;:q&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 setkey bob &amp;quot;g&amp;quot;&lt;br /&gt;
 setkey eob &amp;quot;G&amp;quot;&lt;br /&gt;
 setkey down &amp;quot;e&amp;quot;&lt;br /&gt;
 setkey down &amp;quot;E&amp;quot;&lt;br /&gt;
 setkey down &amp;quot;j&amp;quot;&lt;br /&gt;
 setkey down &amp;quot;^N&amp;quot;&lt;br /&gt;
 setkey up &amp;quot;y&amp;quot;&lt;br /&gt;
 setkey up &amp;quot;^Y&amp;quot;&lt;br /&gt;
 setkey up &amp;quot;k&amp;quot;&lt;br /&gt;
 setkey up &amp;quot;^P&amp;quot;&lt;br /&gt;
 setkey up &amp;quot;^K&amp;quot;&lt;br /&gt;
 setkey page_down &amp;quot;f&amp;quot;&lt;br /&gt;
 setkey page_down &amp;quot;^F&amp;quot;&lt;br /&gt;
 setkey page_up &amp;quot;b&amp;quot;&lt;br /&gt;
 setkey page_up &amp;quot;^B&amp;quot;&lt;br /&gt;
 setkey other_window &amp;quot;z&amp;quot;&lt;br /&gt;
 setkey other_window &amp;quot;w&amp;quot;&lt;br /&gt;
 setkey search_backward &amp;quot;?&amp;quot;&lt;br /&gt;
 setkey bob &amp;quot;p&amp;quot;&lt;br /&gt;
 setkey goto_mark &amp;quot;&#039;&amp;quot;&lt;br /&gt;
 setkey find_file &amp;quot;E&amp;quot;&lt;br /&gt;
 setkey edit &amp;quot;v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== X resources を使う ====&lt;br /&gt;
&lt;br /&gt;
{{Pkg|xterm}}/{{Ic|uxterm}} や {{Pkg|rxvt-unicode}} でマニュアルページを表示するときにカラーを追加したいときは {{ic|~/.Xresources}} を編集するのが簡単です。&lt;br /&gt;
&lt;br /&gt;
===== xterm =====&lt;br /&gt;
&lt;br /&gt;
修飾をカラーで&#039;&#039;置き換える&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 *VT100.colorBDMode:     true&lt;br /&gt;
 *VT100.colorBD:         red&lt;br /&gt;
 *VT100.colorULMode:     true&lt;br /&gt;
 *VT100.colorUL:         cyan&lt;br /&gt;
&lt;br /&gt;
カラーと修飾 (太字や下線) を&#039;&#039;同時に&#039;&#039;使いたい場合:&lt;br /&gt;
&lt;br /&gt;
 *VT100.veryBoldColors: 6&lt;br /&gt;
&lt;br /&gt;
{{ic|veryBoldColors}} の説明は {{man|1|xterm}} を見てください。&lt;br /&gt;
&lt;br /&gt;
===== rxvt-unicode =====&lt;br /&gt;
&lt;br /&gt;
 URxvt.colorIT:      #87af5f&lt;br /&gt;
 URxvt.colorBD:      #d7d7d7&lt;br /&gt;
 URxvt.colorUL:      #87afd7&lt;br /&gt;
&lt;br /&gt;
次を実行:&lt;br /&gt;
&lt;br /&gt;
 $ xrdb -load ~/.Xresources&lt;br /&gt;
&lt;br /&gt;
{{Ic|xterm/uxterm}} や {{Ic|rxvt-unicode}} を新しく起動すると man ページがカラフルになっているはずです。&lt;br /&gt;
&lt;br /&gt;
上記の組み合わせは {{Ic|xterm/uxterm}} の&#039;&#039;&#039;太字&#039;&#039;&#039;や&amp;lt;u&amp;gt;下線&amp;lt;/u&amp;gt;がある単語や、{{Ic|rxvt-unicode}} の&#039;&#039;&#039;太字&#039;&#039;&#039;や&amp;lt;u&amp;gt;下線&amp;lt;/u&amp;gt;、&#039;&#039;斜体&#039;&#039;のテキストに色を追加します。組み合わせを変えることで色々試せます。&lt;br /&gt;
&lt;br /&gt;
=== pacman ===&lt;br /&gt;
&lt;br /&gt;
[[Pacman]] にはカラーオプションがあります。{{ic|/etc/pacman.conf}} の {{ic|Color}} 行をアンコメントしてください。&lt;br /&gt;
&lt;br /&gt;
== ラッパー ==&lt;br /&gt;
&lt;br /&gt;
=== ユニバーサルラッパー ===&lt;br /&gt;
&lt;br /&gt;
以下のラッパーには複数のプリセットが含まれており、変更したり新しいプリセットを作成することができます。&lt;br /&gt;
&lt;br /&gt;
* {{App|rainbow|パターンを使ってコマンドの出力や標準入力をカラー化します。&amp;lt;br&amp;gt;プリセット: df, diff, env, host, ifconfig, java-stack-trace, jboss, jonas, md5sum, mvn2, mvn3, ping, tomcat, top, traceroute。|https://github.com/nicoulaj/rainbow|{{AUR|rainbow}}}}&lt;br /&gt;
* {{App|grc|ログファイルやコマンドの出力を美しくするカラーライザー。&amp;lt;br&amp;gt;プリセット: cat, cvs, df, digg, gcc, g++, ls, ifconfig, make, mount, mtr, netstat, ping, ps, tail, traceroute, wdiff, blkid, du, dnf, docker, docker-machine, env, id, ip, iostat, last, lsattr, lsblk, lspci, lsmod, lsof, getfacl, getsebool, ulimit, uptime, nmap, fdisk, findmnt, free, semanage, sar, ss, sysctl, systemctl, stat, showmount, tune2fs, tcpdump。|https://github.com/pengwynn/grc|{{Pkg|grc}}}}&lt;br /&gt;
* {{App|colorlogs|パターンを使ってコマンド出力や標準入力をカラー化。&amp;lt;br&amp;gt;プリセット: logs, git status, ant, maven。|https://github.com/memorius/colorlogs}}&lt;br /&gt;
* {{App|cope|ターミナルプログラムのカラフルラッパー。&amp;lt;br&amp;gt;プリセット: acpi, arp, cc, df, dprofpp, fdisk, free, g++, gcc, id, ifconfig, ls, lspci, lsusb, make, md5sum, mpc, netstat, nm, nmap, nocope, ping, pmap, ps, readelf, route, screen, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, shasum, socklist, stat, strace, tcpdump, tracepath, traceroute, w, wget, who, xrandr。|https://github.com/yogan/cope|{{AUR|cope-git}}}}&lt;br /&gt;
* {{App|cw|一般的な UNIX ベースコマンドのお手軽リアルタイム ANSI カラーラッパー。&amp;lt;br&amp;gt;プリセット: arp, arping, auth.log@, blockdev, cal, cksum, clock, configure, cpuinfo@, crontab@, cw-pipe, cw-test.cgi, date, df, diff, dig, dmesg, du, env, figlet, file, find, finger, free, fstab@, fuser, g++, gcc, group@, groups, hdparm, hexdump, host, hosts@, id, ifconfig, inittab@, iptables, last, lastlog, lsattr, lsmod, lsof, ltrace-color, make, md5sum, meminfo@, messages@, mount, mpg123, netstat, nfsstat, nmap, nslookup, objdump, passwd@, ping, pmap, pmap_dump, praliases, profile@, protocols@, ps, pstree, quota, quotastats, resolv.conf@, route, routel, sdiff, services@, showmount, smbstatus, stat, strace-color, sysctl, syslog, tar, tcpdump, tracepath, traceroute, umount, uname, uptime, users, vmstat, w, wc, whereis, who, xferlog。|http://cwrapper.sourceforge.net/|{{AUR|cw}}}}&lt;br /&gt;
* {{App|ccze|C で書かれた高速なログカラー化ツール。colorize を置き換えます。|https://github.com/cornet/ccze/|{{Pkg|ccze}}}}&lt;br /&gt;
&lt;br /&gt;
=== 出力をカラー化するためのライブラリ ===&lt;br /&gt;
&lt;br /&gt;
* {{App|ruby-rainbow|ruby の String クラスを拡張して ANSI ターミナルにおけるテキストのカラー化をサポート。|https://rubygems.org/gems/rainbow/|{{Pkg|ruby-rainbow}}}}&lt;br /&gt;
* {{App|python-blessings|ターミナルのカラー化・スタイル・ポジションの実用的なラッパー。|https://github.com/erikrose/blessings|{{Pkg|python-blessings}}, {{Pkg|python2-blessings}}{{Broken package link|{{aur-mirror|python2-blessings}}}}}}&lt;br /&gt;
&lt;br /&gt;
=== 特定のアプリケーションのラッパー ===&lt;br /&gt;
&lt;br /&gt;
==== コンパイラ ====&lt;br /&gt;
&lt;br /&gt;
* {{App|colorgcc|gcc の出力形式に一致する警告・エラーメッセジなどのコンパイラの出力をカラーにする Perl ラッパー。|https://schlueters.de/colorgcc.html|{{Pkg|colorgcc}}}}&lt;br /&gt;
&lt;br /&gt;
==== diff ====&lt;br /&gt;
&lt;br /&gt;
diff には[[#diff|カラー出力]]機能が備わっていますが、以下のラッパーを使うこともできます:&lt;br /&gt;
&lt;br /&gt;
* {{App|colordiff|Perl script for &#039;&#039;diff&#039;&#039; highlighting.|http://www.colordiff.org/|{{Pkg|colordiff}}}}&lt;br /&gt;
* {{App|cwdiff|&#039;&#039;(w)diff&#039;&#039; wrapper with directories support and highlighting.|https://github.com/junghans/cwdiff|{{AUR|cwdiff}}, {{AUR|cwdiff-git}}}}&lt;br /&gt;
&lt;br /&gt;
==== less ====&lt;br /&gt;
&lt;br /&gt;
===== source-highlight =====&lt;br /&gt;
&#039;&#039;less&#039;&#039; でシンタックスハイライトを有効にすることができます。まず、{{Pkg|source-highlight}} をインストールし、次に以下の行をシェルの設定ファイルに追加してください:&lt;br /&gt;
{{hc|~/.bashrc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
export LESSOPEN=&amp;quot;| /usr/bin/source-highlight-esc.sh %s&amp;quot;&lt;br /&gt;
export LESS=&#039;-R &#039;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
===== lesspipe =====&lt;br /&gt;
&lt;br /&gt;
コマンドラインインターフェイスを頻繁に使う場合 {{Pkg|lesspipe}} をインストールすると良いかもしれません。&lt;br /&gt;
&lt;br /&gt;
ページャを使ってアーカイブの中の圧縮されたファイルを表示することができるようになります:&lt;br /&gt;
&lt;br /&gt;
{{hc|$ less &#039;&#039;compressed_file&#039;&#039;.tar.gz|2=&lt;br /&gt;
==&amp;gt; use tar_file:contained_file to view a file in the archive&lt;br /&gt;
-rw------- &#039;&#039;username&#039;&#039;/&#039;&#039;group&#039;&#039;  695 2008-01-04 19:24 &#039;&#039;compressed_file&#039;&#039;/&#039;&#039;content1&#039;&#039;&lt;br /&gt;
-rw------- &#039;&#039;username&#039;&#039;/&#039;&#039;group&#039;&#039;   43 2007-11-07 11:17 &#039;&#039;compressed_file&#039;&#039;/&#039;&#039;content2&#039;&#039;&lt;br /&gt;
&#039;&#039;compressed_file&#039;&#039;.tar.gz (END)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;lesspipe&#039;&#039; はファイルタイプに関連付けられたコマンドの代替として (例えば {{Pkg|python-html2text}} で HTML を閲覧する)、アーカイブ以外のファイルも &#039;&#039;less&#039;&#039; のインターフェイスに接続します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;lesspipe&#039;&#039; を有効にするにはログインしなおすか、{{ic|/etc/profile.d/lesspipe.sh}} を実行してください。&lt;br /&gt;
&lt;br /&gt;
==== Make ====&lt;br /&gt;
&lt;br /&gt;
* {{App|colormake|出力を読みやすくするシンプルな make のラッパー。|http://bre.klaki.net/programs/colormake/|{{AUR|colormake}}, {{AUR|colormake-git}}}}&lt;br /&gt;
&lt;br /&gt;
==== Ping ====&lt;br /&gt;
&lt;br /&gt;
* {{App|prettyping|ping の監視に素晴らしい機能を追加するラッパー。標準の ping ツールの出力を美麗・コンパクト・読みやすく改造。|http://denilson.sa.nom.br/prettyping/|{{Pkg|prettyping}}}}&lt;br /&gt;
&lt;br /&gt;
== シェル ==&lt;br /&gt;
&lt;br /&gt;
=== bash ===&lt;br /&gt;
&lt;br /&gt;
[[Bash/プロンプトのカスタマイズ#カラー]]を見てください。&lt;br /&gt;
&lt;br /&gt;
=== zsh ===&lt;br /&gt;
&lt;br /&gt;
[[Zsh#プロンプトのカスタマイズ]]を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Fish ===&lt;br /&gt;
&lt;br /&gt;
[[Fish#ウェブインターフェイス]]を見てください。&lt;br /&gt;
&lt;br /&gt;
== ターミナルエミュレータ ==&lt;br /&gt;
&lt;br /&gt;
=== 仮想端末 ===&lt;br /&gt;
&lt;br /&gt;
フレームバッファで実行される [[w:Virtual console|Linux 仮想端末]]の色は変更することができます。エスケープコードe {{ic|\\e]PXRRGGBB}} を書き込むことで変更できます。{{ic|X}} は 0-F からなる色の16進数インデックス、{{ic|RRGGBB}} は伝統的な16進数の RGB コードに置き換えてください。&lt;br /&gt;
&lt;br /&gt;
例えば、{{ic|~/.Xresources}} に定義した既存の色定義を再利用するには、シェルの初期化ファイル ({{ic|~/.bashrc}} など) に以下を追加してください:&lt;br /&gt;
&lt;br /&gt;
 if [ &amp;quot;$TERM&amp;quot; = &amp;quot;linux&amp;quot; ]; then&lt;br /&gt;
     _SEDCMD=&#039;s/.*\*color\([0-9]\{1,\}\).*#\([0-9a-fA-F]\{6\}\).*/\1 \2/p&#039;&lt;br /&gt;
     for i in $(sed -n &amp;quot;$_SEDCMD&amp;quot; $HOME/.Xresources | awk &#039;$1 &amp;lt; 16 {printf &amp;quot;\\e]P%X%s&amp;quot;, $1, $2}&#039;); do&lt;br /&gt;
         echo -en &amp;quot;$i&amp;quot;&lt;br /&gt;
     done&lt;br /&gt;
     clear&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
==== ログイン画面 ====&lt;br /&gt;
&lt;br /&gt;
以下は {{ic|/etc/issue}} の仮想端末のログイン画面のカラー出力例です。root で {{ic|mv /etc/issue /etc/issue.bak}} を実行して元のファイルのバックアップを作成してから、新しい {{ic|/etc/issue}} を作成してください:&lt;br /&gt;
&lt;br /&gt;
 \e[H\e[2J&lt;br /&gt;
                                                             \e[1;30m| \e[34m\\s \\r&lt;br /&gt;
        \e[36;1m/\\\\                      \e[37m||     \e[36m| |                   \e[30m|&lt;br /&gt;
       \e[36m/  \\\\                     \e[37m||     \e[36m|     _               \e[30m| \e[32m\\t&lt;br /&gt;
      \e[1;36m/ \e[0;36m.. \e[1m\\\\   \e[37m//==\\\\\\\\ ||/= /==\\\\ ||/=\\\\  \e[36m| | |/ \\\\ |  | \\\\ /     \e[30m| \e[32m\\d&lt;br /&gt;
     \e[0;36m/ .  . \\\\  \e[37m||  || ||   |    ||  || \e[36m| | |  | |  |  X      \e[1;30m|&lt;br /&gt;
    \e[0;36m/  .  .  \\\\ \e[37m\\\\\\\\==/| ||   \\\\==/ ||  || \e[36m| | |  | \\\\_/| / \\\\     \e[1;30m| \e[31m\\U&lt;br /&gt;
   \e[0;36m/ ..    .. \\\\   \e[0;37mA simple, lightweight linux distribution.  \e[1;30m|&lt;br /&gt;
  \e[0;36m/_\x27        `_\\\\                                             \e[1;30m| \e[35m\\l \e[0mon \e[1;33m\\n&lt;br /&gt;
  \e[0m&lt;br /&gt;
 &lt;br /&gt;
ファイルを保存したら {{ic|chmod +x /etc/issue}} で実行可能属性を付与してください。&lt;br /&gt;
&lt;br /&gt;
参照:&lt;br /&gt;
&lt;br /&gt;
* https://bbs.archlinux.org/viewtopic.php?pid=386429#p386429&lt;br /&gt;
* http://www.linuxfromscratch.org/blfs/view/svn/postlfs/logon.html&lt;br /&gt;
&lt;br /&gt;
=== X window system ===&lt;br /&gt;
&lt;br /&gt;
ほとんどの [[Xorg]] ターミナル ([[xterm]] や [[urxvt]] を含む) は16色の基本色をサポートしています。0-7 の色は &#039;normal&#039; カラーです。8-15 の色は 0-7 の色の &#039;bright&#039; カラーです。ハイライトに使用します。[[X resources]] を使ったりターミナルの設定を使うことで色は変更することができます。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=~/.Xresources|2=&lt;br /&gt;
! Black + DarkGrey&lt;br /&gt;
*color0:  #000000&lt;br /&gt;
*color8:  #555753&lt;br /&gt;
! DarkRed + Red&lt;br /&gt;
*color1:  #ff6565&lt;br /&gt;
*color9:  #ff8d8d&lt;br /&gt;
! DarkGreen + Green&lt;br /&gt;
*color2:  #93d44f&lt;br /&gt;
*color10: #c8e7a8&lt;br /&gt;
! DarkYellow + Yellow&lt;br /&gt;
*color3:  #eab93d&lt;br /&gt;
*color11: #ffc123&lt;br /&gt;
! DarkBlue + Blue&lt;br /&gt;
*color4:  #204a87&lt;br /&gt;
*color12: #3465a4&lt;br /&gt;
! DarkMagenta + Magenta&lt;br /&gt;
*color5:  #ce5c00&lt;br /&gt;
*color13: #f57900&lt;br /&gt;
!DarkCyan + Cyan (both not tango)&lt;br /&gt;
*color6:  #89b6e2&lt;br /&gt;
*color14: #46a4ff&lt;br /&gt;
! LightGrey + White&lt;br /&gt;
*color7:  #cccccc&lt;br /&gt;
*color15: #ffffff&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|{{ic|foreground}} や {{ic|background}} などのカラーリソースは他のアプリケーション (例: [https://www.gnu.org/software/emacs/manual/html_node/emacs/Table-of-Resources.html emacs]) によって読み込まれる可能性があります。クラス名を指定することで読み込まれないようにすることができます。例: {{ic|XTerm.foreground}}。}}&lt;br /&gt;
&lt;br /&gt;
参照:&lt;br /&gt;
&lt;br /&gt;
* 自動的に太字・下線テキストをカラー化する方法は [[#X resources を使う]]を見てください。&lt;br /&gt;
* [https://web.archive.org/web/20090130061234/http://phraktured.net/terminal-colors/ Color Themes] - Extensive list of terminal color themes by Phraktured.&lt;br /&gt;
* [http://xcolors.net/ Xcolors.net] List of user-contributed terminal color themes.&lt;br /&gt;
* [http://beta.andrewrcraig.us/index.php?page=xcolors Xcolors by dkeg]&lt;br /&gt;
* [https://github.com/chriskempson/base16 base16 color schemes]&lt;br /&gt;
&lt;br /&gt;
=== 256色全てを表示 ===&lt;br /&gt;
&lt;br /&gt;
画面上に256色を表示:&lt;br /&gt;
&lt;br /&gt;
 $ (x=`tput op` y=`printf %76s`;for i in {0..256};do o=00$i;echo -e ${o:${#o}-3:3} `tput setaf $i;tput setab $i`${y// /=}$x;done)&lt;br /&gt;
&lt;br /&gt;
=== tput のエスケープコードを表示 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|tput op}} は確認したい色に置き換えてください。{{ic|op}} はデフォルトの前景色と背景色です。&lt;br /&gt;
&lt;br /&gt;
{{hc|&amp;lt;nowiki&amp;gt;$ ( strace -s5000 -e write tput op 2&amp;gt;&amp;amp;2 2&amp;gt;&amp;amp;1 ) | tee -a /dev/stderr | grep -o &#039;&amp;quot;[^&amp;quot;]*&amp;quot;&#039;&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
033[\033[1;34m&amp;quot;\33[39;49m&amp;quot;\033[00m&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== サポートされている色を確認 ===&lt;br /&gt;
&lt;br /&gt;
以下のコマンドで使用しているターミナルがサポートしている色の数を確認できます。色の数は次のどれかになります: 8, 15, 16, 52, 64, 88, 256。&lt;br /&gt;
&lt;br /&gt;
{{hc|&amp;lt;nowiki&amp;gt;$ for T in `find /usr/share/terminfo -type f -printf &#039;%f &#039;`;do echo &amp;quot;$T `tput -T $T colors`&amp;quot;;done|sort -nk2&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
Eterm-88color 88&lt;br /&gt;
rxvt-88color 88&lt;br /&gt;
xterm+88color 88&lt;br /&gt;
xterm-88color 88&lt;br /&gt;
Eterm-256color 256&lt;br /&gt;
gnome-256color 256&lt;br /&gt;
konsole-256color 256&lt;br /&gt;
putty-256color 256&lt;br /&gt;
rxvt-256color 256&lt;br /&gt;
screen-256color 256&lt;br /&gt;
screen-256color-bce 256&lt;br /&gt;
screen-256color-bce-s 256&lt;br /&gt;
screen-256color-s 256&lt;br /&gt;
xterm+256color 256&lt;br /&gt;
xterm-256color 256&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== ターミナルの機能を確認 ===&lt;br /&gt;
&lt;br /&gt;
以下のコマンドを使うことでターミナルによってサポートされている機能を確認できます:&lt;br /&gt;
&lt;br /&gt;
{{hc|&amp;lt;nowiki&amp;gt;$ infocmp -1 | sed -nu &#039;s/^[ \000\t]*//;s/[ \000\t]*$//;/[^ \t\000]\{1,\}/!d;/acsc/d;s/=.*,//p&#039;|column -c80&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
bel	cuu	ich	kb2	kf15	kf3	kf44	kf59	mc0	rmso	smul&lt;br /&gt;
blink	cuu1	il	kbs	kf16	kf30	kf45	kf6	mc4	rmul	tbc&lt;br /&gt;
bold	cvvis	il1	kcbt	kf17	kf31	kf46	kf60	mc5	rs1	u6&lt;br /&gt;
cbt	dch	ind	kcub1	kf18	kf32	kf47	kf61	meml	rs2	u7&lt;br /&gt;
civis	dch1	indn	kcud1	kf19	kf33	kf48	kf62	memu	sc	u8&lt;br /&gt;
clear	dl	initc	kcuf1	kf2	kf34	kf49	kf63	op	setab	u9&lt;br /&gt;
cnorm	dl1	invis	kcuu1	kf20	kf35	kf5	kf7	rc	setaf	vpa&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== カラースキームスクリプト ===&lt;br /&gt;
&lt;br /&gt;
現在のターミナルスキームのチャートを表示するスクリプトが [https://paste.xinu.at/m-dAiJ/] に存在します。&lt;br /&gt;
&lt;br /&gt;
=== トゥルーカラーサポート ===&lt;br /&gt;
&lt;br /&gt;
xterm、konsole、st など、1600 万色 (RGB、それぞれ 8 ビットの解像度) のフルレンジをサポートしている端末もあります。対応する TERM 値 xterm-direct、konsole-direct、st-direct などは、ncurses バージョン 6.1 [https://lists.gnu.org/archive/html/bug-ncurses/2018-01/msg00045.html] からサポートされています。トゥルーカラーをサポートしているターミナルエミュレータやアプリケーションの詳細については、 [https://gist.github.com/XVilka/8346728] を参照してください。&lt;br /&gt;
&lt;br /&gt;
なお、Linux カーネルはトゥルーカラー用の SGR エスケープシーケンスをサポートしていますが、ドライバが 24 ビットの色仕様をカーネル内の 256 色のカラーマップにマッピングするため、使用しても無意味です (関数 {{ic|rgb_foreground}}、{{ic|rgb_background}}) を参照)。このため、{{ic|linux-direct}} の terminfo エントリはありません。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://gkbrk.com/2016/07/lolcat-clone-in-x64-assembly/ lolcat clone in x64 assembly]&lt;br /&gt;
* [http://unix.stackexchange.com/a/147 Setting colors for less] と [http://unix.stackexchange.com/a/6357 solving related problems] (StackExchange のスレッド)&lt;/div&gt;</summary>
		<author><name>Oriaca372m</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Wake-on-LAN&amp;diff=19553</id>
		<title>Wake-on-LAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Wake-on-LAN&amp;diff=19553"/>
		<updated>2021-03-20T13:45:15Z</updated>

		<summary type="html">&lt;p&gt;Oriaca372m: Wake-up after shutdown の部分だけ英語版から翻訳&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ネットワーク]]&lt;br /&gt;
[[en:Wake-on-LAN]]&lt;br /&gt;
Wake-on-LAN (WOL) はネットワーク接続 (インターネットまたはイントラネット) からコンピュータの電源を入れる機能です。&lt;br /&gt;
&lt;br /&gt;
== ハードウェア設定 ==&lt;br /&gt;
&lt;br /&gt;
Wake-on-LAN を使うにはコンピュータのマザーボードや [[wikipedia:ja:ネットワークカード|NIC]] が Wake-on-LAN をサポートしている必要があります。無線カードは Wake-on-LAN をサポートしていないため、ルーターや他のコンピュータに物理的に (ケーブルで) 接続しなくてはなりません。&lt;br /&gt;
&lt;br /&gt;
また、Wake-on-LAN 機能は PC の BIOS で有効にする必要があります。マザーボードのメーカーによって Wake-on-LAN 機能には様々な名前がつけられています。&amp;quot;PCI Power up&amp;quot; や &amp;quot;Allow PCI wake up event&amp;quot;、あるいは &amp;quot;Boot from PCI/PCI-E&amp;quot; というような単語を追って下さい。&lt;br /&gt;
&lt;br /&gt;
一部のマザーボードには厄介なバグが存在し、BIOS で WoL が有効にされている限り[[#シャットダウン後にコンピュータが起動する|シャットダウン後すぐに(またはランダムに)コンピュータが起動する]]という問題を引き起こすことがあります。&lt;br /&gt;
&lt;br /&gt;
== ソフトウェア設定 ==&lt;br /&gt;
&lt;br /&gt;
ハードウェアによっては、ネットワークドライバーによって WOL がデフォルトでオフになっていることがあります。WOL の状態を確認したり、設定を変更するために、{{Pkg|ethtool}} をインストールして下さい。&lt;br /&gt;
&lt;br /&gt;
次のコマンドを使ってネットワークデバイスの状態を確認します:&lt;br /&gt;
&lt;br /&gt;
{{hc|&amp;lt;nowiki&amp;gt;# ethtool net0 | grep Wake-on&amp;lt;/nowiki&amp;gt;|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
         Supports Wake-on: pumbag&lt;br /&gt;
    Wake-on: d&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
上記の値はどのアクティビティが動作するかを定義しています: {{ic|d}} (無効), {{ic|p}} (PHY アクティビティ), {{ic|u}} (ユニキャストアクティビティ), {{ic|m}} (マルチキャストアクティビティ), {{ic|b}} (ブロードキャストアクティビティ), {{ic|a}} (ARP アクティビティ), {{ic|g}} (マジックパケットアクティビティ)。WOL を使うには {{ic|g}} が必要です。&lt;br /&gt;
&lt;br /&gt;
ドライバーの WOL 機能を有効化するには:&lt;br /&gt;
&lt;br /&gt;
 # ethtool -s net0 wol g&lt;br /&gt;
&lt;br /&gt;
上記のコマンドは再起動してしまうと効果を失ってしまうため、何らかの方法で自動的に実行されるようにする必要があります。以下のサブセクションに一般的な方法を載せています。&lt;br /&gt;
&lt;br /&gt;
=== netctl を使う ===&lt;br /&gt;
&lt;br /&gt;
netctl を使う場合、以下の設定を netctl のプロファイルに追加することで永続化させることができます:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/netctl/&#039;&#039;profile&#039;&#039;|2=&lt;br /&gt;
ExecUpPost=&#039;/usr/bin/ethtool -s net0 wol g&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== systemd.link を使う ===&lt;br /&gt;
&lt;br /&gt;
systemd を使うことでリンクレベルの設定ができます。実際の設定は systemd に組み込まれている {{ic|net_setup_link}} udev によって行われます。ネットワークリンクファイルに {{ic|WakeOnLan}} オプションを追加してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/network/50-wired.link|2=&lt;br /&gt;
[Link]&lt;br /&gt;
WakeOnLan=magic&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note|上記の設定はリンクレベルにしか適用されません。[[NetworkManager]] や [[systemd-networkd]] などネットワーク層のデーモンとは無関係です。}}&lt;br /&gt;
&lt;br /&gt;
詳しくは [[systemd-networkd#link ファイル]]や {{ic|man systemd.link}} を参照。&lt;br /&gt;
&lt;br /&gt;
=== systemd サービスを使う ===&lt;br /&gt;
&lt;br /&gt;
上述の {{ic|systemd.link}} オプションと同じ効果がありますが、スタンドアロンの systemd サービスを使っています。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/wol@.service|2=&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Wake-on-LAN for %i&lt;br /&gt;
Requires=network.target&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=/usr/bin/ethtool -s %i wol g&lt;br /&gt;
Type=oneshot&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
もしくは {{AUR|wol-systemd}} パッケージをインストールして下さい。&lt;br /&gt;
&lt;br /&gt;
その後 {{ic|wol@&#039;&#039;interface&#039;&#039;.service}} を[[起動]]することで新しいサービスを有効にして下さい。&lt;br /&gt;
&lt;br /&gt;
=== udev を使う ===&lt;br /&gt;
&lt;br /&gt;
[[udev]] を使うことでデバイスが認識されたときにコマンドを実行することができます。以下のルールは {{ic|enp*}} にマッチする全ての[[ネットワークインターフェース]]で WOL を有効にします:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/udev/rules.d/99-wol.rules|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
ACTION==&amp;quot;add&amp;quot;, SUBSYSTEM==&amp;quot;net&amp;quot;, NAME==&amp;quot;enp*&amp;quot;, RUN+=&amp;quot;/usr/bin/ethtool -s $name wol g&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{ic|$name}} はマッチしたデバイスの {{ic|NAME}} 変数の値に置き換えられます。&lt;br /&gt;
&lt;br /&gt;
{{Note|設定ファイルの名前は重要です。systemd v197 から[[ネットワーク設定#デバイス名|固定的なデバイス名]]が導入されたことで、特定のネットワークインターフェイスにマッチするルールは {{ic|80-net-name-slot.rules}} よりもアルファベット順で後に来るようにして、デバイスに名前が割り当てられた後に適用する必要があります。}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|[[udev]] はデバイスが認識されたときにマッチを行います。実行されるのは (ルートディレクトリに制御が移る前の) [[initramfs]] あるいはメイン環境のどちらかになります。順番は必ずしもいつも同じとは限りません。initramfs に必要な udev ルール ({{ic|/etc/udev/rules.d}}) と補助バイナリ ({{ic|/usr/bin/ethtool}}) が含まれていることを確認してください。}}&lt;br /&gt;
&lt;br /&gt;
=== cron を使う ===&lt;br /&gt;
&lt;br /&gt;
crontab で &amp;quot;@reboot&amp;quot; を使うことでコンピュータを起動するたびにコマンドを実行させることができます。まず、[[Cron#インストール|cron]] をインストールして、それから root ユーザーの [[cron#基本的なコマンド|crontab]] を編集して以下の行を記述して下さい:&lt;br /&gt;
&lt;br /&gt;
 @reboot /usr/bin/ethtool -s [net-device] wol g&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager ===&lt;br /&gt;
&lt;br /&gt;
バージョン 1.0.6 から NetworkManager には Wake-on-LAN の制御が追加されました [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=NetworkManager-WoL-Control]。nmcli を使ってマジックパケットで Wake-on-LAN を有効にできます。&lt;br /&gt;
&lt;br /&gt;
まず、有線接続の名前を検索してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|# nmcli con show|2=&lt;br /&gt;
NAME    UUID                                  TYPE            DEVICE&lt;br /&gt;
wired1  612e300a-c047-4adb-91e2-12ea7bfe214e  802-3-ethernet  enp0s25&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Wake-on-LAN の現在の設定は以下のようにして確認できます:&lt;br /&gt;
&lt;br /&gt;
{{hc|# nmcli c show &amp;quot;wired1&amp;quot; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; grep 802-3-ethernet.wake-on-lan|2=&lt;br /&gt;
802-3-ethernet.wake-on-lan:             default&lt;br /&gt;
802-3-ethernet.wake-on-lan-password:    --&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
マジックパケットを使って Wake-on-LAN を有効にするには:&lt;br /&gt;
&lt;br /&gt;
 # nmcli c modify &amp;quot;wired1&amp;quot; 802-3-ethernet.wake-on-lan magic&lt;br /&gt;
&lt;br /&gt;
設定したら再起動してください。設定を有効にするには再起動が2回必要な場合があります。&lt;br /&gt;
&lt;br /&gt;
バージョン 1.2.0 から {{Pkg|nm-connection-editor}} を使ってグラフィカルに Wake-on-LAN の設定を変えることも可能です。&lt;br /&gt;
&lt;br /&gt;
== 電源の投入 ==&lt;br /&gt;
&lt;br /&gt;
マシンの WOL を実行するには、マシンの MAC アドレスと外部・内部 IP が必要です。&lt;br /&gt;
&lt;br /&gt;
コンピュータの内部 IP アドレスと MAC アドレスを取得するには、次のコマンドを実行:&lt;br /&gt;
&lt;br /&gt;
{{hc|$ ip addr|&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default&lt;br /&gt;
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
   inet 127.0.0.1/8 scope host lo&lt;br /&gt;
      valid_lft forever preferred_lft forever&lt;br /&gt;
   inet6 ::1/128 scope host&lt;br /&gt;
      valid_lft forever preferred_lft forever&lt;br /&gt;
2: enp1s0: &amp;lt;BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000&lt;br /&gt;
    link/ether &#039;&#039;&#039;48:05:ca:09:0e:6a&#039;&#039;&#039; brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet &#039;&#039;&#039;192.168.1.20/24&#039;&#039;&#039; brd 192.168.1.255 scope global br0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::6a05:caff:fe09:e6a/64 scope link&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
上記の場合、内部 IP アドレスは {{ic|192.168.1.20}} で MAC アドレスは {{ic|48:05:ca:09:0e:6a}} です。&lt;br /&gt;
&lt;br /&gt;
WOL を実行するためにマジックパケットを送信できるプログラムとして {{Pkg|wol}} が存在します。&lt;br /&gt;
&lt;br /&gt;
=== 同一の LAN 上にある場合 ===&lt;br /&gt;
&lt;br /&gt;
ネットワークケーブルによって他のコンピュータと直接接続している場合、または LAN の中の通信がファイアウォールで遮断されていない場合、ポートのリダイレクトについて考える必要がないため簡単に Wake-on-LAN を使うことができます。&lt;br /&gt;
&lt;br /&gt;
一番シンプルなケース、デフォルトのブロードキャストアドレス {{ic|255.255.255.255}} を使用:&lt;br /&gt;
&lt;br /&gt;
 $ wol &#039;&#039;target_MAC_address&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
特定のサブネットやホストにだけマジックパケットを送信するには、{{ic|-i}} スイッチを使用:&lt;br /&gt;
&lt;br /&gt;
 $ wol -i &#039;&#039;target_IP&#039;&#039; &#039;&#039;target_MAC_address&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Tip|If you intend to continue using Wake-on-LAN, it is recommended to assign a static IP address to the target computer.}}&lt;br /&gt;
&lt;br /&gt;
=== インターネットを経由する ===&lt;br /&gt;
&lt;br /&gt;
送信元と送信先のコンピュータがルーターで区切られている場合、[[wikipedia:Port forwarding|ポートフォワーディング]]によって Wake-on-LAN を使うことができます。&lt;br /&gt;
&lt;br /&gt;
2つの方法が考えられます:&lt;br /&gt;
* 別のポートを送信先のマシンに転送するようにルーターを設定 (LAN 上で送信先のマシンに固定 IP アドレスを割り当てる必要があります)。&lt;br /&gt;
* 特定のポートを[[wikipedia:ja:ブロードキャストアドレス|ブロードキャストアドレス]]に転送するようにルーターを設定 (ルーターによっては設定できない場合があります)。&lt;br /&gt;
&lt;br /&gt;
どちらの場合でも電源を投入するには以下のコマンドを実行します:&lt;br /&gt;
&lt;br /&gt;
 $ wol -p &#039;&#039;forwarded_port&#039;&#039; -i &#039;&#039;router_IP&#039;&#039; &#039;&#039;target_MAC_address&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== ポートをブロードキャストアドレスに転送する ====&lt;br /&gt;
&lt;br /&gt;
ほとんどのルーターはブロードキャストアドレスへの転送を設定できませんが、ルーターにシェルでアクセスすることができれば以下のコマンドで転送させることができます (192.168.1.0/24 と net0 はネットワークに合わせて適切なアドレス・インターフェイスに置き換えてください):&lt;br /&gt;
 $ ip neighbor add 192.168.1.254 lladdr FF:FF:FF:FF:FF:FF dev net0&lt;br /&gt;
&lt;br /&gt;
上記のコマンドで UDP のポート 9 は 192.168.1.254 に転送されるようになります。Tomato ファームウェアの Linksys WRT54G や Verizon FIOS ActionTec ルーターで上手く行くことを確認済みです。&lt;br /&gt;
&lt;br /&gt;
DD-WRT ルーターで設定する方法については [http://www.dd-wrt.com/wiki/index.php/WOL#Remote_Wake_On_LAN_via_Port_Forwarding こちらのチュートリアル] を見てください。&lt;br /&gt;
&lt;br /&gt;
== その他 ==&lt;br /&gt;
&lt;br /&gt;
=== バッテリーが食われる問題 ===&lt;br /&gt;
ノートパソコンによってはシャットダウン後にバッテリーを消費する問題が存在します [https://ubuntuforums.org/archive/index.php/t-1729782.html]。WOL が有効になっているのが原因です。問題を解決するには、&#039;&#039;ethtool&#039;&#039; を使って無効化して下さい:&lt;br /&gt;
&lt;br /&gt;
 # ethtool -s net0 wol d&lt;br /&gt;
&lt;br /&gt;
=== WOL サンプルスクリプト ===&lt;br /&gt;
以下は複数のマシンで自動的に WOL を使うスクリプトです:&lt;br /&gt;
&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# definition of MAC addresses&lt;br /&gt;
monster=01:12:46:82:ab:4f&lt;br /&gt;
chronic=00:3a:53:21:bc:30&lt;br /&gt;
powerless=1a:32:41:02:29:92&lt;br /&gt;
ghost=01:1a:d2:56:6b:e6&lt;br /&gt;
&lt;br /&gt;
while true; do&lt;br /&gt;
echo &amp;quot;Which PC to wake?&amp;quot;&lt;br /&gt;
echo &amp;quot;p) powerless&amp;quot;&lt;br /&gt;
echo &amp;quot;m) monster&amp;quot;&lt;br /&gt;
echo &amp;quot;c) chronic&amp;quot;&lt;br /&gt;
echo &amp;quot;g) ghost&amp;quot;&lt;br /&gt;
echo &amp;quot;b) wake monster, wait 40sec, then wake chronic&amp;quot;&lt;br /&gt;
echo &amp;quot;q) quit and take no action&amp;quot;&lt;br /&gt;
read input1&lt;br /&gt;
&lt;br /&gt;
case $input1 in&lt;br /&gt;
  p)&lt;br /&gt;
  /usr/bin/wol $powerless&lt;br /&gt;
  ;;&lt;br /&gt;
&lt;br /&gt;
  m)&lt;br /&gt;
  /usr/bin/wol $monster&lt;br /&gt;
  ;;&lt;br /&gt;
&lt;br /&gt;
  c)&lt;br /&gt;
  /usr/bin/wol $chronic&lt;br /&gt;
  ;;&lt;br /&gt;
&lt;br /&gt;
  g)&lt;br /&gt;
  # this line requires an IP address in /etc/hosts for ghost&lt;br /&gt;
  # and should use wol over the internet provided that port 9&lt;br /&gt;
  # is forwarded to ghost on ghost&#039;s router&lt;br /&gt;
  /usr/bin/wol -v -h -p 9 ghost $ghost&lt;br /&gt;
  ;;&lt;br /&gt;
&lt;br /&gt;
  b)&lt;br /&gt;
  /usr/bin/wol $monster&lt;br /&gt;
  echo &amp;quot;monster sent, now waiting for 40sec then waking chronic&amp;quot;&lt;br /&gt;
  sleep 40&lt;br /&gt;
  /usr/bin/wol $chronic&lt;br /&gt;
  ;;&lt;br /&gt;
&lt;br /&gt;
  Q|q)&lt;br /&gt;
  echo &amp;quot;later!&amp;quot;&lt;br /&gt;
  break&lt;br /&gt;
  ;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
done&lt;br /&gt;
echo  &amp;quot;this is the (quit) end!! c-ya!&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== シャットダウン後にコンピュータが起動する ===&lt;br /&gt;
一部のマザーボードには厄介なバグが存在し、BIOS で WoL が有効にされている限りシャットダウン後すぐに(またはランダムに)コンピュータが起動するという問題を引き起こすことがあります ([https://bbs.archlinux.org/viewtopic.php?id=173648 このスレッド]などを参照)。&lt;br /&gt;
&lt;br /&gt;
==== BIOS の設定を変更して修正する ====&lt;br /&gt;
次の設定を BIOS で変更すると、いくつかのマザーボードでは問題が解決することがあります。&lt;br /&gt;
# USB の設定に関する &amp;quot;xHCI&amp;quot; を全て無効化する (これは起動時の USB 3.0 を無効にしてしまいます)。&lt;br /&gt;
# EuP 2013 がオプションとして存在する場合に無効化する。&lt;br /&gt;
# (任意) キーボードによる WOL を有効化する。&lt;br /&gt;
{{Note|上記の3番目の設定については賛否が分かれておりマザーボードによっても変わります。}}&lt;br /&gt;
&lt;br /&gt;
==== カーネルの quirks を使用して修正する ====&lt;br /&gt;
次の文をカーネルのブートパラメーターに追加することでも問題を解決できます: {{ic|1=xhci_hcd.quirks=270336}}&lt;br /&gt;
&lt;br /&gt;
これは次の quirks を有効にします:&lt;br /&gt;
* {{ic|XHCI_SPURIOUS_REBOOT}}&lt;br /&gt;
* {{ic|XHCI_SPURIOUS_WAKEUP}}&lt;br /&gt;
&lt;br /&gt;
=== Realtek ===&lt;br /&gt;
&lt;br /&gt;
Realtek 8168 8169 8101 8111(C) が搭載された NIC (カード/オンボード) を使っている場合、起動時に NIC が無効になってしまって接続ランプが灯らないことがあります。[[ネットワーク設定#Realtek が使えない / WOL の問題]]を見て下さい。&lt;br /&gt;
&lt;br /&gt;
MSI B85M-E45 マザーボード (BIOS バージョン V10.9) のオンボードチップセット Realtek 8111G では、コンピュータの電源が切れているときにネットワークスイッチのリンクライトは光っているのに Wake-on-LAN が機能しない場合、一度 {{Pkg|r8168}} カーネルモジュールを使ってシステムを起動してから、カーネルに組み込まれている r8169 に戻すことで問題が解決する場合があります。&lt;br /&gt;
&lt;br /&gt;
=== サスペンド/復帰 ===&lt;br /&gt;
&lt;br /&gt;
[[TLP]] を使っている場合に、サスペンド・ハイバネート後にコンピュータが立ち上がらないときは {{ic|/etc/default/tlp}} で {{ic|WOL_DISABLE}} の値を {{ic|N}} に設定してください。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.depicus.com/wake-on-lan/woli.aspx Wake-On-Lan]&lt;/div&gt;</summary>
		<author><name>Oriaca372m</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=PipeWire&amp;diff=19552</id>
		<title>PipeWire</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=PipeWire&amp;diff=19552"/>
		<updated>2021-03-20T13:20:34Z</updated>

		<summary type="html">&lt;p&gt;Oriaca372m: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:マルチメディア]]&lt;br /&gt;
[[en:PipeWire]]&lt;br /&gt;
[[fi:PipeWire]]&lt;br /&gt;
[http://pipewire.org PipeWire] は新しい低レベルマルチメディアフレームワークです。&lt;br /&gt;
映像と音声を最小の遅延で再生/キャプチャすることを目的としていて、PulseAudio、JACK、ALSA、GStreamer をベースとしたアプリケーションと互換性があります。&lt;br /&gt;
&lt;br /&gt;
このフレームワークのデーモンは (PulseAudio と JACK の機能を持った) オーディオサーバーとしても、ビデオキャプチャサーバーとしても設定できます。&lt;br /&gt;
&lt;br /&gt;
また PipeWire は [[Flatpak]] のようなコンテナをサポートしており、&#039;&#039;audio&#039;&#039; や &#039;&#039;video&#039;&#039; [[ユーザーとグループ#グループ管理|ユーザーグループ]]に依存するのではなく、Flatpak や Wayland にスクリーンや音声を録音する許可を求める [[Polkit]] のようなセキュリティモデルを使用しています。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
公式リポジトリの {{pkg|pipewire}} パッケージを[[インストール]]します。&lt;br /&gt;
&lt;br /&gt;
PipeWire は [[systemd/ユーザー]] を使用してサーバーの管理とソケットアクティベーションを行います。起動時の動作やログの確認方法などの詳細は [[systemd/ユーザー]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
必要に応じて {{pkg|pipewire-docs}} をインストールしてドキュメントを確認することもできます。{{pkg|pipewire-alsa}}、{{pkg|pipewire-pulse}}、{{pkg|pipewire-jack}} などの他のパッケージは [[#音声|PulseAudio/JACKの代わりに PipeWire を使用]]したい場合を除き必要ありません。multilib サポートのために {{aur|lib32-pipewire}}、{{aur|lib32-pipewire-jack}} も利用できます。&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
&lt;br /&gt;
=== WebRTC 画面共有===&lt;br /&gt;
&lt;br /&gt;
ほとんどのブラウザは WebRTC を使用しているとき (例えば Google ハングアウトで) デスクトップ (や個々のアプリケーション) をキャプチャするのに X11 に依存していました。Wayland ではセキュリティ上の理由から画面共有は異なる方法で処理されます。PipeWire はきめ細かなアクセス制御を使用して Wayland 上のコンテンツを共有できます。&lt;br /&gt;
&lt;br /&gt;
これには {{pkg|xdg-desktop-portal}} とそのバックエンドの1つが[http://jgrulich.cz/2018/07/04/04/how-to-enable-and-use-screen-sharing-on-wayland 必要です]。利用可能なバックエンドは次のとおりです:&lt;br /&gt;
&lt;br /&gt;
* GNOME の場合、{{pkg|xdg-desktop-portal-gtk}}&lt;br /&gt;
* KDE の場合、{{pkg|xdg-desktop-portal-kde}}&lt;br /&gt;
* wlroots ベースのコンポジター ([[Sway]] や [https://github.com/djpohly/dwl dwl] など) の場合、{{pkg|xdg-desktop-portal-wlr}}&lt;br /&gt;
&lt;br /&gt;
Firefox (バージョン84以降) はデフォルトでこの方法をサポートしていますが、Chromium (バージョン73以降) では、[https://bugs.chromium.org/p/chromium/issues/detail?id=682122 WebRTC PipeWireサポート]を次のURLの実験的機能の設定を変更して有効にする必要があります:&lt;br /&gt;
 chrome://flags/#enable-webrtc-pipewire-capturer&lt;br /&gt;
&lt;br /&gt;
{{ic|xdg-desktop-portal-wlr}} を動かすには {{pkg|pipewire-media-session}} をインストール[https://github.com/emersion/xdg-desktop-portal-wlr/wiki/FAQ/db63ec1ab6c0170334c1d1f45d1ebe543cc375fa#how-do-i-run-xdpw]して {{ic|XDG_CURRENT_DESKTOP}} 環境変数を設定[https://github.com/emersion/xdg-desktop-portal-wlr#running]する必要があります:&lt;br /&gt;
 export XDG_CURRENT_DESKTOP=sway&lt;br /&gt;
&lt;br /&gt;
Chromium は現在 PipeWire 0.2 を使っていますが、Arch Linux では PipeWire 0.3 を提供しているので、画面共有を行うには {{pkg|libpipewire02}} もインストールする必要があります。&lt;br /&gt;
&lt;br /&gt;
{{Tip|複数のモニタがある場合に {{ic|xdg-desktop-portal-wlr}} を使用してそれぞれのモニターを共有するには、ユニットのサービスファイルの {{ic|1=ExecStart=}} オプションを[[Systemd#Editing_provided_units|編集]]して {{ic|1=--output=&#039;&#039;Monitor&#039;&#039;}} フラグを追加してください。行全体は {{ic|1=ExecStart=@libexecdir@/xdg-desktop-portal-wlr --output=eDP-1}} のようになります。}}&lt;br /&gt;
&lt;br /&gt;
唯一サポートされている機能はデスクトップ全体の共有で、特定のアプリケーション/ウィンドウの共有はサポートされていません。[https://github.com/emersion/xdg-desktop-portal-wlr/wiki/FAQ#will-this-let-me-share-individual-windows][https://github.com/KDE/xdg-desktop-portal-kde/blob/master/TODO]&lt;br /&gt;
&lt;br /&gt;
=== 映像 ===&lt;br /&gt;
&lt;br /&gt;
ソフトウェアはまだ商業利用には適していませんが、試す分には問題ありません。[[GStreamer]] を使用して映像ストリームを処理するほとんどのアプリケーションは PipeWire GStreamer プラグインにより設定なしで動作するはずです。そのため既に {{pkg|cheese}} のようなアプリケーションは PipeWire を使用して映像入力を利用できます。&lt;br /&gt;
&lt;br /&gt;
=== 音声 ===&lt;br /&gt;
&lt;br /&gt;
PulseAudio や JACK と同様に  PipeWire をオーディオサーバーとして使用できます。 PulseAudio サーバーの互換実装と JACK クライアント用の ABI 互換ライブラリを提供することで  PulseAudio と JACK の両方を置き換えることを目的としています。詳細については[https://blogs.gnome.org/uraeus/2020/09/04/pipewire-late-summer-update-2020/ この記事]を参照してください。&lt;br /&gt;
&lt;br /&gt;
==== ALSA/レガシーアプリケーション ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-alsa}} をインストールして ALSA API を使用するすべてのアプリケーションが PipeWire を使用するよう設定できます。&lt;br /&gt;
&lt;br /&gt;
==== PulseAudio クライアント ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-pulse}} をインストールします。このパッケージは {{pkg|pulseaudio}} と {{pkg|pulseaudio-bluetooth}} を置き換えます。パッケージがユーザーサービス {{ic|pipewire-pulse.socket}} を自動的に有効化するので、通常それ以上の操作は不要です。システム起動時に PipeWire が正しく機能しない場合は、ユーザーサービス {{ic|pipewire-pulse.service}} と {{ic|pipewire.service}} が起動して実行されているか確認します。[[Systemd/ユーザー]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
変更を適用するには、再起動または再ログインしてください。&lt;br /&gt;
&lt;br /&gt;
置き換えが機能しているかどうかを確認するには、次のコマンドを実行して出力を確認してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=$ pactl info|2=&lt;br /&gt;
...&lt;br /&gt;
Server Name: PulseAudio (on PipeWire 0.3.16)&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== JACK クライアント ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-jack}} をインストールします。{{ic|pw-jack}} を使用して JACK クライアントを起動すると、元の {{ic|libjack*}} ではなく PipeWire が提供する互換ライブラリが使用されます:&lt;br /&gt;
&lt;br /&gt;
 pw-jack &#039;&#039;application&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
カスタムバッファサイズを要求することもできます。{{ic|PIPEWIRE_LATENCY}}環境変数を {{ic|バッファサイズ/サンプルレート}} (ブロックのレイテンシ(秒)を意味します) に設定します:&lt;br /&gt;
&lt;br /&gt;
 PIPEWIRE_LATENCY=&amp;quot;128/48000&amp;quot; pw-jack &#039;&#039;application&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
また {{aur|pipewire-jack-dropin}} をインストールするか、{{pkg|jack}} か {{pkg|jack2}} をアンインストールして JACK クライアントが互換ライブラリを自動的に読み込むようにもできます。&lt;br /&gt;
&lt;br /&gt;
{{ic|ldd}} を使用して JACK アプリケーションが正しいライブラリにリンクしていることを確認します。&lt;br /&gt;
&lt;br /&gt;
{{hc|1=$ ldd /usr/bin/qjackctl {{!}} grep -i libjack|2=&lt;br /&gt;
        libjack.so.0 =&amp;gt; /usr/lib/pipewire-0.3/jack/libjack.so.0 (0x00007f7e5080a000)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth デバイス ====&lt;br /&gt;
&lt;br /&gt;
PipeWire は {{pkg|pipewire-pulse}} パッケージがインストールされている場合 Bluetooth オーディオデバイスを制御します。具体的には、メディアセッションデーモンは {{ic|/etc/pipewire/media-session.d/with-pulseaudio}} が存在する時に自動的にその {{ic|bluez5}} モジュールを有効にします。&lt;br /&gt;
&lt;br /&gt;
==== ネイティブ JACK 上で PipeWire を実行する ====&lt;br /&gt;
&lt;br /&gt;
PipeWire はネイティブ JACK デーモン上の JACK クライアントとして実行することもできます。詳細は [https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/JACK JACK and PipeWire] を参照してください。&lt;br /&gt;
&lt;br /&gt;
== 音声のポストプロセッシング ==&lt;br /&gt;
&lt;br /&gt;
=== PulseEffects  ===&lt;br /&gt;
&lt;br /&gt;
PulseEffects は多数のエフェクトとフィルタを個々の入出力ストリーム (アプリケーションの音声出力やマイクの入力など) に提供する GTK 製のユーティリティです。注目すべきエフェクトには、入出力イコライザー、出力ラウドネス等化、ベースエンハンスメント、入力ディエッサー、ノイズ抑制プラグインなどがあります。[https://github.com/wwmm/pulseeffects GitHub ページ]にエフェクトの一覧があります。&lt;br /&gt;
&lt;br /&gt;
PipeWire で PulseEffects を使用するには、{{pkg|pulseeffects}} または {{AUR|pulseeffects-git}} をインストールします。&lt;br /&gt;
&lt;br /&gt;
{{Note|これにより、{{pkg|pipewire-pulse}} がインストールされ [[#PulseAudio クライアント|PulseAudio が PipeWire に置き換えられます。]]詳細は {{Bug|69437}} を参照してください。古いバージョンについては [[PulseAudio#PulseEffects]] を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
プリセット設定のコレクションについては、[https://github.com/wwmm/pulseeffects/wiki/Community-presets コミュニティープリセット]を参照してください。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== PipeWire にマイクが検出されない ===&lt;br /&gt;
&lt;br /&gt;
PipeWire の {{ic|alsa-monitor}} モジュールは、デフォルトで {{pkg|alsa-card-profiles}} を使用してデバイスを検出します。これでうまくいかない場合は、{{ic|/etc/pipewire/media-session.d/alsa-monitor.conf}} の {{ic|rules}} -&amp;gt; 最初のルール -&amp;gt; {{ic|actions}} -&amp;gt; {{ic|update-props}} の {{ic|api.alsa.use-acp}} を {{ic|false}} にするか、または {{ic|api.alsa.use-ucm}} を {{ic|true}} にしてみてください:&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 update-props = {&lt;br /&gt;
     api.alsa.use-acp = false&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
次に PipeWire を再起動し使用可能なデバイスを確認します:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=&lt;br /&gt;
$ pw-record --list-targets&lt;br /&gt;
|2=&lt;br /&gt;
Available targets (&amp;quot;*&amp;quot; denotes default): 62&lt;br /&gt;
	58: description=&amp;quot;Built-in Audio&amp;quot; prio=1872&lt;br /&gt;
	60: description=&amp;quot;Built-in Audio&amp;quot; prio=2000&lt;br /&gt;
*	62: description=&amp;quot;Built-in Audio (Loopback PCM)&amp;quot; prio=1984&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth デバイスに接続しても音が出ない ===&lt;br /&gt;
&lt;br /&gt;
2020-12-07 の時点で、Bluetooth デバイスを接続しても音が出ない場合は、デフォルトのシンクに切り替えるか、シンク入力を正しいシンクに移動する必要があります。{{ic|pactl list sinks}} で使用可能なシンクの一覧を表示し、{{ic|pactl set-default-sink}} でデフォルトのシンクを Bluetooth デバイスに切り替えます。これは[https://gist.github.com/tinywrkb/04e7fd644afa9b92d33a3a99ab07ee9e このようなスクリプト]を使って [[udev]] で自動化できます。&lt;br /&gt;
&lt;br /&gt;
この問題については、この [https://www.reddit.com/r/archlinux/comments/jydd02/pipewirepulse_03164_in_testing_now_replaces/gd3m7fu/?context=3 Reddit スレッド]を参照してください。スクリプトの作成者によると、ヘッドセットプロファイル (HSP) にまだ問題がある可能性があります。&lt;br /&gt;
&lt;br /&gt;
=== 音量が小さい ===&lt;br /&gt;
&lt;br /&gt;
PulseAudio を PipeWire で置き換えた後、正しく音が出ても、再起動後に音量が極端に小さくなることがあります。&lt;br /&gt;
&lt;br /&gt;
{{ic|alsamixer}} を開き、{{ic|F6}} を押して適切なサウンドカードを選び ALSA のボリュームが100%であることを確認してください。{{ic|alsactl}} は再起動後もこの設定を維持するはずです。&lt;br /&gt;
&lt;br /&gt;
=== increasing RLIMIT_MEMLOCK ===&lt;br /&gt;
&lt;br /&gt;
 Dec 13 11:11:11 HOST pipewire-pulse[99999]: Failed to mlock memory 0x7f4f659d8000 32832: This is not a problem but for best performance, consider increasing RLIMIT_MEMLOCK&lt;br /&gt;
&lt;br /&gt;
{{pkg|realtime-privileges}} をインストールし {{ic|realtime}} グループに自分のユーザーを追加します。&lt;br /&gt;
&lt;br /&gt;
あるいは memlock を 64kB から 128kB に増やすことで、この問題を解決できるようです。[[systemd/ユーザー]] で {{ic|pipewire-pulse}} を実行している場合は {{ic|/etc/security/limits.d/username.conf}} に次の行を追加します:&lt;br /&gt;
&lt;br /&gt;
 username	soft	memlock	64&lt;br /&gt;
 username	hard	memlock	128&lt;br /&gt;
&lt;br /&gt;
=== 外付けサウンドカードが再接続後に有効にならない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|~/.config/pipewire-media-session/default-profile}} にデフォルトプロファイル &#039;&#039;off&#039;&#039; のエントリがあれば削除します。それでも解決しない場合は {{ic|~/.config/pipewire-media-session/}} からすべてのファイルを削除し、{{ic|systemctl --user restart pipewire.service}} で PipeWire を再起動します。&lt;br /&gt;
&lt;br /&gt;
=== 音が出ないまたは pactl info が Failure: Connection refused と表示する ===&lt;br /&gt;
これはアプリケーションが PipeWire-Pulse サービスに接続できていないことを意味します。{{ic|/etc/pipewire/pipewire-pulse.conf}} が存在し空でないことを確認し、{{ic|systemctl --user restart pipewire-pulse.service}} で PipeWire-Pulse を再起動してください。&lt;br /&gt;
&lt;br /&gt;
それでも解決しない場合は {{ic|strace -f -o /tmp/pipe.txt pactl info}} を実行し、pastebin に {{ic|/tmp/pipe.txt}} を貼り付けて、IRC (Freenode &#039;&#039;&#039;#pipewire&#039;&#039;&#039;) かメーリングリストで相談してください。&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth の音声の品質が低い===&lt;br /&gt;
&lt;br /&gt;
 Feb 17 18:23:01 HOST pipewire[249297]: (bluez_input.18:54:CF:04:00:56.a2dp-sink-60) client too slow! rate:512/48000 pos:370688 status:triggered&lt;br /&gt;
&lt;br /&gt;
Bluetooth で再生が途切れる場合は {{ic|systemctl --user status pipewire.service}} を実行してみてください。このようなエラーが表示される場合は {{ic|pactl list sinks}} で現在選択されているコーデックを確認し、{{ic|/etc/pipewire/media-session.d/bluez-monitor.conf}} の {{ic|bluez5.codecs}} を {{ic|sbc aac ldac aptx aptx_hd}} のいずれかに変更してみてください。変更を適用するには {{ic|systemctl --user restart pipewire.service}} で PipeWire を再起動する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{hc|head=/etc/pipewire/media-session.d/bluez-monitor.conf|output=&lt;br /&gt;
...&lt;br /&gt;
properties = {&lt;br /&gt;
  ...&lt;br /&gt;
  bluez5.codecs = [sbc]&lt;br /&gt;
...}}&lt;br /&gt;
&lt;br /&gt;
=== PipeWire の更新 (git / &amp;gt;=0.3.23) と再起動後デバイスが検出されない===&lt;br /&gt;
&lt;br /&gt;
コミット 012a68f8[https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/012a68f8ef33705f1a40ec8ac294b8cce7f6aa88] の時点で新しい systemd サービスが追加されデフォルトでは無効になっています。これはシステムの再起動時に {{ic|pipewire-media-session}} が実行されないことを意味します。サービスを有効にするには {{ic|systemctl --user enable --now pipewire-media-session.service}} を実行します。&lt;br /&gt;
&lt;br /&gt;
システムの管理者やパッケージマネージャが更新後に設定ファイルの変更を整理していない場合、{{ic|pipewire.service}} によって {{ic|pipewire-media-session}} の別のプロセスが実行されている可能性があります。確認するには {{ic|systemctl --user status pipewire.service}} を実行してください。&lt;br /&gt;
&lt;br /&gt;
pipewire および pipewire-media-session が実行中と表示される場合は、システム設定かユーザ設定、あるいは両方を更新します。&lt;br /&gt;
&lt;br /&gt;
{{hc|head=/etc/pipewire/pipewire.conf または ~/.config/pipewire/pipewire.conf|output=&lt;br /&gt;
context.exec = {&lt;br /&gt;
  ...&lt;br /&gt;
  # 次の行はコメントアウトする必要があります&lt;br /&gt;
  #&amp;quot;/usr/bin/pipewire-media-session&amp;quot; = { args = &amp;quot;&amp;quot; }&lt;br /&gt;
  ...&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== 再生開始時に音声に遅延が発生する ===&lt;br /&gt;
&lt;br /&gt;
これは非アクティブ時のノードのサスペンドが原因です。遅延が発生する領域に応じて {{ic|/etc/pipewire/media-session.d/*-monitor.conf}} を編集し、プロパティ {{ic|session.suspend-timeout-seconds}} を {{ic|0}} に変更してサスペンドを無効にするか、他の値を試して動作を確認してみてください。{{ic|/etc/pipewire/media-session.conf}} の {{ic|suspend-node}} の行をコメントアウトすることもできます。変更を適用するには {{ic|pipewire}} と {{ic|pipewire-pulse}} systemd サービスの両方を再起動するか、システムを再起動してください。&lt;br /&gt;
&lt;br /&gt;
=== 複数のストリームの再生開始時に音声が途切れる ===&lt;br /&gt;
&lt;br /&gt;
この問題は通常 {{ic|journalctl -b | grep -i pipewire}} を実行し、次のような行を探すことで診断できます:&lt;br /&gt;
&lt;br /&gt;
 pipewire-pulse[21740]: pulse-server 0x56009b9d5de0: [Nightly] UNDERFLOW channel:0 offset:370676 underrun:940&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#underrununderflow-and-broken-pipe-errors 公式 PipeWire トラブルシューティングガイド]によると、この問題を解決するには {{ic|/etc/pipewire/media-session.d/alsa-monitor.conf}} を編集し、{{ic|1=api.alsa.headroom = 0}} という行のコメントを外し、値を {{ic|1024}} に変更します。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home Wiki] — PipeWire Wiki on Freedesktop GitLab&lt;br /&gt;
* [https://blogs.gnome.org/uraeus/2018/01/26/an-update-on-pipewire-the-multimedia-revolution-an-update/ Pipewire Update Blog Post] — PipeWire の2018年1月時点での進捗が書かれた記事&lt;br /&gt;
* [https://blogs.gnome.org/uraeus/2020/09/04/pipewire-late-summer-update-2020/ PipeWire Late Summer Update 2020] — 2020年9月からの記事&lt;/div&gt;</summary>
		<author><name>Oriaca372m</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=PipeWire&amp;diff=19534</id>
		<title>PipeWire</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=PipeWire&amp;diff=19534"/>
		<updated>2021-03-19T05:53:17Z</updated>

		<summary type="html">&lt;p&gt;Oriaca372m: 翻訳の調整&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:マルチメディア]]&lt;br /&gt;
[[en:PipeWire]]&lt;br /&gt;
[[fi:PipeWire]]&lt;br /&gt;
&lt;br /&gt;
[http://pipewire.org PipeWire] は新しい低レベルマルチメディアフレームワークです。&lt;br /&gt;
映像と音声を最小の遅延で再生/キャプチャすることを目的としていて、PulseAudio、JACK、ALSA、Gstreamerをベースとしたアプリケーションと互換性があります。&lt;br /&gt;
&lt;br /&gt;
このフレームワークのデーモンは (PulseAudio と JACKの機能を持った) オーディオサーバーとしても、ビデオキャプチャサーバーとしても設定できます。&lt;br /&gt;
&lt;br /&gt;
また PipeWire は [[Flatpak]] のようなコンテナをサポートしており、&#039;&#039;audio&#039;&#039; や &#039;&#039;video&#039;&#039; [[ユーザーとグループ#グループ管理|ユーザーグループ]] に依存するのではなく、Flatpak や Wayland にスクリーンや音声を録音する許可を求める [[Polkit]] のようなセキュリティモデルを使用しています。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
公式リポジトリの {{pkg|pipewire}} パッケージを [[インストール]] します。&lt;br /&gt;
&lt;br /&gt;
Pipewire は [[systemd/ユーザー]] を使用してサーバーの管理とソケットアクティベーションを行います。起動時の動作やログの確認方法などの詳細は [[systemd/ユーザー]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
必要に応じて {{pkg|pipewire-docs}} をインストールしてドキュメントを確認することもできます。 {{pkg|pipewire-alsa}}、{{pkg|pipewire-pulse}}、{{pkg|pipewire-jack}} などの他のパッケージは [[#音声|PulseAudio/JACKの代わりに PipeWire を使用]] したい場合を除き必要ありません。 multilib サポートのために {{aur|lib32-pipewire}}、{{aur|lib32-pipewire-jack}} も利用できます。&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
&lt;br /&gt;
=== WebRTC 画面共有===&lt;br /&gt;
&lt;br /&gt;
ほとんどのブラウザは WebRTC を使用しているとき (例えば Google ハングアウトで) デスクトップ (や個々のアプリケーション) をキャプチャするのに X11 に依存していました。 Wayland ではセキュリティ上の理由から画面共有は異なる方法で処理されます。 PipeWire はきめ細かなアクセス制御を使用して Wayland 上のコンテンツを共有できます。&lt;br /&gt;
&lt;br /&gt;
これには {{pkg|xdg-desktop-portal}} とそのバックエンドの1つが[http://jgrulich.cz/2018/07/04/04/how-to-enable-and-use-screen-sharing-on-wayland 必要です]。 利用可能なバックエンドは次のとおりです:&lt;br /&gt;
&lt;br /&gt;
* GNOME の場合、{{pkg|xdg-desktop-portal-gtk}}&lt;br /&gt;
* KDE の場合、{{pkg|xdg-desktop-portal-kde}}&lt;br /&gt;
* wlroots ベースのコンポジター (例えば [[Sway]] [https://github.com/djpohly/dwl dwl]) の場合、{{pkg|xdg-desktop-portal-wlr}}&lt;br /&gt;
&lt;br /&gt;
Firefox (バージョン84以降) はデフォルトでこの方法をサポートしていますが、Chromium (バージョン73以降) では、[https://bugs.chromium.org/p/chromium/issues/detail?id=682122 WebRTC PipeWireサポート] を次のURLの実験的機能の設定を変更して有効にする必要があります:&lt;br /&gt;
 chrome://flags/#enable-webrtc-pipewire-capturer&lt;br /&gt;
&lt;br /&gt;
{{ic|xdg-desktop-portal-wlr}} を動かすには {{pkg|pipewire-media-session}} をインストール[https://github.com/emersion/xdg-desktop-portal-wlr/wiki/FAQ/db63ec1ab6c0170334c1d1f45d1ebe543cc375fa#how-do-i-run-xdpw]して {{ic|XDG_CURRENT_DESKTOP}} 環境変数を設定[https://github.com/emersion/xdg-desktop-portal-wlr#running]する必要があります:&lt;br /&gt;
 export XDG_CURRENT_DESKTOP=sway&lt;br /&gt;
&lt;br /&gt;
Chromium は 現在 PipeWire 0.2 を使っていますが、Arch Linux では PipeWire 0.3 を提供しているので、画面共有を行うには {{pkg|libpipewire02}} もインストールする必要があります。&lt;br /&gt;
&lt;br /&gt;
{{Tip|複数のモニタがある場合に {{ic|xdg-desktop-portal-wlr}} を使用してそれぞれのモニターを共有するには、ユニットのサービスファイルの {{ic|1=ExecStart=}} オプションを[[Systemd#Editing_provided_units|編集]]して {{ic|1=--output=&#039;&#039;Monitor&#039;&#039;}} フラグを追加してください。行全体は {{ic|1=ExecStart=@libexecdir@/xdg-desktop-portal-wlr --output=eDP-1}} のようになります。}}&lt;br /&gt;
&lt;br /&gt;
唯一サポートされている機能はデスクトップ全体の共有で、特定のアプリケーション/ウィンドウの共有はサポートされていません。[https://github.com/emersion/xdg-desktop-portal-wlr/wiki/FAQ#will-this-let-me-share-individual-windows][https://github.com/KDE/xdg-desktop-portal-kde/blob/master/TODO]&lt;br /&gt;
&lt;br /&gt;
=== 映像 ===&lt;br /&gt;
&lt;br /&gt;
ソフトウェアはまだ商業利用には適していませんが、試す分には問題ありません。[[GStreamer]] を使用して映像ストリームを処理するほとんどのアプリケーションは PipeWire GStreamer プラグインにより設定なしで動作するはずです。そのため既に {{pkg|cheese}} のようなアプリケーションは PipeWire を使用して映像入力を利用できます。&lt;br /&gt;
&lt;br /&gt;
=== 音声 ===&lt;br /&gt;
&lt;br /&gt;
PulseAudio や Jack と同様に  PipeWire をオーディオサーバーとして使用できます。 PulseAudio サーバーの互換実装と JACK クライアント用の ABI 互換ライブラリを提供することで  PulseAudio と Jack の両方を置き換えることを目的としています。詳細については[https://blogs.gnome.org/uraeus/2020/09/04/pipewire-late-summer-update-2020/ この記事]を参照してください。&lt;br /&gt;
&lt;br /&gt;
==== ALSA/レガシーアプリケーション ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-alsa}} をインストールして ALSA API を使用するすべてのアプリケーションが PipeWire を使用するよう設定できます。&lt;br /&gt;
&lt;br /&gt;
==== PulseAudio クライアント ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-pulse}} をインストールします。このパッケージは {{pkg|pulseaudio}} と {{pkg|pulseaudio-bluetooth}} を置き換えます。パッケージがユーザーサービス {{ic|pipewire-pulse.socket}} を自動的に有効化するので、通常それ以上の操作は不要です。システム起動時に PipeWire が正しく機能しない場合は、ユーザーサービス {{ic|pipewire-pulse.service}} と {{ic|pipewire.service}} が起動して実行されているか確認します。 [[Systemd/ユーザー]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
変更を適用するには、再起動または再ログインしてください。&lt;br /&gt;
&lt;br /&gt;
置き換えが機能しているかどうかを確認するには、次のコマンドを実行して出力を確認してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=$ pactl info|2=&lt;br /&gt;
...&lt;br /&gt;
Server Name: PulseAudio (on PipeWire 0.3.16)&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== JACK クライアント ====&lt;br /&gt;
&lt;br /&gt;
{{pkg|pipewire-jack}} をインストールします。{{ic|pw-jack}} を使用して JACK クライアントを起動すると、元の {{ic|libjack*}} ではなく PipeWire が提供する互換ライブラリが使用されます:&lt;br /&gt;
&lt;br /&gt;
 pw-jack &#039;&#039;application&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
カスタムバッファサイズを要求することもできます。{{ic|PIPEWIRE_LATENCY}}環境変数を {{ic|バッファサイズ/サンプルレート}} (ブロックのレイテンシ(秒)を意味します) に設定します:&lt;br /&gt;
&lt;br /&gt;
 PIPEWIRE_LATENCY=&amp;quot;128/48000&amp;quot; pw-jack &#039;&#039;application&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
また {{aur|pipewire-jack-dropin}} をインストールするか、{{pkg|jack}} か {{pkg|jack 2}} をアンインストールして JACK クライアントが互換ライブラリを自動的に読み込むようにもできます。&lt;br /&gt;
&lt;br /&gt;
{{ic|ldd}} を使用して JACK アプリケーションが正しいライブラリにリンクしていることを確認します。&lt;br /&gt;
&lt;br /&gt;
{{hc|1=$ ldd /usr/bin/qjackctl {{!}} grep -i libjack|2=&lt;br /&gt;
        libjack.so.0 =&amp;gt; /usr/lib/pipewire-0.3/jack/libjack.so.0 (0x00007f7e5080a000)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth デバイス ====&lt;br /&gt;
&lt;br /&gt;
PipeWire は {{pkg|pipewire-pulse}} パッケージがインストールされている場合 Bluetooth オーディオデバイスを制御します。具体的には、メディアセッションデーモンは {{ic|/etc/pipewire/media-session.d/with-pulseaudio}} が存在する時に自動的にその {{ic|bluez5}} モジュールを有効にします。&lt;br /&gt;
&lt;br /&gt;
==== ネイティブ JACK 上で PipeWire を実行する ====&lt;br /&gt;
&lt;br /&gt;
PipeWire はネイティブ JACK デーモン上の JACK クライアントとして実行することもできます。詳細は [https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/JACK JACK and PipeWire] を参照してください。&lt;br /&gt;
&lt;br /&gt;
== 音声のポストプロセッシング ==&lt;br /&gt;
&lt;br /&gt;
=== PulseEffects  ===&lt;br /&gt;
&lt;br /&gt;
PulseEffects は GTK ユーティリティで、多数のエフェクトとフィルタを個々の入出力ストリーム(アプリケーションの音声出力やマイクの入力など)に提供します。注目すべきエフェクトには、入出力イコライザー、出力ラウドネス等化、ベースエンハンスメント、入力ディエッサー、ノイズ抑制プラグインなどがあります。[https://github.com/wwmm/pulseeffects GitHub ページ] にエフェクトの一覧があります。&lt;br /&gt;
&lt;br /&gt;
PipeWire で PulseEffects を使用するには、{{pkg|pulseeffects}} または {{AUR|pulseeffects-git}} をインストールします。&lt;br /&gt;
&lt;br /&gt;
{{Note|これにより、{{pkg|pipewire-pulse}} がインストールされ [[#PulseAudio クライアント|PulseAudio が PipeWire に置き換えられます。]] 詳細は {{Bug|69437}} を参照してください。古いバージョンについては [[PulseAudio#PulseEffects]] を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
プリセット設定のコレクションについては、[https://github.com/wwmm/pulseeffects/wiki/Community-presets コミュニティープリセット] を参照してください。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== PipeWire にマイクが検出されない ===&lt;br /&gt;
&lt;br /&gt;
PipeWire の {{ic|alsa-monitor}} モジュールは、デフォルトで {{pkg|alsa-card-profiles}} を使用してデバイスを検出します。これでうまくいかない場合は、{{ic|/etc/pipewire/media-session.d/alsa-monitor.conf}} の {{ic|rules}} -&amp;gt; 最初のルール -&amp;gt; {{ic|actions}} -&amp;gt; {{ic|update-props}} の {{ic|api.alsa.use-acp}} を {{ic|false}} にするか、または {{ic|api.alsa.use-ucm}} を {{ic|true}} にしてみてください:&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 update-props = {&lt;br /&gt;
     api.alsa.use-acp = false&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
次に PipeWire を再起動し使用可能なデバイスを確認します:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=&lt;br /&gt;
$ pw-record --list-targets&lt;br /&gt;
|2=&lt;br /&gt;
Available targets (&amp;quot;*&amp;quot; denotes default): 62&lt;br /&gt;
	58: description=&amp;quot;Built-in Audio&amp;quot; prio=1872&lt;br /&gt;
	60: description=&amp;quot;Built-in Audio&amp;quot; prio=2000&lt;br /&gt;
*	62: description=&amp;quot;Built-in Audio (Loopback PCM)&amp;quot; prio=1984&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth デバイスに接続しても音が出ない ===&lt;br /&gt;
&lt;br /&gt;
2020-12-07 の時点で、Bluetooth デバイスを接続しても音が出ない場合は、デフォルトのシンクに切り替えるか、シンク入力を正しいシンクに移動する必要があります。 {{ic|pactl list sinks}} で使用可能なシンクの一覧を表示し、{{ic|pactl set-default-sink}} でデフォルトのシンクを Bluetooth デバイスに切り替えます。これは [https://gist.github.com/tinywrkb/04e7fd644afa9b92d33a3a99ab07ee9e このようなスクリプト] を使って [[udev]] で自動化できます。&lt;br /&gt;
&lt;br /&gt;
この問題については、この [https://www.reddit.com/r/archlinux/comments/jydd02/pipewirepulse_03164_in_testing_now_replaces/gd3m7fu/?context=3 Reddit スレッド] を参照してください。スクリプトの作成者によると、ヘッドセットプロファイル (HSP) にまだ問題がある可能性があります。&lt;br /&gt;
&lt;br /&gt;
=== 音量が小さい ===&lt;br /&gt;
&lt;br /&gt;
PulseAudio を Pipewire で置き換えた後、正しく音が出ても、再起動後に音量が極端に小さくなることがあります。&lt;br /&gt;
&lt;br /&gt;
{{ic|alsamixer}} を開き、{{ic|F6}} を押して適切なサウンドカードを選び ALSA のボリュームが100%であることを確認してください。 {{ic|alsactl}} は再起動後もこの設定を維持するはずです。&lt;br /&gt;
&lt;br /&gt;
=== increasing RLIMIT_MEMLOCK ===&lt;br /&gt;
&lt;br /&gt;
 Dec 13 11:11:11 HOST pipewire-pulse[99999]: Failed to mlock memory 0x7f4f659d8000 32832: This is not a problem but for best performance, consider increasing RLIMIT_MEMLOCK&lt;br /&gt;
&lt;br /&gt;
{{pkg|realtime-privileges}} をインストールし {{ic|realtime}} グループに自分のユーザーを追加します。&lt;br /&gt;
&lt;br /&gt;
あるいは memlock を 64kB から 128kB に増やすことで、この問題を解決できるようです。[[systemd/ユーザー]] で {{ic|pipewire-pulse}} を実行している場合は {{ic|/etc/security/limits.d/username.conf}} に次の行を追加します:&lt;br /&gt;
&lt;br /&gt;
 username	soft	memlock	64&lt;br /&gt;
 username	hard	memlock	128&lt;br /&gt;
&lt;br /&gt;
=== 外付けサウンドカードが再接続後に有効にならない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|~/.config/pipewire-media-session/default-profile}} にデフォルトプロファイル &#039;&#039;off&#039;&#039; のエントリがあれば削除します。それでも解決しない場合は {{ic|~/.config/pipewire-media-session/}} からすべてのファイルを削除し、{{ic|systemctl --user restart pipewire.service}} で PipeWire を再起動します。&lt;br /&gt;
&lt;br /&gt;
=== 音が出ないまたは pactl info が Failure: Connection refused と表示する ===&lt;br /&gt;
これはアプリケーションが PipeWire-Pulse サービスに接続できていないことを意味します。{{ic|/etc/pipewire/pipewire-pulse.conf}} が存在し空でないことを確認し、{{ic|systemctl --user restart pipewire-pulse.service}} で PipeWire-Pulse を再起動して下さい。&lt;br /&gt;
&lt;br /&gt;
それでも解決しない場合は {{ic|strace -f -o /tmp/pipe.txt pactl info}} を実行し、pastebin に {{ic|/tmp/pipe.txt}} を貼り付けて、IRC (Freenode &#039;&#039;&#039;#pipewire&#039;&#039;&#039;) かメーリングリストで相談してください。&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth の音声の品質が低い===&lt;br /&gt;
&lt;br /&gt;
 Feb 17 18:23:01 HOST pipewire[249297]: (bluez_input.18:54:CF:04:00:56.a2dp-sink-60) client too slow! rate:512/48000 pos:370688 status:triggered&lt;br /&gt;
&lt;br /&gt;
Bluetooth で再生が途切れる場合は {{ic|systemctl --user status pipewire.service}} を実行してみてください。このようなエラーが表示される場合は {{ic|pactl list sinks}} で現在選択されているコーデックを確認し、{{ic|/etc/pipewire/media-session.d/bluez-monitor.conf}} の {{ic|bluez5.codecs}} を {{ic|sbc aac ldac aptx aptx_hd}} のいずれかに変更してみてください。変更を適用するには {{ic|systemctl --user restart pipewire.service}} で PipeWire を再起動する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{hc|head=/etc/pipewire/media-session.d/bluez-monitor.conf|output=&lt;br /&gt;
...&lt;br /&gt;
properties = {&lt;br /&gt;
  ...&lt;br /&gt;
  bluez5.codecs = [sbc]&lt;br /&gt;
...}}&lt;br /&gt;
&lt;br /&gt;
=== PipeWire の更新 (git / &amp;gt;=0.3.23) と再起動後デバイスが検出されない===&lt;br /&gt;
&lt;br /&gt;
コミット 012a68f8[https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/012a68f8ef33705f1a40ec8ac294b8cce7f6aa88] の時点で新しい systemd サービスが追加されデフォルトでは無効になっています。これはシステムの再起動時に {{ic|pipewire-media-session}} が実行されないことを意味します。サービスを有効にするには {{ic|systemctl --user enable --now pipewire-media-session.service}} を実行します。&lt;br /&gt;
&lt;br /&gt;
システムの管理者やパッケージマネージャが更新後に設定ファイルの変更を整理していない場合、{{ic|pipewire.service}} によって {{ic|pipewire-media-session}} の別のプロセスが実行されている可能性があります。確認するには {{ic|systemctl --user status pipewire.service}} を実行してください。&lt;br /&gt;
&lt;br /&gt;
pipewire および pipewire-media-session が実行中と表示される場合は、システム設定かユーザ設定、あるいは両方を更新します。&lt;br /&gt;
&lt;br /&gt;
{{hc|head=/etc/pipewire/pipewire.conf または ~/.config/pipewire/pipewire.conf|output=&lt;br /&gt;
context.exec = {&lt;br /&gt;
  ...&lt;br /&gt;
  # 次の行はコメントアウトする必要があります&lt;br /&gt;
  #&amp;quot;/usr/bin/pipewire-media-session&amp;quot; = { args = &amp;quot;&amp;quot; }&lt;br /&gt;
  ...&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== 再生開始時に音声に遅延が発生する ===&lt;br /&gt;
&lt;br /&gt;
これは非アクティブ時のノードのサスペンドが原因です。遅延が発生する領域に応じて {{ic|/etc/pipewire/media-session.d/*-monitor.conf}} を編集し、プロパティ {{ic|session.suspend-timeout-seconds}} を {{ic|0}} に変更してサスペンドを無効にするか、他の値を試して動作を確認してみてください。{{ic|/etc/pipewire/media-session.conf}} の {{ic|suspend-node}} の行をコメントアウトすることもできます。変更を適用するには {{ic|pipewire}} と {{ic|pipewire-pulse}} systemd サービスの両方を再起動するか、システムを再起動してください。&lt;br /&gt;
&lt;br /&gt;
=== 複数のストリームの再生開始時に音声が途切れる ===&lt;br /&gt;
&lt;br /&gt;
この問題は通常 {{ic|journalctl -b | grep -i pipewire}} を実行し、次のような行を探すことで診断できます:&lt;br /&gt;
&lt;br /&gt;
 pipewire-pulse[21740]: pulse-server 0x56009b9d5de0: [Nightly] UNDERFLOW channel:0 offset:370676 underrun:940&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#underrununderflow-and-broken-pipe-errors 公式 PipeWire トラブルシューティングガイド] によると、この問題を解決するには {{ic|/etc/pipewire/media-session.d/alsa-monitor.conf}} を編集し、{{ic|1=api.alsa.headroom = 0}} という行のコメントを外し、値を {{ic|1024}} に変更します。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home Wiki] — PipeWire Wiki on Freedesktop GitLab&lt;br /&gt;
* [https://blogs.gnome.org/uraeus/2018/01/26/an-update-on-pipewire-the-multimedia-revolution-an-update/ Pipewire Update Blog Post] — PipeWire の2018年1月時点での進捗が書かれた記事&lt;br /&gt;
* [https://blogs.gnome.org/uraeus/2020/09/04/pipewire-late-summer-update-2020/ PipeWire Late Summer Update 2020] — 2020年9月からの記事&lt;/div&gt;</summary>
		<author><name>Oriaca372m</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Snap&amp;diff=13897</id>
		<title>Snap</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Snap&amp;diff=13897"/>
		<updated>2019-02-04T15:47:47Z</updated>

		<summary type="html">&lt;p&gt;Oriaca372m: 同期&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:開発]]&lt;br /&gt;
[[en:Snapd]]&lt;br /&gt;
[[pl:Snap]]&lt;br /&gt;
[[ru:Snapd]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Flatpak}}&lt;br /&gt;
{{Related|AppArmor}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
[https://snapcraft.io/ snap] はソフトウェアのデプロイとパッケージ管理のシステムです。パッケージは &#039;snap&#039; と呼ばれ、それを使用するツールは &#039;snapd&#039; と呼ばれています。snapd は、さまざまなディストリビューションで動作し、上流はディストリビューションに依存しないデプロイができるようになります。Snap は元々 Canonical によって設計、開発されました。&lt;br /&gt;
&lt;br /&gt;
[https://github.com/snapcore/snapd snapd] は snap パッケージを管理するための REST API デーモンです。ユーザーは (同じパッケージに入っている) {{ic|snap}} クライアントを使用することで snapd を操作することができます。&lt;br /&gt;
&lt;br /&gt;
snap はデフォルトのカーネルで現在有効にされている [[AppArmor]] を使ってアクセス制限ができます。[[AppArmor]] を有効にするには関連ページを参照してください。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
{{AUR|snapd}} または {{AUR|snapd-git}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
{{tip|snapd は snapd パッケージでインストールしたバイナリのパスとデスクトップエントリをエクスポートするために {{ic|/etc/profile.d/}} にスクリプトをインストールします。変更を適用させるために一度再起動してください。}}&lt;br /&gt;
&lt;br /&gt;
バージョン 2.36 から、{{ic|snapd}} の AppAromr サポートが有効になっています。使用するためには AppArmor を有効にする必要があります。[[AppArmor#インストール]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
{{note|AppArmor が有効になっていない場合、全ての snap は {{ic|devel}} モードで動作します。このモードでは Arch Linux のリポジトリからインストールされたアプリのように、システムへの無制限のアクセスができます。}}&lt;br /&gt;
&lt;br /&gt;
[[AppArmor]] を使用する場合:&lt;br /&gt;
 $ systemctl enable --now apparmor.service&lt;br /&gt;
 $ systemctl enable --now snapd.apparmor.service&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
{{ic|snap}} が使おうとしたときに {{ic|snapd}} デーモンを起動するには、{{ic|snapd.socket}} を[[起動]]・[[有効化]]します。&lt;br /&gt;
&lt;br /&gt;
==使用方法==&lt;br /&gt;
{{ic|snap}} コマンドは snap を管理するために使います。&lt;br /&gt;
&lt;br /&gt;
===snap の検索===&lt;br /&gt;
次のコマンドで Ubuntu Store を検索できます:&lt;br /&gt;
 $ snap find &#039;&#039;searchterm&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===snap のインストール===&lt;br /&gt;
次のコマンドで snap をインストールできます:&lt;br /&gt;
 # snap install &#039;&#039;snapname&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
上記のコマンドを実行するには root 権限が必要です。現在のところ、通常ユーザーで snap をインストールすることはできません。インストールすると {{ic|/var/lib/snapd/snaps}} に snap がダウンロードされて、{{ic|/var/lib/snapd/snap/&amp;lt;snapname&amp;gt;}} にマウントされ、システムから使える状態になります。&lt;br /&gt;
&lt;br /&gt;
システムが起動したときに全ての snap が利用できるように、snap のマウントユニットも作成され、{{ic|/etc/systemd/system/multi-user.target.wants/}} にシンボリックリンクとして追加されます。インストールが完了したら、次のコマンドでインストールされている snap を確認できます。バージョン番号やリビジョン番号、開発者も表示されます:&lt;br /&gt;
 $ snap list&lt;br /&gt;
&lt;br /&gt;
ローカルのハードドライブから野良 snap をインストールするには:&lt;br /&gt;
 # snap install --dangerous &#039;&#039;/path/to/snap&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===snap のアップデート===&lt;br /&gt;
次のコマンドで snap を手動でアップデートできます:&lt;br /&gt;
 # snap refresh&lt;br /&gt;
&lt;br /&gt;
snap を {{ic|refresh.timer}} の設定通りに自動でアップデートさせることも出来ます。&lt;br /&gt;
&lt;br /&gt;
最新/次のアップデート時間を確認するには:&lt;br /&gt;
 # snap refresh --time&lt;br /&gt;
&lt;br /&gt;
アップデートの頻度を変更するには (例: 1日2回):&lt;br /&gt;
 # snap set core refresh.timer=0:00~24:00/2&lt;br /&gt;
&lt;br /&gt;
詳細は [https://forum.snapcraft.io/t/system-options/87 システムオプションのドキュメント] を参照してください。&lt;br /&gt;
&lt;br /&gt;
===snap の削除===&lt;br /&gt;
次のコマンドで snap を削除できます:&lt;br /&gt;
 # snap remove &#039;&#039;snapname&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== ヒントとテクニック ==&lt;br /&gt;
=== Classic snap ===&lt;br /&gt;
一部の snap (例: [[Skype]] や Pycharm) は classic confinement を使用しますが、classic confinement は [[FHS]] に準拠していない {{ic|/snap}} ディレクトリを必要とします。snapd パッケージには {{ic|/snap}} ディレクトリは含まれていません。classic snap をインストールしたい場合、{{ic|/var/lib/snapd/snap}} から {{ic|/snap}} に手動でシンボリックリンクを作成してください:&lt;br /&gt;
&lt;br /&gt;
 # ln -s /var/lib/snapd/snap /snap&lt;br /&gt;
&lt;br /&gt;
=== アクセス制限 ===&lt;br /&gt;
[[AppArmor]] を使用している場合 snapd (バージョン2.36以上) は Ubuntu と同じプロファイルを生成します。The [[AppArmor]] parser is smart enough to drop the rules that are not yet supported by the mainline kernel.&lt;br /&gt;
&lt;br /&gt;
基本的なアクセス制限が動いているか確認するために {{ic|hello-world}} snap をインストールして、次のコマンドを実行してください:&lt;br /&gt;
  $ hello-world.evil&lt;br /&gt;
  Hello Evil World!&lt;br /&gt;
  This example demonstrates the app confinement&lt;br /&gt;
  You should see a permission denied error next&lt;br /&gt;
  /snap/hello-world/27/bin/evil: 9: /snap/hello-world/27/bin/evil: cannot create /var/tmp/myevil.txt: Permission denied&lt;br /&gt;
&lt;br /&gt;
AppArmor によりアクセスが拒否され、ログが生成されるはずです:&lt;br /&gt;
  $ dmesg&lt;br /&gt;
  ...&lt;br /&gt;
  [  +0.000003] audit: type=1327 audit(1540469583.966:257): proctitle=2F62696E2F7368002F736E61702F68656C6C6F2D776F726C642F32372F62696E2F6576696C&lt;br /&gt;
  [ +12.268939] audit: type=1400 audit(1540469596.236:258): apparmor=&amp;quot;DENIED&amp;quot; operation=&amp;quot;open&amp;quot; profile=&amp;quot;snap.hello-world.evil&amp;quot; name=&amp;quot;/var/tmp/myevil.txt&amp;quot; pid=10835 comm=&amp;quot;evil&amp;quot; requested_mask=&amp;quot;wc&amp;quot; denied_mask=&amp;quot;wc&amp;quot; fsuid=1000 ouid=1000&lt;br /&gt;
  [  +0.000006] audit: type=1300 audit(1540469596.236:258): arch=c000003e syscall=2 success=no exit=-13 a0=55d991ba6bc8 a1=241 a2=1b6 a3=55d991ba6be0 items=0 ppid=31349 pid=10835 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts2 ses=3 comm=&amp;quot;evil&amp;quot; exe=&amp;quot;/bin/dash&amp;quot; subj==snap.hello-world.evil (enforce)&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
アクセス拒否が確認できない場合は、プロファイルがロードされているか確認してください:&lt;br /&gt;
   $ sudo aa-status | grep snap.hello-world&lt;br /&gt;
     snap.hello-world.env&lt;br /&gt;
     snap.hello-world.evil&lt;br /&gt;
     snap.hello-world.hello-world&lt;br /&gt;
     snap.hello-world.sh&lt;br /&gt;
&lt;br /&gt;
また、どのサンドボックスの機能が有効になっているか snapd に確認することができます。&lt;br /&gt;
  $ snap debug sandbox-features&lt;br /&gt;
  apparmor:             kernel:caps kernel:domain kernel:file kernel:mount kernel:namespaces kernel:network_v8 kernel:policy kernel:ptrace kernel:query kernel:rlimit kernel:signal parser:unsafe policy:default support-level:partial&lt;br /&gt;
  confinement-options:  devmode&lt;br /&gt;
  dbus:                 mediated-bus-access&lt;br /&gt;
  kmod:                 mediated-modprobe&lt;br /&gt;
  mount:                freezer-cgroup-v1 layouts mount-namespace per-snap-persistency per-snap-profiles per-snap-updates per-snap-user-profiles stale-base-invalidation&lt;br /&gt;
  seccomp:              bpf-argument-filtering kernel:allow kernel:errno kernel:kill_process kernel:kill_thread kernel:log kernel:trace kernel:trap&lt;br /&gt;
&lt;br /&gt;
== GUI 管理 ==&lt;br /&gt;
Gnome Software Center や KDE Discover は、{{AUR|gnome-software-snap}} や {{AUR|discover-snap}} パッケージをインストールすることで snap サポートを使用できます。&lt;br /&gt;
&lt;br /&gt;
== サポート ==&lt;br /&gt;
Arch Linux のメーリングリストや他の公式サポートチャンネルは Arch Linux で使用する snap のサポートを求める適切な場所ではありません。サポートを求めるには [https://forum.snapcraft.io Snapcraft フォーラム]を利用してください。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://snapcraft.io/ 公式サイト]&lt;br /&gt;
* [https://github.com/snapcore/snapd リポジトリ]&lt;br /&gt;
* [http://arstechnica.com/information-technology/2016/06/goodbye-apt-and-yum-ubuntus-snap-apps-are-coming-to-distros-everywhere/ arstechnica article] (06/16) Ubuntu の snap が Arch などのディストリで使えるようになったことについての記事&lt;/div&gt;</summary>
		<author><name>Oriaca372m</name></author>
	</entry>
</feed>