<?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=Ootaharuki99</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=Ootaharuki99"/>
	<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/Ootaharuki99"/>
	<updated>2026-04-23T09:35:54Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=HTTP_%E3%83%88%E3%83%B3%E3%83%8D%E3%83%AA%E3%83%B3%E3%82%B0&amp;diff=13543</id>
		<title>HTTP トンネリング</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=HTTP_%E3%83%88%E3%83%B3%E3%83%8D%E3%83%AA%E3%83%B3%E3%82%B0&amp;diff=13543"/>
		<updated>2018-11-14T17:33:57Z</updated>

		<summary type="html">&lt;p&gt;Ootaharuki99: 誤字を修正&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ネットワーク]]&lt;br /&gt;
[[Category:Secure Shell]]&lt;br /&gt;
[[en:HTTP tunneling]]&lt;br /&gt;
ネットワークにおいて、トンネリングとは上位の階層のプロトコル (この場合 HTTP) を使って低位の階層のプロトコル (この場合 TCP) を転送することです。&lt;br /&gt;
&lt;br /&gt;
== トンネルの作成 ==&lt;br /&gt;
&lt;br /&gt;
=== corkscrew と HTTP CONNECT を使う ===&lt;br /&gt;
&lt;br /&gt;
SSH デーモンが動いているサーバーに接続をするために、HTTP CONNECT メソッドを使うことで HTTP CONNECT リクエストを HTTP プロキシに送信することによりプロキシを通してクライアントをサーバーに接続することができます。&lt;br /&gt;
&lt;br /&gt;
{{Note|プロキシが HTTP CONNECT メソッドをサポートしていない場合、下の他の方法を見て下さい。}}&lt;br /&gt;
&lt;br /&gt;
HTTP プロキシによる SSH のトンネリングを行うためのツールである [http://www.agroman.net/corkscrew/ corkscrew] を使います。[[公式リポジトリ]]の {{Pkg|corkscrew}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
SSH 接続を開くのはとても簡単です:&lt;br /&gt;
 $ ssh user@server -o &amp;quot;ProxyCommand corkscrew $proxy_ip_or_domain_name $proxy_port $destination_ip_or_domain_name $destination_port&amp;quot;&lt;br /&gt;
&lt;br /&gt;
必要なのはシェルを開くことだけでなく、SOCKS トンネルなので、以下のようにすることで {{Ic|localhost:$port}} に [[wikipedia:SOCKS|SOCKS]] プロキシを作成します:&lt;br /&gt;
 $ ssh -ND {{Ic|$port}} user@server -o &amp;quot;ProxyCommand corkscrew $proxy_ip_or_domain_name $proxy_port $destination_ip_or_domain_name $destination_port&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Git のトンネリング ====&lt;br /&gt;
&lt;br /&gt;
制限のきつい法人向けファイアウォールは [[Git]] の使用するポートを塞いでしまうことがあります。その場合でも、corkscrew などのユーティリティを利用して HTTP プロキシのトンネルを通してやることで Git を使うことができます。Git が {{ic|GIT_PROXY_COMMAND}} 環境変数の設定を認識できるなら、{{ic|$GIT_PROXY_COMMAND}} でコマンドを実行してネットワークソケットの代わりにプログラムの標準入出力を使うようにします。&lt;br /&gt;
&lt;br /&gt;
スクリプトファイル {{ic|corkscrewtunnel.sh}} を作成:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 corkscrew &#039;&#039;proxyhost&#039;&#039; &#039;&#039;proxyport&#039;&#039; $*&lt;br /&gt;
&lt;br /&gt;
{{ic|GIT_PROXY_COMMAND}} を設定:&lt;br /&gt;
&lt;br /&gt;
 $ export GIT_PROXY_COMMAND=&#039;&#039;path-to-corkscrewtunnel.sh&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
これで、HTTP プロキシを使って Git をトンネリングできるはずです。&lt;br /&gt;
&lt;br /&gt;
=== httptunnel を使う ===&lt;br /&gt;
&lt;br /&gt;
[[公式リポジトリ]]の {{Pkg|httptunnel}} でインストールすることができる [http://www.nocrew.org/software/httptunnel.html httptunnel] は HTTP リクエストでトンネル化した双方向性の仮想データ接続を作成します。HTTP リクエストは必要であれば HTTP プロキシを通して送信することが可能です。ファイアウォールに拘束されているユーザーはこれを上手く使うことができます。HTTP プロキシによる WWW アクセスが許可されていれば、httptunnel や telnet、または PPP を使ってファイアウォールの外にあるコンピュータに接続できます。&lt;br /&gt;
&lt;br /&gt;
ウェブサーバーが既にポート 80 を listen している場合、バーチャルホストを作成することで hts サーバーにウェブサーバーからプロキシ要求させることが可能です。それについてはここでは触れません。&lt;br /&gt;
&lt;br /&gt;
ウェブサーバーがポート 80 を listen していない場合:&lt;br /&gt;
*サーバー側:&lt;br /&gt;
 $ hts --forward-port localhost:22 80&lt;br /&gt;
*クライアント側:&lt;br /&gt;
 $ htc --forward-port 8888 example.net:80&lt;br /&gt;
 $ ssh -ND user@localhost -p 8888&lt;br /&gt;
{{Note|As SSH thinks it is connecting to localhost it will not recognize the fingerprint and display a warning.}}&lt;br /&gt;
これで {{Ic|localhost:8888}} を [http://ja.wikipedia.org/wiki/SOCKS SOCKS] プロキシとして使うことができます。&lt;br /&gt;
&lt;br /&gt;
=== proxytunnel を使う ===&lt;br /&gt;
&lt;br /&gt;
[[公式リポジトリ]]から {{Pkg|proxytunnel}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
 $ ProxyCommand /usr/bin/proxytunnel -p some-proxy:8080 -d www.muppetzone.com:443&lt;br /&gt;
&lt;br /&gt;
=== openbsd-netcat を使う ===&lt;br /&gt;
 &lt;br /&gt;
[[公式リポジトリ]]から {{Pkg|openbsd-netcat}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
openbsd の netcat を使って接続を開くには:&lt;br /&gt;
&lt;br /&gt;
 $ ssh user@final_server -o &amp;quot;ProxyCommand=nc -X connect -x some-proxy:$proxy_port %h %p&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== トンネルを使う ==&lt;br /&gt;
&lt;br /&gt;
[[プロキシ設定#SOCKS プロキシを使う]] を見て下さい。&lt;/div&gt;</summary>
		<author><name>Ootaharuki99</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Network_UPS_Tools&amp;diff=13224</id>
		<title>Network UPS Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Network_UPS_Tools&amp;diff=13224"/>
		<updated>2018-06-29T15:48:08Z</updated>

		<summary type="html">&lt;p&gt;Ootaharuki99: /* upsmon の設定 */ 誤字の訂正&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:電源管理]]&lt;br /&gt;
[[en:Network UPS Tools]]&lt;br /&gt;
この記事では [http://networkupstools.org/ Network UPS Tools (NUT)] をインストールする方法を説明します。Network UPS Tools は数千の UPS に対応しています。使用している UPS がサポートされているかどうかは [http://networkupstools.org/stable-hcl.html ハードウェア対応リスト] で確認できます。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
{{AUR|network-ups-tools}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
NUT には3つのデーモンが存在します:&lt;br /&gt;
* UPS と通信を行うドライバー。&lt;br /&gt;
* ドライバーを使用して UPS の状態を報告するサーバー (upsd)。&lt;br /&gt;
* upsd サーバーを監視して受信した情報に基づいて動作する監視デーモン (upsmon)。&lt;br /&gt;
&lt;br /&gt;
UPS に複数のシステムを接続する場合、それぞれのシステムで upsmon サービスを実行することでネットワークを介して UPS の状態を受け渡して監視することができます。NUT には [http://networkupstools.org/docs/user-manual.chunked/ar01s06.html#_configuring_and_using 設定に関する詳しいドキュメント] が存在しますが、この記事では USB UPS とサーバーを使用してすべてひとつのシステムで監視する環境を扱います。&lt;br /&gt;
&lt;br /&gt;
=== ドライバーの設定 ===&lt;br /&gt;
&lt;br /&gt;
使用する UPS によって設定は変わります。上のハードウェア対応リストを見て、UPS に適したドライバーがどれか確認してください。{{man|8|nut-scanner|url=http://networkupstools.org/docs/man/nut-scanner.html}} ツールを実行することでシステムに接続されている NUT に対応したデバイスを検出することもできます。&lt;br /&gt;
&lt;br /&gt;
USB で接続する UPS の多くは {{man|8|usbhid-ups|url=http://networkupstools.org/docs/man/usbhid-ups.html}} ドライバーを使用します:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/ups/ups.conf|...&lt;br /&gt;
[&#039;&#039;upsname&#039;&#039;]&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    driver = usbhid-ups&lt;br /&gt;
    port = auto&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
UPS デバイスには好きな名前を付けてください。詳しくは {{man|5|ups.conf|url=http://networkupstools.org/docs/man/ups.conf.html}} を参照。&lt;br /&gt;
&lt;br /&gt;
=== upsd の設定 ===&lt;br /&gt;
&lt;br /&gt;
デフォルトでは upsd はローカルホストにしか接続を開きません。{{ic|/etc/ups/upsd.conf}} を編集することで upsd のデフォルト設定を変更できます。詳しくは {{man|5|upsd.conf|url=http://networkupstools.org/docs/man/upsd.conf.html}} を見てください。&lt;br /&gt;
&lt;br /&gt;
サーバーに接続してコマンドを実行するには監視用のユーザーを追加する必要があります ({{man|5|upsd.users|url=http://networkupstools.org/docs/man/upsd.users.html}} を見てください):&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/ups/upsd.users|...&lt;br /&gt;
[&#039;&#039;upsuser&#039;&#039;]&amp;lt;nowiki&amp;gt;&lt;br /&gt;
     password = &amp;lt;/nowiki&amp;gt;&#039;&#039;password&#039;&#039;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
     actions = SET&lt;br /&gt;
     instcmds = ALL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
設定したら {{ic|nut-server.service}} を[[起動]]・[[有効化]]してください。nut-driver が自動で起動します。&lt;br /&gt;
&lt;br /&gt;
起動できたら、{{ic|upsc &amp;lt;upsname&amp;gt;}} を実行して UPS から情報を取得できます。コマンドの出力例:&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
battery.charge: 100&lt;br /&gt;
battery.charge.low: 10&lt;br /&gt;
battery.charge.warning: 20&lt;br /&gt;
battery.mfr.date: CPS&lt;br /&gt;
battery.runtime: 5550&lt;br /&gt;
battery.runtime.low: 300&lt;br /&gt;
battery.type: PbAcid&lt;br /&gt;
battery.voltage: 13.5&lt;br /&gt;
battery.voltage.nominal: 12&lt;br /&gt;
device.mfr: CPS&lt;br /&gt;
device.model: UPS CP1000AVRLCD&lt;br /&gt;
device.type: ups&lt;br /&gt;
driver.name: usbhid-ups&lt;br /&gt;
driver.parameter.pollfreq: 30&lt;br /&gt;
driver.parameter.pollinterval: 2&lt;br /&gt;
driver.parameter.port: auto&lt;br /&gt;
driver.parameter.synchronous: no&lt;br /&gt;
driver.version: 2.7.4&lt;br /&gt;
driver.version.data: CyberPower HID 0.4&lt;br /&gt;
driver.version.internal: 0.41&lt;br /&gt;
input.transfer.high: 140&lt;br /&gt;
input.transfer.low: 90&lt;br /&gt;
input.voltage: 122.0&lt;br /&gt;
input.voltage.nominal: 120&lt;br /&gt;
output.voltage: 122.0&lt;br /&gt;
ups.beeper.status: disabled&lt;br /&gt;
ups.delay.shutdown: 20&lt;br /&gt;
ups.delay.start: 30&lt;br /&gt;
ups.load: 0&lt;br /&gt;
ups.mfr: CPS&lt;br /&gt;
ups.model: UPS CP1000AVRLCD&lt;br /&gt;
ups.productid: 0501&lt;br /&gt;
ups.realpower.nominal: 600&lt;br /&gt;
ups.status: OL&lt;br /&gt;
ups.test.result: Done and passed&lt;br /&gt;
ups.timer.shutdown: -60&lt;br /&gt;
ups.timer.start: 0&lt;br /&gt;
ups.vendorid: 0764&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== upsmon の設定 ===&lt;br /&gt;
&lt;br /&gt;
最初に upsmon を設定して upsd に接続してイベントが発生したときにアクションを実行します。&lt;br /&gt;
&lt;br /&gt;
以下の行を {{ic|/etc/ups/upsmon.conf}} に追加:&lt;br /&gt;
&lt;br /&gt;
 MONITOR &#039;&#039;upsname&#039;&#039;@localhost 1 &#039;&#039;upsduser&#039;&#039; &#039;&#039;password&#039;&#039; master&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;upsname&#039;&#039; は UPS の名前、&#039;&#039;upsduser&#039;&#039; と &#039;&#039;password&#039;&#039; は {{ic|/etc/ups/upsd.user}} で設定したユーザーとパスワードに置き換えてください。&lt;br /&gt;
&lt;br /&gt;
どんな警告をどこに送信するか、バッテリーが少なくなったときにどのようなアクションを行うかを設定できます。{{man|5|upsmon.conf|url=http://networkupstools.org/docs/man/upsmon.conf.html}} を見てください。&lt;br /&gt;
&lt;br /&gt;
設定したら {{ic|nut-monitor.service}} を[[起動]]・[[有効化]]してください。&lt;/div&gt;</summary>
		<author><name>Ootaharuki99</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Banana_Pi&amp;diff=10864</id>
		<title>Banana Pi</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Banana_Pi&amp;diff=10864"/>
		<updated>2017-11-18T07:12:58Z</updated>

		<summary type="html">&lt;p&gt;Ootaharuki99: /* SATA HDD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ARM アーキテクチャ]]&lt;br /&gt;
[[en:Banana Pi]]&lt;br /&gt;
[http://www.lemaker.org/ メーカーのウェブサイト] より:&lt;br /&gt;
:Banana Pi はオープンソースのシングルボードコンピュータです。Android 4.4, Ubuntu, Debian, Rasberry Pi イメージ, Cubieboard イメージなどを動作させることができます。AllWinner A20 SoC を使っており、1GB DDR3 SDRAM が搭載されています。&lt;br /&gt;
&lt;br /&gt;
BananaPi は [[Wikipedia:ARMv7-A|ARMv7-A アーキテクチャ]]で作られたミニマルなコンピュータです。詳細は [http://www.bananapi.org/ プロジェクトのページ] や [http://www.bananapi.org/p/product.html 技術仕様書] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
Allwinner SoC を使うため、Banana ボードはドキュメントがよくまとまっている Sunxi Linux カーネルが動作します。ハードウェアやカーネルに関連することについては、[https://linux-sunxi.org/Main_Page Sunxi Wiki] も参照してください。&lt;br /&gt;
&lt;br /&gt;
== イントロダクション ==&lt;br /&gt;
この記事は [[Raspberry Pi]] のページが元になっています。さらに、この記事は詳しい手順を解説したセットアップガイドではなく、あくまで読者が既に Arch 環境をセットアップした経験があることを前提とします。Arch の初心者は[[ビギナーズガイド]]を読むようにしてください。特にユーザーの作成やシステムの管理などについてよくわからないときは必読です。&lt;br /&gt;
&lt;br /&gt;
== Arch Linux ARM のインストール ==&lt;br /&gt;
=== ソースのダウンロード ===&lt;br /&gt;
まず、あなたのボードに合わせて適当なイメージをダウンロードします。Banana Pro で Banana Pi 用のイメージをインストールことも可能ではありますが、無線のサポートなどの機能は含まれていません。&lt;br /&gt;
&lt;br /&gt;
* [http://www.lemaker.org/portal.php?mod=list&amp;amp;catid=4 Banana Pi 用の Arch イメージ]&lt;br /&gt;
* [http://www.lemaker.org/portal.php?mod=list&amp;amp;catid=5 Banana Pro 用の Arch イメージ]&lt;br /&gt;
&lt;br /&gt;
こちらの [http://blog.eldajani.net/banana-pi-arch-linux-customized-distribution/ Pi 用の Arch / LXDE ディストリビューション] のように、カスタマイズされたイメージを使うこともできます。&lt;br /&gt;
&lt;br /&gt;
=== インストール ===&lt;br /&gt;
&lt;br /&gt;
[http://wiki.lemaker.org/SD_card_installation Banana Pi のドキュメント] を見て下さい。[http://www.lemaker.org/article-26-1.html Arch Linux イメージ] をダウンロードして、展開し、SD カードに書き込む必要があります。SD カードの容量が 4GB 以上あるときは、{{ic|parted}} などのツールでファイルシステムをリサイズできます。&lt;br /&gt;
&lt;br /&gt;
== ネットワーク ==&lt;br /&gt;
&lt;br /&gt;
=== SSH ===&lt;br /&gt;
デフォルトで [[Secure_Shell|SSH デーモン]]がインストールされるようになっています。デフォルトのログインデータは:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! タイプ&lt;br /&gt;
! ユーザー名&lt;br /&gt;
! パスワード&lt;br /&gt;
|-&lt;br /&gt;
|Root&lt;br /&gt;
|{{ic|root}}&lt;br /&gt;
|{{ic|bananapi}}&lt;br /&gt;
|-&lt;br /&gt;
|User&lt;br /&gt;
|{{ic|bananapi}}&lt;br /&gt;
|{{ic|bananapi}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== X.org ドライバー ==&lt;br /&gt;
&lt;br /&gt;
Banana Pi 用の X.org ドライバーは &#039;&#039;xf86-video-fbdev&#039;&#039; パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
=== HDMI 1080p 解像度 ===&lt;br /&gt;
デフォルトの 1280x720/60Hz から 1920x1080/60Hz に解像度を変更する方法は2つあります。&lt;br /&gt;
&lt;br /&gt;
==== 手動で解像度を変更 ====&lt;br /&gt;
利用可能な HDMI 解像度を確認:&lt;br /&gt;
 # cat /sys/class/graphics/fb0/modes&lt;br /&gt;
適当な解像度に変更、例:&lt;br /&gt;
 # echo &amp;quot;D:1920x1080p-60&amp;quot; &amp;gt; /sys/class/graphics/fb0/mode&lt;br /&gt;
&lt;br /&gt;
==== 起動時に自動的に解像度を設定 ====&lt;br /&gt;
&lt;br /&gt;
{{ic|uEnv.txt}} のカーネルパラメータを編集して {{ic|script.bin}} に必要なパラメータを記述する必要があります。{{ic|script.bin}} はバイナリファイルのため、Sunix をツールを使ってバイナリファイルを {{ic|script.fex}} テキストファイルに変換して、変更を加えてから、{{ic|script.bin}} に再変換してください ([http://linux-sunxi.org/Fex_Guide#disp_init_configuration Sunxi fex ガイド], [http://linux-sunxi.org/Kernel_arguments Sunix カーネル引数], [http://forum.lemaker.org/viewthread.php?action=printable&amp;amp;tid=1881 スレッド] を参照):&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME&lt;br /&gt;
 $ mkdir $HOME/boot&lt;br /&gt;
 $ sudo mount /dev/mmcblk0p1 $HOME/boot&lt;br /&gt;
 $ cp $HOME/boot/script.bin $HOME/script.bin&lt;br /&gt;
 $ pacman -S sunxi-tools&lt;br /&gt;
 $ bin2fex $HOME/script.bin $HOME/script.fex&lt;br /&gt;
作成された {{ic|script.fex}} を好きなエディタで編集します。{{ic|[disp_init]}} セクションを探して以下のパラメータを変更・追加してください:&lt;br /&gt;
 screen0_output_mode = 10&lt;br /&gt;
 fb0_framebuffer_num = 3&lt;br /&gt;
 fb0_scaler_mode_enable = 0&lt;br /&gt;
 sunxi_fb_mem_reserve = 32&lt;br /&gt;
変更を保存したら、{{ic|fex2bin}} を実行してから、{{ic|script.bin}} をバックアップして置き換えます:&lt;br /&gt;
 $ $HOME/sunxi-tools/fex2bin $HOME/script.fex $HOME/script.bin&lt;br /&gt;
 $ sudo cp $HOME/boot/script.bin $HOME/boot/script.bin.backup&lt;br /&gt;
 $ sudo cp $HOME/script.bin $HOME/boot/script.bin&lt;br /&gt;
バックアップの作成後、root 権限で {{ic|$HOME/boot/uEnv.txt}} の {{ic|disp.screen0.output_mode}} を変更できます:&lt;br /&gt;
 disp.screen0.output_mode=10:1920x1080p60&lt;br /&gt;
ブートパーティションをアンマウントして再起動したら、1080p/60Hz になっているはずです。&lt;br /&gt;
&lt;br /&gt;
==== アイドル状態でディスプレイがオフになった後にオンにならなくなる ====&lt;br /&gt;
一定時間アイドル状態が続いてディスプレイがオフになった後、オンに戻らなくなる問題が発生する場合、[[DPMS]] を無効化することができます。その後、以下の X11 引数をディスプレイマネージャの適当な設定に追加してください:&lt;br /&gt;
&lt;br /&gt;
 -s 0 -dpms&lt;br /&gt;
&lt;br /&gt;
例えば、[[SLiM]] を使っている場合、{{ic|/etc/slim.conf}} を編集します:&lt;br /&gt;
 xserver_arguments -nolisten tcp vt07 -s 0 -dpms &lt;br /&gt;
&lt;br /&gt;
デバイスを再起動したときなど、何らかの理由でディスプレイがオフから変えられなくなったとき、一時的に解像度を変更することでオンにすることができます:&lt;br /&gt;
 # echo &amp;quot;D:1280x720p-60&amp;quot; &amp;gt; /sys/class/graphics/fb0/mode&lt;br /&gt;
 # echo &amp;quot;D:1920x1080p-60&amp;quot; &amp;gt; /sys/class/graphics/fb0/mode&lt;br /&gt;
&lt;br /&gt;
== ベンチマーク ==&lt;br /&gt;
実際に接続されているハードウェア (例: HDD) によって、ベンチマークの値は変わってきますが、Banana Pi のパフォーマンスを知るのにある程度は役に立つでしょう。&lt;br /&gt;
=== SATA HDD ===&lt;br /&gt;
2つの異なる外部 HDD (3.5インチ、外部電源) を SATA-L と eSATA-I ケーブルで Banana Pi に接続しています。読み書き速度は [[Core Utilities#dd|dd]] のものです (3回実行した平均):&lt;br /&gt;
{| style=&amp;quot;text-align: center;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!HDD 1 (2 TB)&lt;br /&gt;
!HDD 2 (4 TB)&lt;br /&gt;
|-&lt;br /&gt;
!読み取り速度&lt;br /&gt;
|81.8 MB/s&lt;br /&gt;
|115.5 MB/s&lt;br /&gt;
|-&lt;br /&gt;
!書き込み速度&lt;br /&gt;
|37.6 MB/s&lt;br /&gt;
|39.4 MB/s&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ネットワーク ===&lt;br /&gt;
Allwinner A20 SoC に制限があるため、BPi はギガビットイーサネット NIC の理論値の帯域幅を完全に使うことはできません。それでも BPi は約 510 MBits/s を出すことができます。&lt;br /&gt;
&lt;br /&gt;
ベンチマークは {{ic|iperf}} を使って実行しました (3回実行した平均値)。クライアントの BPi とサーバーはギガビットイーサネットによってギガビット対応のスイッチに接続しています。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [http://wiki.lemaker.org/FAQ Manufacturers FAQ]&lt;/div&gt;</summary>
		<author><name>Ootaharuki99</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0&amp;diff=10802</id>
		<title>環境変数</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0&amp;diff=10802"/>
		<updated>2017-11-07T12:54:28Z</updated>

		<summary type="html">&lt;p&gt;Ootaharuki99: GNOME Wayland で環境変数を設定する方法を追記しました。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:システム管理]]&lt;br /&gt;
[[de:Umgebungsvariablen]]&lt;br /&gt;
[[en:Environment variables]]&lt;br /&gt;
[[ru:Environment variables]]&lt;br /&gt;
[[zh-hans:Environment variables]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|デフォルトアプリケーション}}&lt;br /&gt;
{{Related|Xdg-open}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
環境変数とは1つ、または複数のアプリケーションによって使用されるデータを含んだ名前付きオブジェクトです。簡単に言えば、名前と値がある変数です。環境変数の値は例えば、実行可能ファイルのファイルシステムにおける場所や使用するデフォルトのエディタ、システムロケールの設定などになります。Linux に慣れてないユーザーは、環境変数で設定をするのは御しがたいと考えがちですが、複数のアプリケーションと Linux のプロセスの設定を共有するシンプルな方法として環境変数が存在しています。&lt;br /&gt;
&lt;br /&gt;
== ユーティリティ ==&lt;br /&gt;
{{Pkg|coreutils}} パッケージには &#039;&#039;printenv&#039;&#039; と &#039;&#039;env&#039;&#039; というプログラムが入っています。現在設定されている環境変数とその値を表示するには: &lt;br /&gt;
&lt;br /&gt;
 $ printenv&lt;br /&gt;
&lt;br /&gt;
{{Note|環境変数の中にはユーザー個別のものも存在します。&#039;&#039;printenv&#039;&#039; の出力を非特権ユーザーと &#039;&#039;root&#039;&#039; で比較してみてください。}}&lt;br /&gt;
&lt;br /&gt;
{{ic|env}} ユーティリティを使うことで環境変数を変更してコマンドを実行することができます。以下の例では環境変数 {{ic|EDITOR}} を {{ic|vim}} に設定して &#039;&#039;xterm&#039;&#039; を起動します。以下のコマンドを実行してもグローバルな環境変数 {{ic|EDITOR}} に影響は与えません。&lt;br /&gt;
&lt;br /&gt;
 $ env EDITOR=vim xterm&lt;br /&gt;
&lt;br /&gt;
[[Bash]] に組み込まれている &#039;&#039;set&#039;&#039; はシェルのオプションの値を変更したり、位置のパラメータを設定したり、シェル変数の名前や値を表示することができます。詳しくは、&#039;&#039;set&#039;&#039; のドキュメントを見て下さい: [http://www.gnu.org/software/bash/manual/bash.html#The-Set-Builtin]。&lt;br /&gt;
&lt;br /&gt;
特定のプロセスで使われている環境変数を確認したい場合は、{{ic|/proc/${PID}/environ}} を見て下さい。このファイルには特殊な {{ic|\x0}} 文字が含まれています。次の関数を使うことでファイルを解析できます。&lt;br /&gt;
&lt;br /&gt;
 # envof() { sed &#039;s/\x0/\n/g&#039; /proc/${1}/environ; }&lt;br /&gt;
 # envof 1&lt;br /&gt;
 TERM=linux&lt;br /&gt;
&lt;br /&gt;
== 変数の定義 ==&lt;br /&gt;
&lt;br /&gt;
=== グローバル ===&lt;br /&gt;
&lt;br /&gt;
大半の Linux ディストリビューションは、あなたに {{ic|/etc/profile}} 等のファイルに環境変数の追加・変更を行うよう指示します。環境変数を維持管理し、それらを含む膨大な数のファイルに気を配る必要があります。原則的にあらゆるシェルスクリプトは環境変数の定義に使われる可能性がありますが、以下のような UNIX の慣例に従い特定のファイルでのみ行われるべきものです。&lt;br /&gt;
&lt;br /&gt;
次のファイルがグローバルな環境変数の定義に使われるべきです: {{ic|/etc/profile}}、{{ic|/etc/bash.bashrc}}、および {{ic|/etc/environment}}。ファイルにはそれぞれ制限があるため、注意深く目的にあったものを選ぶべきです。&lt;br /&gt;
&lt;br /&gt;
*{{ic|/etc/profile}} はログインシェル&#039;&#039;のみ&#039;&#039;において変数を初期化します。ただし、スクリプトを実行したり、全ての [[wikipedia:ja:Bourne Shell|Bourne shell]] 互換シェルで使うことができます。&lt;br /&gt;
*{{ic|/etc/bash.bashrc}} はインタラクティブシェル&#039;&#039;のみ&#039;&#039;において変数を初期化します。スクリプトも実行しますが (名前から分かる通り) Bash でしか使えません。&lt;br /&gt;
*{{ic|/etc/environment}} は PAM-env モジュールによって使われ、ログインシェルであるかそうでないか、インタラクティブシェルであるかそうでないか、また、Bash であるかそうでないかは関係ありません。そのためスクリプトやグロブ展開を使うことは不可能です。このファイルに記述できるのは {{ic|1=&#039;&#039;variable=value&#039;&#039;}} のペアだけです。&lt;br /&gt;
&lt;br /&gt;
以下の例では、特定のユーザーで {{ic|~/bin}} ディレクトリを {{ic|PATH}} に追加しています。適当な環境変数設定ファイル ({{ic|/etc/profile}} あるいは {{ic|/etc/bash.bashrc}}) に記述することで使うことができます:&lt;br /&gt;
&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# If user ID is greater than or equal to 1000 &amp;amp; if ~/bin exists and is a directory &amp;amp; if ~/bin is not already in your $PATH&lt;br /&gt;
# then export ~/bin to your $PATH.&lt;br /&gt;
if [[ $UID -ge 1000 &amp;amp;&amp;amp; -d $HOME/bin &amp;amp;&amp;amp; -z $(echo $PATH | grep -o $HOME/bin) ]]&lt;br /&gt;
then&lt;br /&gt;
    export PATH=$HOME/bin:${PATH}&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== ユーザーごと ===&lt;br /&gt;
&lt;br /&gt;
{{Note|dbus デーモンや systemd のユーザーインスタンスは {{ic|.bashrc}} などで設定された環境変数を継承しません。そのため、D-Bus によって Nautilus などのアプリケーションが起動した場合、デフォルトで設定された環境変数を使いません。[[Systemd/ユーザー#環境変数]]を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
環境変数をグローバルに定義したくないという時もあるでしょう。例えば、{{ic|PATH}} に {{ic|/home/my_user/bin}} を追加したいが、システム上の他のユーザーには同じ {{ic|PATH}} を使って欲しくないという場合が考えられます。様々なファイルを使うことでローカルに環境変数を定義することができます:&lt;br /&gt;
&lt;br /&gt;
# シェルの設定ファイル、例えば [[Bash#設定ファイル]] や [[Zsh#設定ファイル]]。&lt;br /&gt;
# {{ic|~/.profile}} は多数のシェルによってフォールバックとして使われます。[[wikipedia:Unix_shell#Configuration_files_for_shells]] を参照。&lt;br /&gt;
# {{ic|~/.pam_environment}} は {{ic|/etc/environment}} のユーザー個別の設定で、PAM-env モジュールによって使われます。詳しくは {{ic|pam_env(8)}} や {{ic|pam_env.conf(5)}} を参照。&lt;br /&gt;
&lt;br /&gt;
ローカルで {{ic|PATH}} にディレクトリを追加したい場合、以下のように {{ic|~/.bash_profile}} に記述します:&lt;br /&gt;
&lt;br /&gt;
 export PATH=&amp;quot;${PATH}:/home/my_user/bin&amp;quot;&lt;br /&gt;
&lt;br /&gt;
変数をアップデートするために、再ログインするかファイルを &#039;&#039;source&#039;&#039; してください: {{ic|$ source ~/.bash_profile}}。&lt;br /&gt;
&lt;br /&gt;
==== グラフィカルアプリケーション ====&lt;br /&gt;
&lt;br /&gt;
GUI アプリケーションの環境変数を設定したいときは、[[xinitrc]] ([[ディスプレイマネージャ]]を使う場合 [[xprofile]]) に変数を記述することができます。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=~/.xinitrc|2=&lt;br /&gt;
export PATH=&amp;quot;${PATH}:~/scripts&amp;quot;&lt;br /&gt;
export GUIVAR=value}}&lt;br /&gt;
&lt;br /&gt;
GNOME Wayland は [[xprofile]] を読み込みません。GDM を使う場合、代わりにフォルダ {{ic|~/.local/share/gdm/env.d/}} (ユーザーのみ) または {{ic|/usr/share/gdm/env.d/}} (全てのユーザー) の中に置いた任意のファイルに変数を記述することができます。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=~/.local/share/gdm/env.d/envs|2=&lt;br /&gt;
PATH=&amp;quot;${PATH}:~/scripts&amp;quot;&lt;br /&gt;
GUIVAR=value}}&lt;br /&gt;
&lt;br /&gt;
=== セッションごと ===&lt;br /&gt;
&lt;br /&gt;
時としてもっと限られた定義が必要になる場面もあります。絶対パスを入力せずに指定したディレクトリから一時的に実行ファイルを起動したい場合や、アプリケーションを実行するために短時間だけ {{ic|~/.bash_profile}} を編集しなくてはならない場合などです。&lt;br /&gt;
&lt;br /&gt;
その場合、&#039;&#039;export&#039;&#039; コマンドを使うことで、現在のセッションのみで {{ic|PATH}} 変数を定義することができます。ログアウトするまでは、{{ic|PATH}} 変数は一時的な設定が使われます。{{ic|PATH}} に特定のディレクトリを追加するには、次を実行:&lt;br /&gt;
&lt;br /&gt;
 $ export PATH=&amp;quot;${PATH}:/home/my_user/tmp/usr/bin&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== サンプル ==&lt;br /&gt;
以下のセクションでは Linux システムで一般的に使われている環境変数を並べており、それぞれの値について説明しています。&lt;br /&gt;
&lt;br /&gt;
*{{ic|DE}} は使用しているデスクトップ環境 (&#039;&#039;D&#039;&#039;esktop &#039;&#039;E&#039;&#039;nvironment) を示します。[[xdg-open]] はこの環境変数を使ってデスクトップ環境に含まれているユーザーフレンドリーなファイルオープナアプリケーションを選択します。この機能を使うにはインストールする必要があるパッケージが存在します。[[GNOME]] の場合、{{AUR|libgnome}} が必要です。[[Xfce]] の場合、{{pkg|exo}} が必要です。使用される {{ic|DE}} 変数の値: {{ic|gnome}}, {{ic|kde}}, {{ic|xfce}}, {{ic|lxde}}, {{ic|mate}}。&lt;br /&gt;
&lt;br /&gt;
:{{ic|DE}} 環境変数はウィンドウマネージャを起動する前にエクスポートする必要があります。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.xinitrc|2=&lt;br /&gt;
export DE=&amp;quot;xfce&amp;quot;&lt;br /&gt;
exec openbox&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
:上記の設定をすると、Xfce の中で実行されていると認識され &#039;&#039;xdg-open&#039;&#039; がユーザーフレンドリーな &#039;&#039;exo-open&#039;&#039; を使うようになります。設定したいときは &#039;&#039;exo-preferred-applications&#039;&#039; を使って下さい。&lt;br /&gt;
&lt;br /&gt;
*{{ic|DESKTOP_SESSION}} は {{ic|DE}} と似ていますが、[[LXDE]] デスクトップ環境で使われています: {{ic|DESKTOP_SESSION}} が {{ic|LXDE}} に設定されている場合、&#039;&#039;xdg-open&#039;&#039; は &#039;&#039;pcmanfm&#039;&#039; のファイル関連付けを使います。&lt;br /&gt;
&lt;br /&gt;
*{{ic|PATH}} はコロンで区切られたディレクトリのリストで、システムが実行ファイルを探す対象となります。通常のコマンド (例: &#039;&#039;pacman&#039;&#039;, &#039;&#039;systemctl&#039;&#039; など) をシェルに打ち込むと、このリストにあるディレクトリから同じ名前の実行ファイルが探され、そして実行されます。{{ic|PATH}} に含まれないディレクトリ下のものを実行するには、実行ファイルへの絶対パスが必要です: {{ic|/opt/adobe-air-sdk/bin/adl}}。&lt;br /&gt;
&lt;br /&gt;
{{Note|ユーザーが悪意のあるプログラムを実行してしまう可能性があるため、セキュリティ上の理由から {{ic|PATH}} に現在のワーキングディレクトリ {{ic|.}} を含めないことを推奨します。}}&lt;br /&gt;
&lt;br /&gt;
*{{ic|HOME}} は現在のユーザーのホームディレクトリが入ります。この変数は、アプリケーションが現在のユーザーに関連した設定ファイル等を見つけるために使われます。&lt;br /&gt;
&lt;br /&gt;
*{{ic|PWD}} にはワーキングディレクトリのパスが入ります。&lt;br /&gt;
&lt;br /&gt;
*{{ic|OLDPWD}} には前のワーキングディレクトリのパスが入ります。つまり最後に &#039;&#039;cd&#039;&#039; を実行する前の {{ic|PWD}} です。&lt;br /&gt;
&lt;br /&gt;
*{{ic|SHELL}} には実行中の、インタラクティブシェルの名前が入ります。例: {{ic|bash}}。&lt;br /&gt;
&lt;br /&gt;
*{{ic|TERM}} には実行中のターミナルの名前が入ります。例: {{ic|xterm}}。&lt;br /&gt;
&lt;br /&gt;
*{{ic|PAGER}} にはテキストファイルを閲覧するために使われるコマンドが入ります。例: {{ic|/bin/less}}。&lt;br /&gt;
&lt;br /&gt;
*{{ic|EDITOR}} にはテキストファイルを編集するために使われる軽量なエディタのコマンドが入ります。例: {{ic|/usr/bin/nano}}。例えば、以下のようにすることで [[Xorg|X]] 環境下では &#039;&#039;gedit&#039;&#039;、そうでなければ &#039;&#039;nano&#039;&#039; を使用するようにできます:&lt;br /&gt;
&lt;br /&gt;
 export EDITOR=&amp;quot;$(if &amp;lt;nowiki&amp;gt;[[&amp;lt;/nowiki&amp;gt; -n $DISPLAY &amp;lt;nowiki&amp;gt;]]&amp;lt;/nowiki&amp;gt;; then echo &#039;gedit&#039;; else echo &#039;nano&#039;; fi)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*{{ic|VISUAL}} にはメールの編集など、作業量が多いことをするのに使う、フル機能のエディタを実行するコマンドを指定します (例: {{ic|vi}}, [[vim]], [[emacs]] など)。&lt;br /&gt;
&lt;br /&gt;
*{{ic|MAIL}} には受信したメールの保存場所が入ります。一般的な設定は {{ic|/var/spool/mail/$LOGNAME}} です。&lt;br /&gt;
&lt;br /&gt;
*{{ic|BROWSER}} にはウェブブラウザのパスを指定します。インタラクティブシェルの設定ファイルで以下のように設定することで、[[Xorg|X]] など、グラフィカル環境が存在するかどうかで動的にウェブブラウザを変更することが可能です:&lt;br /&gt;
&lt;br /&gt;
 if &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt; -n &amp;quot;$DISPLAY&amp;quot; &amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;; then&lt;br /&gt;
     export BROWSER=firefox&lt;br /&gt;
 else &lt;br /&gt;
     export BROWSER=links&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
*{{ic|ftp_proxy}} と {{ic|http_proxy}} にはそれぞれ FTP と HTTP プロキシサーバーを記述します:&lt;br /&gt;
 ftp_proxy=&amp;quot;&amp;lt;nowiki&amp;gt;ftp://192.168.0.1:21&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
 http_proxy=&amp;quot;&amp;lt;nowiki&amp;gt;http://192.168.0.1:80&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*{{ic|MANPATH}} には &#039;&#039;man&#039;&#039; が man ページを探すときに使うコロン区切りのディレクトリのリストが入ります。&lt;br /&gt;
&lt;br /&gt;
{{Note|{{ic|/etc/profile}} に &amp;quot;Man is much better than us at figuring this out&amp;quot; (man は我々よりずっと上手くこれを解決する) と書いてあるとおり、一般的にこの変数はデフォルトのままにしておくべきです: {{ic|/usr/share/man:/usr/local/share/man}}。}}&lt;br /&gt;
&lt;br /&gt;
*{{ic|INFODIR}}	には &#039;&#039;info&#039;&#039; コマンドが info ページを探す際に使うコロン区切りのディレクトリのリストが入ります。例: {{ic|/usr/share/info:/usr/local/share/info}}。&lt;br /&gt;
&lt;br /&gt;
*{{ic|TZ}} はユーザー別にシステムと違うタイムゾーンを指定するために使うことができます。{{ic|/usr/share/zoneinfo/}} に記載されているタイムゾーンを参考にしてください。 例: {{ic|1=TZ=&amp;quot;/usr/share/zoneinfo/Pacific/Fiji&amp;quot;}}。&lt;br /&gt;
&lt;br /&gt;
=== pam_env を使う ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/environment}} や {{ic|~/.pam_environment}} には癖があり、man ページ ({{ic|pam_env(8)}} や {{ic|pam_env.conf(5)}}) には明白な記述がありません。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=~/.pam_environment|2= &lt;br /&gt;
LANG             DEFAULT=en_US.UTF-8&lt;br /&gt;
LC_ALL           DEFAULT=${LANG}&lt;br /&gt;
&lt;br /&gt;
XDG_CONFIG_HOME  DEFAULT=@{HOME}/.config&lt;br /&gt;
#XDG_CONFIG_HOME=@{HOME}/.config                    # is **not** valid see below&lt;br /&gt;
XDG_DATA_HOME    DEFAULT=@{HOME}/.local/share&lt;br /&gt;
 &lt;br /&gt;
# you can even use recently defined variables&lt;br /&gt;
RCRC             DEFAULT=${XDG_CONFIG_HOME}/rcrc&lt;br /&gt;
BROWSER=firefox&lt;br /&gt;
#BROWSER         DEFAULT=firefox # same as above&lt;br /&gt;
EDITOR=vim}}&lt;br /&gt;
&lt;br /&gt;
{{ic|~/.pam_environment}} では2つの方法で環境変数を設定できます:&lt;br /&gt;
&lt;br /&gt;
 VARIABLE=VALUE&lt;br /&gt;
&lt;br /&gt;
または:&lt;br /&gt;
&lt;br /&gt;
 VARIABLE [DEFAULT=[value]] [OVERRIDE=[value]]&lt;br /&gt;
&lt;br /&gt;
前者では {{ic| ${VARIABLES} }} が使えませんが、後者では使えます。{{ic| @{HOME} }} は {{ic|/etc/passwd}} の定義を拡張する特殊な変数です ({{ic| @{SHELL} }} も同じ)。{{ic|VARIABLE}} を定義したら、{{ic| ${VARIABLE} }} で使うことができます。前に定義した変数を呼び出すときは中括弧とドル記号が必須なので注意してください ({{ic| ${} }})。&lt;br /&gt;
&lt;br /&gt;
{{Note|上記のファイルは {{ic| ~/.{,bash_,z}profile }} や {{ic| ~/.zshenv }} よりも前に読み込まれます。}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Handbook:X86/Working/EnvVar/ja Gentoo Linux ドキュメント]&lt;/div&gt;</summary>
		<author><name>Ootaharuki99</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Pm-utils&amp;diff=8581</id>
		<title>Pm-utils</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Pm-utils&amp;diff=8581"/>
		<updated>2017-05-01T11:09:34Z</updated>

		<summary type="html">&lt;p&gt;Ootaharuki99: 英語版でアーカイブが検討されてる旨が表示されているためその部分を追記。また、パッケージ関連のリンク・記述を修正・削除。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:pm-utils}}&lt;br /&gt;
[[Category:電源管理]]&lt;br /&gt;
[[en:Pm-utils]]&lt;br /&gt;
[[it:Pm-utils]]&lt;br /&gt;
[[ru:Pm-utils]]&lt;br /&gt;
[[zh-hans:Pm-utils]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Uswsusp}}&lt;br /&gt;
{{Related|TuxOnIce}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
{{Archive|公式サポートがなくなりました; systemdのサスペンド機能に取って代わられます|Talk:Pm-utils#Deletion Proposal}}&lt;br /&gt;
{{Warning|1=Pm-utils でハイバネートをして systemd をアップデートするとファイルが破壊されるという報告が存在します: https://bbs.archlinux.org/viewtopic.php?pid=1423442 。}}&lt;br /&gt;
&#039;&#039;&#039;pm-utils&#039;&#039;&#039; はサスペンドと電源状態を設定するフレームワークです。{{ic|powersave}} などのスクリプトなどを置き換えるために作られました。&lt;br /&gt;
&lt;br /&gt;
pm-utils はカーネルのサスペンドと復帰を様々なハックで包み込むシェルスクリプトのコレクションです。サスペンドに対応していないドライバーやサブシステムによるバグを回避するためにハックが必要になります。カスタムフックをディレクトリに配置することで簡単に拡張することができ、システムの管理者がフックを作成するだけでなく、パッケージによってフックがインストールされることもあります。システムのサスペンドや電源状態の変化に特別注意する必要があるパッケージにフックが含まれています。&lt;br /&gt;
&lt;br /&gt;
あまり知られていない機能として [[Laptop Mode Tools]] による切り替えを模倣します。&lt;br /&gt;
&lt;br /&gt;
[[CPU 周波数スケーリング|cpupower]] パッケージと組み合わせて使うことで、ノートパソコン (デスクトップ) のユーザーは完全な電源管理スイートとして利用できます。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
[[公式リポジトリ]]の {{AUR|pm-utils}} パッケージを[[pacman|インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* 復帰時にビデオに問題が発生する場合は、[[公式リポジトリ]]から {{Pkg|vbetool}} もインストールする必要があります。&lt;br /&gt;
* 初めてインストールするときは、{{Pkg|acpi}} がインストールされていることを確認してください。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
root で {{ic|pm-suspend}}, {{ic|pm-suspend-hybrid}}, {{ic|pm-hibernate}} を実行すると手動でサスペンドが行われます。サスペンドスクリプトは {{ic|/var/log/pm-suspend.log}} にログを書き出します。&lt;br /&gt;
&lt;br /&gt;
=== 別のサスペンドバックエンドをインストール (任意) ===&lt;br /&gt;
&lt;br /&gt;
Arch Linux のパッケージでは次のバックエンドに対応するようになっています: {{ic|kernel}}, {{ic|tuxonice}}, {{ic|uswsusp}}。&lt;br /&gt;
&lt;br /&gt;
サスペンドバックエンドは {{ic|/etc/pm/config.d}} の {{ic|SLEEP_MODULE}} 設定変数で指定することができ、デフォルトでは {{ic|kernel}} バックエンドが使われます。別のサスペンドバックエンドを使うには、それぞれ必要なパッケージをインストールしてください。どちらも [[Arch User Repository]] からインストールできます:&lt;br /&gt;
* uswsusp - {{AUR|uswsusp-git}}&lt;br /&gt;
* tuxonice - {{AUR|linux-ice}} / [[linux-pf]]&lt;br /&gt;
&lt;br /&gt;
さらに、{{AUR|pm-utils}} には独自のビデオ互換データベースが付属しており、{{ic|/usr/lib/pm-utils/video-quirks/}} にインストールされます。&lt;br /&gt;
&lt;br /&gt;
== 基本設定 ==&lt;br /&gt;
&lt;br /&gt;
=== スタンバイ/RAM にサスペンド ===&lt;br /&gt;
&lt;br /&gt;
理想的な状態は、root で {{ic|pm-suspend}} を実行することでメモリへのサスペンドが開始され、全ての動作状態が RAM に保存されて、消費電力を抑えるために RAM 以外の部品は全部シャットダウンされることです。また、電源ボタンを押すことでこの状態から復帰できなければなりません。&lt;br /&gt;
&lt;br /&gt;
{{Note|ネットワークドライバーは SUSPENDED_MODULES に必ず記述することを推奨します。ほとんどのワイヤレスドライバーはスタンバイ後に問題を起こすことが知られています。Intel の iwlwifi, Atheros の ath5k, Realtek の r8* ドライバーなどが復帰後に問題を起こすという報告がフォーラムにあります。iwlwifi は復帰後にリロードしないと接続速度が 1Mbps まで落ちます。}} &lt;br /&gt;
&lt;br /&gt;
場合によっては、{{ic|pm-suspend}} を実行するとフリーズするなどの問題が発生することがあります。特定のモジュールが正しく動作しないのが原因です。問題を発生させるモジュールがわかっている場合、{{ic|/etc/pm/config.d/modules}} の {{ic|SUSPEND_MODULES}} に以下のようにモジュールを追加します:&lt;br /&gt;
 SUSPEND_MODULES=&amp;quot;uhci_hd button ehci_hd iwlwifi&amp;quot;&lt;br /&gt;
設定に追加されたモジュールはサスペンドが行われる前にアンロードされ、復帰後にリロードされます。&lt;br /&gt;
&lt;br /&gt;
ノートパソコンのフタを閉じた時などの電源イベントによって自動的に {{ic|pm-suspend}} を実行するように設定したい場合は、[[Acpid]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== ハイバネーション (suspend2disk) ===&lt;br /&gt;
&lt;br /&gt;
[[サスペンドとハイバネート#ハイバネーション]]の指示に従ってハイバネーションを設定してください。&lt;br /&gt;
&lt;br /&gt;
もしくは、{{ic|kernel}} バックエンドを使わない場合、[[Uswsusp#設定]] や [[TuxOnIce#ブートローダーの設定]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== 通常ユーザーでサスペンド/ハイバネート ===&lt;br /&gt;
&lt;br /&gt;
root パスワードを入力することなくサスペンドする方法は3つあります: [[Udev]] を使用する方法、UPower を使用する方法、[[sudo|visudo]] でユーザーに適当な権限を与える方法です。&lt;br /&gt;
&lt;br /&gt;
==== ユーザーに権限を与える方法 ====&lt;br /&gt;
&lt;br /&gt;
{{AUR|pm-utils}} スクリプトは root で実行する必要があるため、sudo を使うことで root パスワードを入力しないで通常ユーザーでスクリプトを使えるようにすることができます。そうするには、root で {{ic|visudo}} を使って {{ic|/etc/sudoers}} ファイルを編集してください。詳しくは、[[sudo]] を参照。&lt;br /&gt;
&lt;br /&gt;
以下の行を追加してください。{{ic|&#039;&#039;username&#039;&#039;}} はあなたのユーザー名に置き換えて、保存してから {{ic|visudo}} を終了します:&lt;br /&gt;
 &#039;&#039;username&#039;&#039;  ALL = NOPASSWD: /usr/sbin/pm-hibernate&lt;br /&gt;
 &#039;&#039;username&#039;&#039;  ALL = NOPASSWD: /usr/sbin/pm-suspend&lt;br /&gt;
&lt;br /&gt;
もしくは、グループを使うこともできます。以下の行を使って下さい。{{ic|&#039;&#039;group&#039;&#039;}} は置き換えて下さい:&lt;br /&gt;
 %&#039;&#039;group&#039;&#039;   ALL = NOPASSWD: /usr/sbin/pm-hibernate&lt;br /&gt;
 %&#039;&#039;group&#039;&#039;   ALL = NOPASSWD: /usr/sbin/pm-suspend&lt;br /&gt;
&lt;br /&gt;
{{Note|These must come after any user privilege specifications, e.g., {{ic|1=username ALL=(ALL) ALL}}, or they will not work.}}&lt;br /&gt;
&lt;br /&gt;
上記の設定によって、パスワードを入力しなくても以下のコマンドを実行することでスクリプトが実行できます:&lt;br /&gt;
 $ sudo pm-hibernate&lt;br /&gt;
&lt;br /&gt;
もしくは:&lt;br /&gt;
&lt;br /&gt;
 $ sudo pm-suspend&lt;br /&gt;
&lt;br /&gt;
また、ユーザーを {{ic|power}} [[グループ]]に追加して、アプレットなどを使用してサスペンドできるようにします。グループに追加していないと、[[GNOME]] のシャットダウンアプレットなどでサスペンドしようとしたときに、耳障りなビープ音が三回鳴って画面がロックされます。ユーザーをグループに追加するには:&lt;br /&gt;
 # gpasswd -a &#039;&#039;username&#039;&#039; power&lt;br /&gt;
&lt;br /&gt;
これで[[デスクトップ環境]]の電源管理ツールを使って、ノートパソコンのフタが閉じられたとき、あるいはバッテリーの残量が少なくなったときに、自動的にサスペンドやハイバネートをすることができるようになります。&lt;br /&gt;
&lt;br /&gt;
=== 省電力機能 ===&lt;br /&gt;
&lt;br /&gt;
pm-utils ではシステムが AC アダプタに接続しているかどうかに合わせてコマンドを実行することができます。スクリプトを {{ic|/etc/pm/power.d/}} フォルダの中に作成してください。スクリプトの例は [http://crunchbanglinux.org/forums/post/110148/#p110148 crunchbang フォーラム] に存在します。AC 状態の変化を検出するには upower を動作させる必要があるので注意してください (詳しくは [https://bbs.archlinux.org/viewtopic.php?id=132125] を参照)。&lt;br /&gt;
&lt;br /&gt;
==== AC 状態にあわせて明るさを変化させる ====&lt;br /&gt;
&lt;br /&gt;
以下は AC 状態にあわせて輝度を変化させる例です。以下の内容で {{ic|/etc/pm/power.d/00-brightness}} というファイルを作成して、あなたのシステムに合わせて、輝度設定のパスとファイルに書き出す値を変更してください。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
    true)&lt;br /&gt;
        echo &amp;quot;Enable screen power saving&amp;quot;&lt;br /&gt;
        echo 5 &amp;gt; /sys/class/backlight/acpi_video0/device/backlight/acpi_video0/brightness&lt;br /&gt;
    ;;&lt;br /&gt;
    false)&lt;br /&gt;
        echo &amp;quot;Disable screen power saving&amp;quot;&lt;br /&gt;
        echo 14 &amp;gt; /sys/class/backlight/acpi_video0/device/backlight/acpi_video0/brightness&lt;br /&gt;
    ;;&lt;br /&gt;
esac&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== アイドル状態でサスペンド ===&lt;br /&gt;
&lt;br /&gt;
xautolock プログラムを使う方法があります。{{ic|xautolock -time 30 -locker &amp;quot;sudo pm-suspend&amp;quot; -detectsleep &amp;amp;}} を {{ic|~/.xinitrc}} に追加してください。30分間、何も動作がない場合に {{ic|pm-suspend}} を呼び出します。&lt;br /&gt;
&lt;br /&gt;
=== 通常のスワップパーティションの代わりにスワップファイルを使う ===&lt;br /&gt;
&lt;br /&gt;
通常のスワップパーティションの代わりにスワップファイルを使いたい場合、[[スワップ#スワップファイル|スワップファイル]]を見て下さい。&lt;br /&gt;
&lt;br /&gt;
== 高度な設定 ==&lt;br /&gt;
&lt;br /&gt;
メインの設定ファイルは {{ic|/usr/lib/pm-utils/defaults}} です。このファイルを編集してはいけません。パッケージのアップデートによって、デフォルト設定に書き換えられてしまう可能性があります。設定ファイルは {{ic|/etc/pm/config.d/}} に置くようにしてください。{{ic|/etc/pm/config.d}} に {{ic|modules}} や {{ic|config}} という名前で、以下の内容のシンプルなテキストファイルを作成することで、システム全体の設定ファイルの設定を上書きできます:&lt;br /&gt;
 SUSPEND_MODULES=&amp;quot;button uhci_hcd&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== 設定ファイルで利用できる変数 ===&lt;br /&gt;
&lt;br /&gt;
; SUSPEND_MODULES=&amp;quot;button&amp;quot;: サスペンドする前にアンロードするモジュールのリスト&lt;br /&gt;
; SLEEP_MODULE=&amp;quot;tuxonice uswsusp kernel&amp;quot;: 試行するデフォルトのスリープ/復帰システム&lt;br /&gt;
; HIBERNATE_MODE=&amp;quot;shutdown&amp;quot;: 再起動ではなく強制的にシャットダウンさせる&lt;br /&gt;
&lt;br /&gt;
=== フックの無効化 ===&lt;br /&gt;
&lt;br /&gt;
不必要な、あるいは害を及ぼすフックが動作してしまう場合、それについてバグレポートを送って頂けると幸いです。{{ic|/etc/pm/sleep.d/}} にフックと呼応する空のファイルを作成することで簡単にフックを無効化できます。例えば {{ic|/usr/lib/pm-utils/sleep.d/45pcmcia}} フックを無効化したいときは、次を実行することで無効化できます:&lt;br /&gt;
 # touch /etc/pm/sleep.d/45pcmcia&lt;br /&gt;
ダミーのフックには実行可能権限は付与しないでください。&lt;br /&gt;
&lt;br /&gt;
{{Note|適当なディレクトリにダミーファイルを作成してください。例えば {{ic|/usr/lib/pm-utils/power.d}} のフックを無効化する場合、{{ic|/etc/pm/power.d}} にダミーファイルを作成する必要があります。}}&lt;br /&gt;
&lt;br /&gt;
==== 別の方法 ====&lt;br /&gt;
&lt;br /&gt;
ブラックリストにしたいモジュールを {{ic|HOOK_BLACKLIST}} 変数に定義したファイルを {{ic|/etc/pm/config.d}} に作成してください。例えば、省電力機能を自分で管理したい場合、以下を使います:&lt;br /&gt;
 HOOK_BLACKLIST=&amp;quot;hal-cd-polling intel-audio-powersave journal-commit laptop-mode pcie_aspm readahead sata_alpm sched-powersave xfs_buffer wireless&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== フックの作成 ===&lt;br /&gt;
&lt;br /&gt;
{{Note|systemd を使っている場合、sleep.d のフックはおそらく動作しません。そのようなときは systemd の[[電源管理#スリープフック|スリープフック]]を使って下さい。}}&lt;br /&gt;
サスペンドやハイバネートのときに何か特別なことをしたい場合、簡単にフックを自分で作成して {{ic|/etc/pm/sleep.d}} に配置することができます。このディレクトリに含まれているフックはサスペンド時にアルファベット順で実行されます (そのため名前の先頭には2桁の数字を付けて、順番が明確になるようにしています)。復帰時は逆の順番で実行されます。数字については以下のように決められています:&lt;br /&gt;
;00 - 49: ユーザーやパッケージが作成したフック。通常のサービスやユーザー空間のインフラストラクチャが動作しているときに実行するべきフック。&lt;br /&gt;
;50 - 74: サービスを管理するフック。この範囲のフックはサービスを起動したり停止します。50 以下のフックはサービスが有効になっている状態に実行されると考えてかまいません。&lt;br /&gt;
;75 - 89: コア以外のハードウェアあるいはモジュールを管理するフック。モジュールをロード・アンロードしたり、安全な状態にサスペンドしたりハイバネートするのを破壊するようなビデオ以外のハードウェアを扱うフックはこの範囲に収まります。75 以下では、全てのモジュールがロードされることになります。&lt;br /&gt;
;90 - 99: 重要なサスペンドのフック用に予約されています。&lt;br /&gt;
&lt;br /&gt;
ログファイルに情報を流すだけの、無用のフックを作ると以下のようになります:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
     hibernate)&lt;br /&gt;
         echo &amp;quot;Hey guy, we are going to suspend to disk!&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
     suspend)&lt;br /&gt;
         echo &amp;quot;Oh, this time we are doing a suspend to RAM. Cool!&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
     thaw)&lt;br /&gt;
         echo &amp;quot;Oh, suspend to disk is over, we are resuming...&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
     resume)&lt;br /&gt;
         echo &amp;quot;Hey, the suspend to RAM seems to be over...&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
     *)  echo &amp;quot;Somebody is calling me totally wrong.&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
上記のファイルを {{ic|/etc/pm/sleep.d/66dummy}} として保存して {{ic|chmod +x /etc/pm/sleep.d/66dummy}} を実行してください。サスペンドや復帰時にメッセージが出力されます。&lt;br /&gt;
&lt;br /&gt;
{{Warning|全てのフックは root で実行されます。したがって、一時ファイルを作成する場合は注意してください。セキュリティに問題が起きないように {{ic|PATH}} 環境変数が正しく設定されていることなどを確認します。}}&lt;br /&gt;
&lt;br /&gt;
== 仕組み ==&lt;br /&gt;
&lt;br /&gt;
仕組みはとても簡単です: メインスクリプト ({{ic|pm-suspend}}, {{ic|pm-hibernate}}, {{ic|pm-suspend-hybrid}} などのシンボリックリンクで {{ic|pm-action}} が呼びされます) はアルファベット順で実行可能スクリプトである&amp;quot;フック&amp;quot;を実行し、その際 {{ic|suspend}} (suspend to RAM) あるいは {{ic|hibernate}} (suspend to disk) のパラメータが使われます。全てのフックが実行されると、マシンはスリープ状態になります。マシンが再度起こされると、全てのフックは逆順に実行され {{ic|resume}} (resume from RAM) あるいは {{ic|thaw}} (resume from disk) のパラメータが使われます。フックは様々なことを行います。ブートローダーの準備や Bluetooth サブシステムの停止、重要なモジュールのアンロードなどです。&lt;br /&gt;
&lt;br /&gt;
{{ic|pm-suspend}} と {{ic|pm-hibernate}} はどちらも大抵は [[Udev]] から呼び出され、Udev 自体は {{Pkg|gnome-power-manager}} や {{ic|kpowersave}} などのデスクトップアプレットから実行されます。&lt;br /&gt;
&lt;br /&gt;
{{Note|{{ic|suspend-hybrid}} is a placeholder right now -- it is not completely implemented.}}&lt;br /&gt;
&lt;br /&gt;
マシンを高出力モードあるいは低出力モードに設定することもできます。{{ic|true}} や {{ic|false}} のパラメータを追加して {{ic|pm-powersave}} コマンドを使います。基本的なところはサスペンドフレームワークと同じです。&lt;br /&gt;
&lt;br /&gt;
サスペンドするときのフックは以下のディレクトリに配置されています:&lt;br /&gt;
;{{ic|/usr/lib/pm-utils/sleep.d}}: ディストリビューションやパッケージによって配置されたフック&lt;br /&gt;
;{{ic|/etc/pm/sleep.d}}: システム管理者によって追加されたフック&lt;br /&gt;
&lt;br /&gt;
電源状態を変更するときのフックは以下のディレクトリに配置されています:&lt;br /&gt;
;{{ic|/usr/lib/pm-utils/power.d}}: ディストリビューションやパッケージによって配置されたフック&lt;br /&gt;
;{{ic|/etc/pm/power.d}}: システム管理者によって追加されたフック&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/pm/}} のフックは {{ic|/usr/lib/pm-utils/}} のフックよりも優先されるため、システム管理者はディストリビューションによって決められたデフォルト設定を上書きすることができます。&lt;br /&gt;
&lt;br /&gt;
=== Pm-suspend の内部 ===&lt;br /&gt;
&lt;br /&gt;
This outlines the internal actions when {{ic|pm-suspend}} is run, describing how {{ic|pm-utils}} gracefully falls back onto the kernel method if the requirements of other methods are not met.&lt;br /&gt;
&lt;br /&gt;
 $ pm-suspend&lt;br /&gt;
&lt;br /&gt;
The first step is set-up preliminary variables and source parent scripts:&lt;br /&gt;
 export STASHNAME=pm-suspend&lt;br /&gt;
 export METHOD=&amp;quot;$(echo ${0##*pm-} |tr - _)&amp;quot;&lt;br /&gt;
 . &amp;quot;/usr/lib/pm-utils/pm-functions&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The variable {{Ic|METHOD}} is extracted from the executable name, &#039;&#039;suspend&#039;&#039; from {{ic|pm-suspend}} and &#039;&#039;hibernate&#039;&#039; from {{ic|pm-hibernate}}.&lt;br /&gt;
&lt;br /&gt;
The location of runtime configuration parameters is defined in {{ic|/usr/lib/pm-utils/pm-functions}} as &#039;&#039;PM_UTILS_RUNDIR=&amp;quot;/var/run/pm-utils&amp;quot;&#039;&#039; and &#039;&#039;STORAGEDIR=&amp;quot;${PM_UTILS_RUNDIR}/${STASHNAME}/storage&amp;quot;&#039;&#039;. Therefore &#039;&#039;STORAGEDIR=&amp;quot;/var/run/pm-utils/pm-suspend/storage&amp;quot;&#039;&#039;; this is where {{ic|pm-suspend}} will cache its configuration. Disabled hooks are stored as plain text files with the hook name prefixed by &amp;quot;&#039;&#039;disable_hook:&#039;&#039;&amp;quot;. Configuration parameters are appended to the &#039;&#039;parameters&#039;&#039; file:&lt;br /&gt;
{{hc|$  ls -lah /var/run/pm-utils/pm-suspend/storage/|&lt;br /&gt;
-rw-r--r-- 1 root root  20 May 19 09:57 disable_hook:99video&lt;br /&gt;
-rw-r--r-- 1 root root   0 May 19 02:59 parameters&lt;br /&gt;
-rw-r--r-- 1 root root 247 May 19 02:59 parameters.rm&lt;br /&gt;
-rw-r--r-- 1 root root   9 May 19 02:59 state:cpu0_governor&lt;br /&gt;
-rw-r--r-- 1 root root   9 May 19 02:59 state:cpu1_governor&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Then {{Ic|pm-functions}} will source the files located in {{Ic|/etc/pm/config.d/}} in addition to {{ic|/usr/lib/pm-utils/defaults}}. Upon returning, {{Ic|pm-functions}} will proceed to source the files specified by &#039;&#039;&#039;$SLEEP_METHOD&#039;&#039;&#039; as {{Ic|/usr/lib/pm-utils/module.d/$SLEEP_METHOD[...]}} if they exist:&lt;br /&gt;
 for mod in $SLEEP_MODULE; do&lt;br /&gt;
     mod=&amp;quot;${PM_UTILS_LIBDIR}/module.d/${mod}&amp;quot;&lt;br /&gt;
     [ -f &amp;quot;$mod&amp;quot; ] || continue&lt;br /&gt;
     . &amp;quot;$mod&amp;quot;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Otherwise, if &#039;&#039;&#039;$SLEEP_MODULE&#039;&#039;&#039; is empty, {{ic|do_suspend()}} will be set to the kernel backend as described above:&lt;br /&gt;
 if [ -z &amp;quot;$SUSPEND_MODULE&amp;quot; ]; then&lt;br /&gt;
     if grep -q mem /sys/power/state; then&lt;br /&gt;
        SUSPEND_MODULE=&amp;quot;kernel&amp;quot;&lt;br /&gt;
        do_suspend() { echo -n &amp;quot;mem&amp;quot; &amp;gt;/sys/power/state; }&lt;br /&gt;
     elif [ -c /dev/pmu ] &amp;amp;&amp;amp; pm-pmu --check; then&lt;br /&gt;
        SUSPEND_MODULE=&amp;quot;kernel&amp;quot;&lt;br /&gt;
        do_suspend() { pm-pmu --suspend; }&lt;br /&gt;
     elif grep -q standby /sys/power/state; then&lt;br /&gt;
        SUSPEND_MODULE=&amp;quot;kernel&amp;quot;&lt;br /&gt;
        do_suspend() { echo -n &amp;quot;standby&amp;quot; &amp;gt;/sys/power/state; }&lt;br /&gt;
     fi&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Assuming &#039;&#039;&#039;$SLEEP_MODULE&#039;&#039;&#039; is not empty and {{Ic|uswsusp}} is specified, {{Ic|/usr/lib/pm-utils/module.d/uswsusp}} is executed. This script checks several requirements (these are the requirements for being able to use uswsusp):&lt;br /&gt;
* [ -z $SUSPEND_MODULE ]&lt;br /&gt;
* command_exists s2ram&lt;br /&gt;
* grep -q mem /sys/power/state || ( [ -c /dev/pmu ] &amp;amp;&amp;amp; pm-pmu --check; );&lt;br /&gt;
If these requirements are met, do_suspend() is defined as:&lt;br /&gt;
 do_suspend()&lt;br /&gt;
 {&lt;br /&gt;
    uswsusp_get_quirks&lt;br /&gt;
    s2ram --force $OPTS&lt;br /&gt;
 }&lt;br /&gt;
Most importantly, the {{Ic|uswsusp}} module runs:&lt;br /&gt;
 add_before_hooks uswsusp_hooks&lt;br /&gt;
 add_module_help uswsusp_help&lt;br /&gt;
The first function, &#039;&#039;add_before_hook&#039;&#039; disables the &#039;&#039;&#039;pm-utils&#039;&#039;&#039; hooks &#039;&#039;&#039;99video&#039;&#039;&#039; since this functionality is subsumed by &#039;&#039;&#039;s2ram&#039;&#039;&#039;.&lt;br /&gt;
The second function, &#039;&#039;add_module_help&#039;&#039;, adds uswsusp-module-specific help, which in essence replaces the help function provided by &#039;&#039;&#039;99video&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Back to {{Ic|pm-suspend}}:&lt;br /&gt;
 command_exists &amp;quot;check_$METHOD&amp;quot; &amp;amp;&amp;amp; command_exists &amp;quot;do_$METHOD&amp;quot;&lt;br /&gt;
 &amp;quot;check_$METHOD&amp;quot;&lt;br /&gt;
This verifies that the &#039;&#039;check_suspend&#039;&#039; and &#039;&#039;do_suspend&#039;&#039; methods have been defined. The &#039;&#039;check_suspend&#039;&#039; method simply verifies that $SUSPEND_MODULE is not empty:&lt;br /&gt;
&lt;br /&gt;
 check_suspend() { [ -n &amp;quot;$SUSPEND_MODULE&amp;quot; ]; }&lt;br /&gt;
&lt;br /&gt;
Lastly, {{Ic|pm-suspend}} must run all hooks that have not been disabled, sync file-system buffers, and run &#039;&#039;do_suspend&#039;&#039;:&lt;br /&gt;
 if run_hooks sleep &amp;quot;$ACTION $METHOD&amp;quot;; then&lt;br /&gt;
     # Sleep only if we know how and if a hook did not inhibit us.&lt;br /&gt;
     log &amp;quot;$(date): performing $METHOD&amp;quot;&lt;br /&gt;
     sync&lt;br /&gt;
     &amp;quot;do_$METHOD&amp;quot; || r=128&lt;br /&gt;
     log &amp;quot;$(date): Awake.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The method &#039;&#039;run_hooks&#039;&#039; is a wrapper for &#039;&#039;_run_hooks&#039;&#039;, which the case of {{ic|pm-suspend}} is called as &#039;&#039;run_hooks sleep &amp;quot;suspend suspend&amp;quot;&#039;&#039;. Given that:&lt;br /&gt;
 PARAMETERS=&amp;quot;${STORAGEDIR}/parameters&amp;quot;&lt;br /&gt;
 PM_UTILS_LIBDIR=&amp;quot;/usr/lib/pm-utils&amp;quot;&lt;br /&gt;
 PM_UTILS_ETCDIR=&amp;quot;/etc/pm&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The method &#039;&#039;_run_hooks&#039;&#039;, will for each hook in &#039;&#039;&amp;quot;${PM_UTILS_LIBDIR}/$1.d&amp;quot;&#039;&#039; and &#039;&#039;&amp;quot;${PM_UTILS_ETCDIR}/$1.d&amp;quot;&#039;&#039;, check that sleep has not been inhibited and update the runtime parameters stored in &#039;&#039;$PARAMETERS&#039;&#039; before running each hook via &#039;&#039;run_hook $hook $2&#039;&#039;. In the case of Suspend-to-RAM, all the hooks in &#039;&#039;{/usr/lib/pm-utils/sleep.d/,/etc/pm/sleep.d/}&#039;&#039; will be enumerated, and &#039;&#039;run_hook&#039;&#039; will be passed the parameters &#039;&#039;$hook&#039;&#039; and &amp;quot;&#039;&#039;suspend suspend&#039;&#039;&amp;quot;. The method &#039;&#039;run_hook&#039;&#039; uses the &#039;&#039;hook_ok&#039;&#039; function to verify that the hook has not been disabled before executing the hook with the &amp;quot;&#039;&#039;suspend suspend&#039;&#039;&amp;quot; parameters.&lt;br /&gt;
&lt;br /&gt;
== Tips and tricks ==&lt;br /&gt;
&lt;br /&gt;
=== 復帰時にハードディスクの電源管理レベルを自動的に設定 ===&lt;br /&gt;
&lt;br /&gt;
以下のようにフックを作成:&lt;br /&gt;
{{hc|/etc/pm/sleep.d/50-hdparm_pm|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #!/bin/dash&lt;br /&gt;
 &lt;br /&gt;
 if [ -n &amp;quot;$1&amp;quot; ] &amp;amp;&amp;amp; ([ &amp;quot;$1&amp;quot; = &amp;quot;resume&amp;quot; ] || [ &amp;quot;$1&amp;quot; = &amp;quot;thaw&amp;quot; ]); then&lt;br /&gt;
 	hdparm -B 254 /dev/sda &amp;gt; /dev/null&lt;br /&gt;
 fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
そして次を実行:&lt;br /&gt;
 # chmod +x /etc/pm/sleep.d/50-hdparm_pm&lt;br /&gt;
&lt;br /&gt;
上記の [[Bash]] スクリプトが動作しない場合、以下のスクリプトで動作する可能性があります:&lt;br /&gt;
{{hc|/etc/pm/sleep.d/50-hdparm_pm|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 . &amp;quot;${PM_FUNCTIONS}&amp;quot;&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
        thaw|resume)&lt;br /&gt;
                sleep 6&lt;br /&gt;
                hdparm -B 254 /dev/sda&lt;br /&gt;
                ;;&lt;br /&gt;
        *)&lt;br /&gt;
                ;;&lt;br /&gt;
 esac&lt;br /&gt;
 exit $NA&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{ic|-B}} スイッチの値を低くすると効果があるかもしれません。[[hdparm]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== マウスの再起動 ===&lt;br /&gt;
&lt;br /&gt;
ノートパソコンによっては、サスペンドがされた後にマウスが動かなくなることがあります。{{ic|/etc/pm/hooks}} にフックを作成して PS/2 ドライバー (例: {{ic|i8042}}) を強制的に再初期化することで解決します ([[#フックの作成|フックの作成]]を参照):&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 echo -n &amp;quot;i8042&amp;quot; &amp;gt; /sys/bus/platform/drivers/i8042/unbind&lt;br /&gt;
 echo -n &amp;quot;i8042&amp;quot; &amp;gt; /sys/bus/platform/drivers/i8042/bind&lt;br /&gt;
&lt;br /&gt;
=== Openbox のメニューにスリープモードを追加 ===&lt;br /&gt;
&lt;br /&gt;
Openbox を使っている場合、{{ic|~/.config/openbox/menu.xml}} のサブメニューにアイテムを追加することで、Openbox メニューにシャットダウンオプションとして新しいスクリプトを追加できます。例:&lt;br /&gt;
 &amp;lt;menu id=&amp;quot;64&amp;quot; label=&amp;quot;Shutdown&amp;quot;&amp;gt;&lt;br /&gt;
 	&amp;lt;item label=&amp;quot;Lock&amp;quot;&amp;gt; &amp;lt;action name=&amp;quot;Execute&amp;quot;&amp;gt; &amp;lt;execute&amp;gt;xscreensaver-command -lock&amp;lt;/execute&amp;gt; &amp;lt;/action&amp;gt; &amp;lt;/item&amp;gt;&lt;br /&gt;
 	&amp;lt;item label=&amp;quot;Logout&amp;quot;&amp;gt; &amp;lt;action name=&amp;quot;Exit&amp;quot;/&amp;gt; &amp;lt;/item&amp;gt;&lt;br /&gt;
 	&amp;lt;item label=&amp;quot;Reboot&amp;quot;&amp;gt; &amp;lt;action name=&amp;quot;Execute&amp;quot;&amp;gt; &amp;lt;execute&amp;gt;sudo shutdown -r now&amp;lt;/execute&amp;gt; &amp;lt;/action&amp;gt; &amp;lt;/item&amp;gt;&lt;br /&gt;
 	&amp;lt;item label=&amp;quot;Poweroff&amp;quot;&amp;gt; &amp;lt;action name=&amp;quot;Execute&amp;quot;&amp;gt; &amp;lt;execute&amp;gt;sudo shutdown -h now &amp;lt;/execute&amp;gt; &amp;lt;/action&amp;gt; &amp;lt;/item&amp;gt;&lt;br /&gt;
 	&#039;&#039;&#039;&amp;lt;item label=&amp;quot;Hibernate&amp;quot;&amp;gt; &amp;lt;action name=&amp;quot;Execute&amp;quot;&amp;gt; &amp;lt;execute&amp;gt;sudo pm-hibernate&amp;lt;/execute&amp;gt; &amp;lt;/action&amp;gt; &amp;lt;/item&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
 	&#039;&#039;&#039;&amp;lt;item label=&amp;quot;Suspend&amp;quot;&amp;gt; &amp;lt;action name=&amp;quot;Execute&amp;quot;&amp;gt; &amp;lt;execute&amp;gt;sudo pm-suspend&amp;lt;/execute&amp;gt; &amp;lt;/action&amp;gt; &amp;lt;/item&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/menu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;sleep&amp;quot; と &amp;quot;power&amp;quot; ボタンの処理 ===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sleep&amp;quot; と &amp;quot;power&amp;quot; ボタンは {{ic|acpid}} の {{ic|/etc/acpi/handler.sh}} で処理されます (&amp;quot;button/power&amp;quot; と &amp;quot;power/sleep&amp;quot; エントリを見て下さい)。{{ic|pm-suspend}} や {{ic|pm-hibernate}} を呼び出すようにデフォルトのアクションを置き換えることができます。&lt;br /&gt;
&lt;br /&gt;
[[電源管理#ACPI イベント|systemd]] は独自に電源イベントを管理しており pm-utils や {{ic|/etc/pm/*}} のスクリプトは使わないので注意してください。&lt;br /&gt;
&lt;br /&gt;
=== ハイバネートやサスペンド時にスクリーンセーバーをロック ===&lt;br /&gt;
&lt;br /&gt;
You may wish to run a screen locking utility when the system suspends (so that a password is required after waking up).  This can be done by adding a script to the {{ic|/etc/pm/sleep.d}} folder. Make sure the script is executable (chmod 755) and owned by {{ic|root:root}}.&lt;br /&gt;
&lt;br /&gt;
シンプルなサンプルスクリプト:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pm/sleep.d/00screensaver-lock|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # 00screensaver-lock: lock workstation on hibernate or suspend&lt;br /&gt;
&lt;br /&gt;
 username= # add username here; i.e.: username=foobar&lt;br /&gt;
 userhome=/home/$username&lt;br /&gt;
 export XAUTHORITY=&amp;quot;$userhome/.Xauthority&amp;quot;&lt;br /&gt;
 export DISPLAY=&amp;quot;:0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    hibernate|suspend)&lt;br /&gt;
       su $username -c &amp;quot;/usr/bin/slimlock&amp;quot; &amp;amp; # or any other such as /usr/bin/xscreensaver-command -lock&lt;br /&gt;
    ;;&lt;br /&gt;
    thaw|resume)&lt;br /&gt;
    ;;&lt;br /&gt;
    *) exit $NA&lt;br /&gt;
    ;;&lt;br /&gt;
 esac&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{ic|/usr/bin/slimlock}} は使用する画面ロックユーティリティのパスに置き換えてください。&lt;br /&gt;
&lt;br /&gt;
ユーザー名をハードコードしたくない場合 (例えばユーザーが複数いる場合など)、現在の X11 ユーザー名とディスプレイ番号を確認する必要があります。[[systemd]] を使っている場合、[https://github.com/rephorm/xuserrun xuserrun] と以下の sleep.d スクリプトが使えます (xuserrun と画面ロッカーのパスは適宜修正してください):&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pm/sleep.d/00screensaver-lock|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
# 00screensaver-lock: lock workstation on hibernate or suspend&lt;br /&gt;
&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
   hibernate|suspend)&lt;br /&gt;
      /path/to/xuserrun /usr/bin/slimlock &amp;amp; # or any other such as /usr/bin/xscreensaver-command -lock&lt;br /&gt;
   ;;&lt;br /&gt;
   thaw|resume)&lt;br /&gt;
   ;;&lt;br /&gt;
   *) exit $NA&lt;br /&gt;
   ;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
If you have problems using xuserrun, you can instead try having loginctl do this directly. This script will lock all active sessions before going into hibernation:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pm/sleep.d/00screensaver-lock|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
# 00screensaver-lock: lock workstation on hibernate or suspend&lt;br /&gt;
&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
   hibernate|suspend)&lt;br /&gt;
      loginctl lock-sessions&lt;br /&gt;
   ;;&lt;br /&gt;
   thaw|resume)&lt;br /&gt;
   ;;&lt;br /&gt;
   *) exit $NA&lt;br /&gt;
   ;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== polkit でハイバネーションを無効化 ===&lt;br /&gt;
&lt;br /&gt;
ハイバネーションを無効化するには、{{ic|/etc/polkit-1/}} に {{ic|99-disable-hibernate.rules}} という名前の新しいファイルを作成してください。そして、以下の内容を記述します:&lt;br /&gt;
&lt;br /&gt;
{{hc|99-disable-hibernate.rules|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
polkit.addRule(function(action, subject) {&lt;br /&gt;
   if ((action.id == &amp;quot;org.freedesktop.login1.hibernate&amp;quot;)) {&lt;br /&gt;
      return polkit.Result.NO;&lt;br /&gt;
   }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
polkit.addRule(function(action, subject) {&lt;br /&gt;
   if ((action.id == &amp;quot;org.freedesktop.login1.hibernate-multiple-sessions&amp;quot;)) {&lt;br /&gt;
      return polkit.Result.NO;&lt;br /&gt;
   }&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
KDE を使っている場合、一度ログオフすればハイバネーションオプションが消えます。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
サスペンドやハイバネートが正しく動作しない場合、ログファイル {{ic|/var/log/pm-suspend.log}} に何らかの情報を見つけられる可能性があります。例えば、動作したフックやフックの出力などがログファイルで確認できます。&lt;br /&gt;
&lt;br /&gt;
また、{{ic|pm-is-supported}} コマンドの出力も確認してください。このコマンドは ({{ic|--hibernate}} や {{ic|--suspend}} フラグが付けられたときに) サニティチェックを実行して、設定に問題がある場合エラーを報告します。設定の問題以外のエラーは認識してくれませんが、それでも有用ではあります。&lt;br /&gt;
&lt;br /&gt;
=== セグメンテーション違反 ===&lt;br /&gt;
&lt;br /&gt;
セグメンテーション違反が発生してシステムが反応しなくなったりする場合、[[#ハイバネーション (suspend2disk)|上]]で説明しているように {{ic|/boot/grub/menu.lst}} の resume-path に UUID を設定してみてください。&lt;br /&gt;
&lt;br /&gt;
=== サスペンドから復帰する代わりに再起動する ===&lt;br /&gt;
&lt;br /&gt;
この問題はサスペンド時に NVS 領域を保存するようになってから起こるようになりました (2.6.35-rc4) ([http://www.spinics.net/lists/linux-acpi/msg29521.html メーリングリストの投稿])。しかしながら、全てのマシンでこの機構が動作するとは限らないと知れ渡ってから、カーネルの開発者は {{ic|1=acpi_sleep=nonvs}} カーネルコマンドラインオプションで無効化できるようにしています ([[カーネルパラメータ]]を参照)。&lt;br /&gt;
&lt;br /&gt;
=== サスペンドから復帰するとシャットダウンしてしまう ===&lt;br /&gt;
&lt;br /&gt;
Acer Aspire AS3810TG では、サスペンドから復帰すると、パソコンが立ち上がるかわりにシャットダウンしてしまいます。同じような問題が発生する場合、カーネルに {{ic|1=i8042.reset=1}} パラメータを指定してみてください。[[GRUB]] の場合、{{ic|/boot/grub/grub.cfg}} の設定行を以下のようにします:&lt;br /&gt;
 linux /vmlinuz-linux root=/dev/vg00/root resume=/dev/vg00/swap i8042.reset=1 ro&lt;br /&gt;
&lt;br /&gt;
未確認ですが、以下を実行することで再起動せずにパラメータを設定することもできます:&lt;br /&gt;
 # sysctl -e -w i8042.reset=1&lt;br /&gt;
&lt;br /&gt;
=== サスペンドから復帰したときに画面が表示されない ===&lt;br /&gt;
&lt;br /&gt;
Some laptops (e.g. Dell Inspiron Mini 1018) will just show a black screen with no backlight after resuming from suspend. If this happens to you, try going into the BIOS of the laptop and disabling Intel SpeedStep if it is present.&lt;br /&gt;
&lt;br /&gt;
You could also try, without disabling SpeedStep, creating a quirk in {{ic|/etc/pm/sleep.d/}} with this content (requires {{Pkg|vbetool}}):&lt;br /&gt;
{{bc|&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    suspend)&lt;br /&gt;
    ;;&lt;br /&gt;
    resume)&lt;br /&gt;
        sleep 5&lt;br /&gt;
        vbetool dpms off&lt;br /&gt;
        vbetool dpms on&lt;br /&gt;
    ;;&lt;br /&gt;
    *) exit $NA&lt;br /&gt;
    ;;&lt;br /&gt;
esac&lt;br /&gt;
}}&lt;br /&gt;
save it as you want but with a {{ic|00}} in front of the name so this is called last when resuming; remember to {{ic|chmod +x}} the script.&lt;br /&gt;
Try adjusting the {{ic|sleep}} time if the other commands are called too soon, or if it works well, you can also try removing that line.&lt;br /&gt;
&lt;br /&gt;
Some other laptops (e.g. Toshiba Portégé R830) will just show a black screen with no backlight after resuming from suspend, with fans blowing at top speed. If this is what you&#039;re seeing, try going into the BIOS and disable the VT-d virtualization setting by switching to &amp;quot;VT-x only&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== VirtualBox の問題 ===&lt;br /&gt;
&lt;br /&gt;
ノートパソコンによっては VirtualBox のカーネルモジュールによって {{ic|pm-suspend}} や {{ic|pm-hibernate}} が機能しなくなることがあります ([https://bbs.archlinux.org/viewtopic.php?id=123354] を参照)。サスペンドやハイバネートがされる代わりに、システムはフリーズしてインジケータ LED が点滅します (ThinkPad の場合、サスペンドインジケータが点滅。MSI Wind U100 の場合、Caps Lock や Scroll Lock のインジケータが点滅)。{{ic|pm-suspend}} と {{ic|pm-hibernate}} のログは通常通りに出力されます。&lt;br /&gt;
&lt;br /&gt;
サスペンドやハイバネートをする前にモジュールをアンロードして、復帰後にモジュールをリロードするようにすることで問題を解決できます。スクリプトを使うことでモジュールを管理できます:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
rmmod vboxdrv&lt;br /&gt;
pm-hibernate&lt;br /&gt;
modprobe vboxdrv&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note|root で {{ic|vboxbuild}} を実行してカーネルモジュールをリビルドすることで問題が解決するという報告もあります。}}&lt;br /&gt;
&lt;br /&gt;
=== スワップパーティションが存在しないのにハイバネート ===&lt;br /&gt;
&lt;br /&gt;
有効なスワップパーティションが存在しないのにハイバネートしようとすると、ハイバネートが開始されるようにみえて、すぐに復帰してしまいます。たとえ、ログ出力を詳細にするように指定していても、スワップパーティションが存在しないことに関するエラーメッセージが全く表示されません。そのため、この問題をデバッグするのは大変です。スワップパーティションが何らかの理由で破損していて無効になっていると、インストール時にスワップパーティションを設定していてもこの問題が発生することがあります。ハイバネートですぐ復帰するようならば、使用しているスワップパーティションが本当に有効になっているか確認してください。{{ic|blkid}} コマンドの出力が以下のようになっている場合:&lt;br /&gt;
{{hc|# blkid|2=&lt;br /&gt;
/dev/sda1: UUID=&amp;quot;00000-000-000-0000000&amp;quot; TYPE=&amp;quot;ext2&amp;quot; &lt;br /&gt;
/dev/sda2: UUID=&amp;quot;00000-000-000-0000000&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
/dev/sda3: UUID=&amp;quot;00000-000-000-0000000&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
/dev/sda4: UUID=&amp;quot;00000-000-000-0000000&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
タイプが {{ic|&amp;quot;swap&amp;quot;}} のパーティションがあれば大丈夫です。パーティションが存在しない場合、[[スワップ#スワップパーティション]]を見て、スワップパーティションを再作成・有効化してください。&lt;br /&gt;
&lt;br /&gt;
=== サスペンドしようとしたときにカーソルしか表示されない黒画面になる ===&lt;br /&gt;
&lt;br /&gt;
次のコマンドを実行したときにカーソルしか表示されなくなる場合:&lt;br /&gt;
 $ sudo pm-suspend&lt;br /&gt;
{{ic|/var/log/pm-suspend.log}} を開いて &amp;quot;ehci&amp;quot; や &amp;quot;xhci&amp;quot; を検索してください。&amp;quot;ehci_hd&amp;quot;, &amp;quot;xhci_hd&amp;quot;, &amp;quot;ehci_hcd&amp;quot; などという名前が見つかります。&lt;br /&gt;
&lt;br /&gt;
それから root で {{ic|/etc/pm/config.d/modules}} ファイルを作成して、先に見つけた ehci や xhci モジュールの名前を使ってコードを記述してください。例:&lt;br /&gt;
 SUSPEND_MODULES=&amp;quot;ehci_hcd&amp;quot;&lt;br /&gt;
これでサスペンドが機能するようになるはずです。&lt;br /&gt;
&lt;br /&gt;
=== 画面が表示されない問題 ===&lt;br /&gt;
&lt;br /&gt;
ノートパソコンを使っているユーザーの間でサスペンドやハイバネートからの復帰後に問題が発生することが報告されています。原因は {{ic|/etc/mkinitcpio.conf}} ファイルの &amp;quot;HOOKS&amp;quot; 配列の {{ic|autodetect}} フックです。{{ic|resume}} フックを追加するのと同じ方法でフックは無効化できます。リストから {{ic|autodetect}} を削除して新しいイメージを生成してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|[[plymouth]] を使っている場合、それが原因かもしれません。{{ic|/etc/mkinitcpio.conf}} ファイルの &amp;quot;HOOKS&amp;quot; 配列で {{ic|plymouth}} の前に {{ic|resume}} を追加することで問題が解決する場合があります。}}&lt;br /&gt;
&lt;br /&gt;
=== 64ビットの OS で復帰できない ===&lt;br /&gt;
&lt;br /&gt;
特定のマザーボードや BIOS の組み合わせで (特に Zotac の ITX ボードなどが知られています)、64ビットのオペレーティングシステムをインストールしている場合にサスペンドからの復帰が上手くできないことがあります。解決法は BIOS 設定を開いて DRAM 設定のページで &amp;quot;Memory Remapping Hole&amp;quot; を無効にしてください。RAM のサスペンドが修正されますが、全ての RAM が OS から認識されなくなる可能性もあります。&lt;br /&gt;
&lt;br /&gt;
=== radeon ドライバーでハイバネートから復帰した時に黒画面になる ===&lt;br /&gt;
&lt;br /&gt;
radeon ドライバーを使用していて {{ic|/etc/mkinitcpio.conf}} の {{ic|HOOKS}} 配列に {{ic|radeon}} があると、ハイバネーションからの復帰時に黒画面になることがあります。ただし、他のプロセスは問題なく動作します (コンソールを開いてコマンドを実行することで確認できます)。radeon の電源管理方法として {{ic|radeon.dpm&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;1}} を使用していることに関連がある模様です (カーネル 3.13 からのデフォルトとなっています)。&lt;br /&gt;
&lt;br /&gt;
HOOKS 行から {{ic|radeon}} を削除 (そして initrd を再生成) することでこの問題は解決します ([https://bugs.freedesktop.org/show_bug.cgi?id=72716] を参照)。&lt;br /&gt;
&lt;br /&gt;
=== ハイバネート時にコンピュータの電源が切れない ===&lt;br /&gt;
&lt;br /&gt;
Linux をハイバネートしてディスクにデータが書き込まれた後、コンピュータの電源が正しく切れないことがあります。その場合、強制的に電源を切ってから再起動すると、復帰が正しく動作します。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/pm/config.d/hibernate_mode}} という名前の実行可能ファイルを作成して、次の行を記述することで修正できます: {{ic|HIBERNATE_MODE&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;&amp;quot;shutdown&amp;quot;}}。その後 pm-hibernate でコンピュータが正しくシャットダウンされるようになります。&lt;br /&gt;
&lt;br /&gt;
=== サスペンド後にディスプレイの電源が入らない (radeon) ===&lt;br /&gt;
&lt;br /&gt;
radeon gpu でサスペンド後にディスプレイが表示されない場合、以下の内容で {{ic|/etc/pm/config.d/radeon}} を作成してみてください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pm/config.d/radeon|2=&lt;br /&gt;
QUIRK_S3_BIOS=&amp;quot;true&amp;quot;&lt;br /&gt;
QUIRK_S3_MODE=&amp;quot;true&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [http://en.opensuse.org/SDB:Pm-utils OpenSUSE Wiki] - The article from where this was originally sourced (Licensed under GPL)&lt;br /&gt;
* [https://wiki.ubuntu.com/UnderstandingSuspend Understanding Suspend] - Ubuntu article explaining how suspending to RAM works&lt;br /&gt;
* [http://www.mjmwired.net/kernel/Documentation/power/basic-pm-debugging.txt#178 PM Debugging] - Basic PM debugging&lt;br /&gt;
*[[Cpufrequtils]] - CPU 周波数スケーリングと CPU 電源スキーム&lt;br /&gt;
*[[Acpid]] - ACPI イベントを通知するデーモン&lt;br /&gt;
* [http://superuser.com/questions/298672/linuxhow-to-hibernate-after-a-period-of-sleep Hibernate after sleep] - An example of a custom pm-utils hook where hibernation is triggered after a period of time in suspension&lt;/div&gt;</summary>
		<author><name>Ootaharuki99</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=MTP&amp;diff=7022</id>
		<title>MTP</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=MTP&amp;diff=7022"/>
		<updated>2017-01-17T12:52:35Z</updated>

		<summary type="html">&lt;p&gt;Ootaharuki99: android-file-transfer が公式パッケージになっていたので修正&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:サウンド]]&lt;br /&gt;
[[Category:イメージング]]&lt;br /&gt;
[[Category:ストレージ]]&lt;br /&gt;
[[Category:携帯端末]]&lt;br /&gt;
[[en:MTP]]&lt;br /&gt;
[[ru:MTP]]&lt;br /&gt;
[[zh-CN:MTP]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|USB ストレージデバイス}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
MTP は多くの mp3 プレイヤー (例: Creative Zen) やモバイル端末 (例: Android 3+ デバイス) で使われているメディア転送プロトコル (Media Transfer Protocol) です。&amp;quot;Windows Media&amp;quot; フレームワークの一部であり、Windows Media Player と密接な関係があります。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
=== 機能性 ===&lt;br /&gt;
&lt;br /&gt;
Linux の MTP サポートは {{Pkg|libmtp}} パッケージを[[インストール]]することで得られます。libmtp をインストールするだけでデバイスにアクセスできますが、特定のデバイスタイプで便利な機能 (例: ファイルマネージャ) と互換性を提供するパッケージが多数存在します。転送速度を向上させるパッケージもあります。&lt;br /&gt;
&lt;br /&gt;
以下のパッケージはどれも [[Wikipedia:Filesystem in Userspace]] で実装されています:&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|mtpfs}}&lt;br /&gt;
* {{Pkg|android-file-transfer}} - ミニマルな UI が付属している MTP クライアント&lt;br /&gt;
* {{AUR|jmtpfs}} - Android 4 以降の新しいデバイスで上手く動作します&lt;br /&gt;
* {{AUR|go-mtpfs-git}} - Android 3 以降の新しいデバイスで上手く動作します&lt;br /&gt;
* {{AUR|simple-mtpfs}}&lt;br /&gt;
&lt;br /&gt;
上記の全てが {{ic|libmtp}} よりも優れた機能とパフォーマンスを誇っています。USB デバイスは多数存在するので、まずどれか一番適しているか試すことから始めて下さい。&lt;br /&gt;
&lt;br /&gt;
{{Tip|MTP 関連のパッケージをインストールした後はコンピュータを再起動することを推奨します。}}&lt;br /&gt;
&lt;br /&gt;
=== ファイルマネージャと統合 ===&lt;br /&gt;
&lt;br /&gt;
MTP を使ってファイルマネージャ上で Android デバイスのストレージの中身を表示するには、適当なプラグインをインストールしてください:&lt;br /&gt;
&lt;br /&gt;
* [[GVFS]] を使用するファイルマネージャ (GNOME の [[Nautilus]], Xfce の [[Thunar]]) の場合、MTP のサポートは {{Pkg|gvfs-mtp}} を、PTP のサポートは {{Pkg|gvfs-gphoto2}} をインストールしてください。&lt;br /&gt;
* KIO (KDE の Dolphin) を使用するファイルマネージャの場合、MTP サポートは {{Pkg|kio-extras}} に含まれています (Dolphin に依存)。&lt;br /&gt;
&lt;br /&gt;
必要なパッケージをインストールすれば、ファイルマネージャに自動的にデバイスが表示され、{{ic|mtp://[usb:002,013]/}} というような URL でアクセスすることができます。&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
&lt;br /&gt;
まず最初にマウントポイントのディレクトリを作成する必要があります。以下の例では {{ic|~/mnt}} ディレクトリを使っています。また、コンピュータに接続する前にデバイスのロック画面を解除するようにしてください。&lt;br /&gt;
&lt;br /&gt;
=== libmtp ===&lt;br /&gt;
&lt;br /&gt;
MTP デバイスの接続時に、MTP デバイスが検出されたかどうかを確認するには次のコマンドを使用:&lt;br /&gt;
 # mtp-detect&lt;br /&gt;
エラーが表示される場合、[[#libmtp 2|トラブルシューティング]]を参照。&lt;br /&gt;
&lt;br /&gt;
{{Note|通常ユーザーは {{ic|uucp}} グループに属している必要があります。}}&lt;br /&gt;
&lt;br /&gt;
MTP デバイスに接続するには、以下を使用:&lt;br /&gt;
 # mtp-connect&lt;br /&gt;
&lt;br /&gt;
接続が成功すると、{{ic|mtp-connect}} と一緒に複数のスイッチオプションを使ってデバイスのデータにアクセスすることができます。&lt;br /&gt;
&lt;br /&gt;
以下のように、MTP デバイスにアクセスするのに使える単独のコマンドも存在します:&lt;br /&gt;
&lt;br /&gt;
  mtp-albumart        mtp-emptyfolders    mtp-getplaylist     mtp-reset           mtp-trexist&lt;br /&gt;
  mtp-albums          mtp-files           mtp-hotplug         mtp-sendfile&lt;br /&gt;
  mtp-connect         mtp-folders         mtp-newfolder       mtp-sendtr&lt;br /&gt;
  mtp-delfile         mtp-format          mtp-newplaylist     mtp-thumb&lt;br /&gt;
  mtp-detect          mtp-getfile         mtp-playlists       mtp-tracks&lt;br /&gt;
&lt;br /&gt;
{{Warning|コマンドによっては MTP デバイスに悪影響を与えることがあるので注意してください。}}&lt;br /&gt;
&lt;br /&gt;
=== mtpfs ===&lt;br /&gt;
&lt;br /&gt;
{{Note|以下の方法が使えない時は [[デジタルカメラ#libgphoto2|gphoto2]] や、[[PCManFM]] などの gvfs をサポートしているファイルマネージャを用いる必要があります。}}&lt;br /&gt;
&lt;br /&gt;
Mtpfs はあらゆる MTP デバイスの読み書きをサポートする FUSE ファイルシステムです。外付けデバイスとして MTP デバイスをマウントできるようにします。&lt;br /&gt;
&lt;br /&gt;
Mtpfs は[[公式リポジトリ]]の {{Pkg|mtpfs}} パッケージでインストールすることが可能です。&lt;br /&gt;
* まず {{ic|/etc/fuse.conf}} を編集して以下の行をアンコメントしてください:&lt;br /&gt;
 user_allow_other&lt;br /&gt;
&lt;br /&gt;
* デバイスをマウントするには:&lt;br /&gt;
 $ mtpfs -o allow_other /media/YOURMOUNTPOINT&lt;br /&gt;
* デバイスをアンマウントするには:&lt;br /&gt;
 $ fusermount -u /media/YOURMOUNTPOINT&lt;br /&gt;
* デバイスを root でアンマウントするには:&lt;br /&gt;
 # umount /media/YOURMOUNTPOINT&lt;br /&gt;
&lt;br /&gt;
また、{{ic|~/.bashrc}} に以下を記述すると便利です:&lt;br /&gt;
 alias android-connect=&amp;quot;mtpfs -o allow_other /media/YOURMOUNTPOINT&amp;quot;&lt;br /&gt;
 alias android-disconnect=&amp;quot;fusermount -u /media/YOURMOUNTPOINT&amp;quot;&lt;br /&gt;
もしくは sudo を使って:&lt;br /&gt;
 alias android-disconnect=&amp;quot;sudo umount -u /media/YOURMOUNTPOINT&amp;quot;&lt;br /&gt;
{{Note|sudo を使用するときにパスワードを聞いて欲しくない場合は、[[USB ストレージデバイス]]を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
=== jmtpfs ===&lt;br /&gt;
&lt;br /&gt;
[http://research.jacquette.com/jmtpfs-exchanging-files-between-android-devices-and-linux/ jmtpfs] は MTP (Media Transfer Protocol) デバイスへのアクセスを提供する FUSE と libmtp ベースのファイルシステムです。MTP はサポートしているが USB マスストレージはサポートしていない新しい Android デバイスと Linux システム間でのファイルの交換を特に目的にしています。jmtpfs は [[AUR]] の {{AUR|jmtpfs}} でインストール可能です。&lt;br /&gt;
&lt;br /&gt;
デバイスをマウントするには次のコマンドを使用:&lt;br /&gt;
 $ jmtpfs ~/mtp&lt;br /&gt;
&lt;br /&gt;
デバイスをアンマウントするには次のコマンドを使用:&lt;br /&gt;
 $ fusermount -u ~/mtp&lt;br /&gt;
&lt;br /&gt;
=== go-mtpfs ===&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* デバイスによってはファイルの書き込みについて go-mtpfs は mtpfs/jmtpfs よりも良いパフォーマンスを発揮します。速度が遅いときは試してみて下さい。&lt;br /&gt;
* 外付け SD カードが存在する場合は go-mtpfs によるマウントは失敗します。外付け SD カードがあるときは取り除いてからマウントしてみてください。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
上記のやり方では芳しい結果が得られない場合、[[AUR]] から {{AUR|go-mtpfs-git}} を試してみて下さい。以下の手順は Samsung Galaxy Nexus GSM, Asus/Google Nexus 7 (2012年の第一世代), Samsung Galaxy S 3 mini, Google Nexus 4 でテスト済みです (Nexus 4 で動作する mtp ソフトウェアは go-mtpfs だけでした。usb デバッグを有効にして、メディアデバイスとして接続する設定です)。&lt;br /&gt;
&lt;br /&gt;
上のセクションで説明されているように {{Pkg|android-udev}} をインストールすると {{ic|/usr/lib/udev/rules.d/51-android.rules}} が作成されるので、あなたの idVendor と idProduct に適用されるように編集してください。ID は mtp-detect を実行することでわかります。行末にカンマと {{ic|&amp;lt;nowiki&amp;gt;OWNER=&amp;quot;yourusername&amp;quot;&amp;lt;/nowiki&amp;gt;}} を追加して、ファイルを保存します。&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;fuse&amp;quot; グループにユーザーを追加:&lt;br /&gt;
 # gpasswd -a [user] fuse&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;fuse&amp;quot; グループが存在しない場合は次のコマンドでグループを作成:&lt;br /&gt;
 # groupadd fuse&lt;br /&gt;
&lt;br /&gt;
ログアウトまたは再起動して変更を適用してください。&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Android&amp;quot; という名前のマウントポイントを作成するために次のコマンドを実行:&lt;br /&gt;
 $ mkdir Android&lt;br /&gt;
&lt;br /&gt;
* スマートフォンをマウントするには次を使用:&lt;br /&gt;
 $ go-mtpfs Android&lt;br /&gt;
&lt;br /&gt;
* スマートフォンをアンマウントするには:&lt;br /&gt;
 $ fusermount -u Android&lt;br /&gt;
&lt;br /&gt;
上の例と同じように {{ic|.bashrc}} にエイリアスを作成すると便利です。&lt;br /&gt;
&lt;br /&gt;
=== simple-mtpfs ===&lt;br /&gt;
&lt;br /&gt;
MTP デバイスのためのもうひとつの FUSE ファイルシステムです。{{Pkg|mtpfs}} よりも信頼性が上回っています。AUR から {{AUR|simple-mtpfs}} をインストールするか、ソースからビルドすることができます。以下のコマンドは root で実行しないで下さい。&lt;br /&gt;
&lt;br /&gt;
MTP デバイスをリストアップするには次を実行:&lt;br /&gt;
&lt;br /&gt;
 $ simple-mtpfs --list-devices&lt;br /&gt;
&lt;br /&gt;
MTP デバイス (この例ではデバイス0) をマウントするには次を実行&lt;br /&gt;
&lt;br /&gt;
 $ simple-mtpfs /path/to/your/mount/point&lt;br /&gt;
&lt;br /&gt;
アンマウントするには次を実行:&lt;br /&gt;
&lt;br /&gt;
 $ fusermount -u /path/to/your/mount/point&lt;br /&gt;
&lt;br /&gt;
=== Android File Transfer ===&lt;br /&gt;
&lt;br /&gt;
;FUSE インターフェイス&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/my-device&lt;br /&gt;
 $ ./aft-mtp-mount ~/my-device&lt;br /&gt;
&lt;br /&gt;
アルバムアートを表示したい場合、{{ic|albumart.xxx}} という名前を付けて一番最初にフォルダに配置してください。それから他のファイルをコピーしてください。また、fuse では ui/cli ファイル転送よりも7-8倍転送が遅くなるので注意してください。&lt;br /&gt;
&lt;br /&gt;
;Qt ユーザーインターフェイス&lt;br /&gt;
&lt;br /&gt;
アプリケーションを起動して、コピー先のフォルダを選択してツールバーのボタンをクリックしてください。利用できるオプション: &#039;&#039;Upload Album&#039;&#039;, &#039;&#039;Upload Directory&#039;&#039;, &#039;&#039;Upload Files&#039;&#039;。&#039;&#039;Upload Album&#039;&#039; はアルバムカバーのディレクトリを検索して、適当なカバーを設定します。&lt;br /&gt;
&lt;br /&gt;
=== メディアプレイヤー ===&lt;br /&gt;
&lt;br /&gt;
Amarok などの音楽プレイヤーで MTP デバイスを使うこともできます。これには {{ic|/usr/lib/udev/rules.d/51-android.rules}} を編集する必要があります (以下では MTP デバイスの例として Galaxy Nexus を使っています):&lt;br /&gt;
&lt;br /&gt;
まず次を実行してデバイスを確認してください:&lt;br /&gt;
 $ lsusb&lt;br /&gt;
以下のように表示されます:&lt;br /&gt;
 Bus 003 Device 011: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-P7500 [Galaxy Tab 10.1]&lt;br /&gt;
上記の場合は以下のようにエントリを記述します:&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTR{idVendor}==&amp;quot;04e8&amp;quot;, ATTR{idProduct}==&amp;quot;6860&amp;quot;, MODE=&amp;quot;0666&amp;quot;, OWNER=&amp;quot;[username]&amp;quot;&lt;br /&gt;
記述したら、udev ルールをリロードしてください:&lt;br /&gt;
 # udevadm control --reload&lt;br /&gt;
&lt;br /&gt;
{{Note|MTP をインストールした後、デバイスを認識させるために再起動が必要なことがあります。}}&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== libmtp ===&lt;br /&gt;
&lt;br /&gt;
==== 未知のデバイス ====&lt;br /&gt;
&lt;br /&gt;
以下のようなメッセージが表示される場合:&lt;br /&gt;
&lt;br /&gt;
 Device 0 (VID=XXXX and PID=XXXX) is UNKNOWN.&lt;br /&gt;
 Please report this VID/PID and the device model to the libmtp development team&lt;br /&gt;
&lt;br /&gt;
デバイスが次のリストに含まれているか確認する必要があります: [http://sourceforge.net/p/libmtp/code/ci/HEAD/tree/src/music-players.h Supported devices list]。リストに入っていない場合は、開発チームに報告してください。リストに含まれている場合は、libmtp が少しだけ旧式になっている可能性があります。libmtp によって適切に使用されるように、デバイスを次のファイルに追加することが可能です:&lt;br /&gt;
 /usr/lib/udev/rules.d/69-libmtp.rules&lt;br /&gt;
&lt;br /&gt;
==== Unable to enumerate USB device ====&lt;br /&gt;
&lt;br /&gt;
システムログ ({{ic|journalctl}}) に以下のようなメッセージが表示される場合:&lt;br /&gt;
&lt;br /&gt;
 usb usb4-port2: unable to enumerate USB device&lt;br /&gt;
&lt;br /&gt;
以下のコマンドを実行してみてください [https://bbs.archlinux.org/viewtopic.php?pid=1087323#p1087323]:&lt;br /&gt;
&lt;br /&gt;
 # modprobe -vr uhci_hcd&lt;br /&gt;
 # modprobe -va ohci_hcd&lt;br /&gt;
 # modprobe -va uhci_hcd&lt;br /&gt;
&lt;br /&gt;
上記のコマンドで直る場合、以下の内容で {{ic|/etc/modprobe.d/usb_hci_order.conf}} を作成してください:&lt;br /&gt;
&lt;br /&gt;
 # create a dependency on ohci for uhci, which fixes problems&lt;br /&gt;
 # with external usb devices not showing up&lt;br /&gt;
 #&lt;br /&gt;
 softdep uhci_hcd pre: ohci_hcd&lt;br /&gt;
&lt;br /&gt;
=== gvfs-mtp ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|gvfs-mtp}} パッケージをインストールしても、デバイスがファイルマネージャに表示されない場合、デバイスが自動マウントされるように udev ルールを書く必要があるかもしれません。&lt;br /&gt;
&lt;br /&gt;
デバイスを接続して、vendor-id と product-id をそれぞれ取得してください:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
 Bus 001 Device 007: ID 0421:0661 Nokia Mobile Phones Lumia 920&lt;br /&gt;
 (...)&lt;br /&gt;
&lt;br /&gt;
ID の文字の後の2つの数字が &#039;&#039;vendorID&#039;&#039; : &#039;&#039;productID&#039;&#039; です。&lt;br /&gt;
&lt;br /&gt;
ID がわかったら udev ルールを作成します。例:&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/udev/rules.d/51-android.rules&lt;br /&gt;
&lt;br /&gt;
ルールの中身は以下のようにしてください:&lt;br /&gt;
&lt;br /&gt;
 ATTR{idVendor}==&amp;quot;YOUR VENDOR ID HERE&amp;quot;, ATTR{idProduct}==&amp;quot;YOUR PRODUCT ID HERE&amp;quot;, SYMLINK+=&amp;quot;libmtp&amp;quot;,  MODE=&amp;quot;660&amp;quot;, ENV{ID_MTP_DEVICE}=&amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
udev ルールをリロードします:&lt;br /&gt;
&lt;br /&gt;
 # udevadm control --reload&lt;br /&gt;
&lt;br /&gt;
そしてシステムを再起動してください。これで (Thunar などの) ファイルマネージャは MTP デバイスを自動でマウントできるようになったはずです [https://bbs.archlinux.org/viewtopic.php?id=180719]。&lt;br /&gt;
&lt;br /&gt;
=== kio-mtp ===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ファイルマネージャで開く&amp;quot;が使えない場合は、{{ic|/usr/share/apps/solid/actions/solid_mtp.desktop}} ファイルを編集することで問題を解決できます。&lt;br /&gt;
&lt;br /&gt;
次の行を:&lt;br /&gt;
 Exec=kioclient exec mtp:udi=%i/&lt;br /&gt;
以下のように変更してください:&lt;br /&gt;
 Exec=dolphin &amp;quot;mtp:/&amp;quot;&lt;/div&gt;</summary>
		<author><name>Ootaharuki99</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Fcitx&amp;diff=6024</id>
		<title>Fcitx</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Fcitx&amp;diff=6024"/>
		<updated>2016-10-05T12:50:39Z</updated>

		<summary type="html">&lt;p&gt;Ootaharuki99: スキンについて言及&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:国際化]]&lt;br /&gt;
[[en:Fcitx]]&lt;br /&gt;
[[zh-CN:Fcitx]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|IBus}}&lt;br /&gt;
{{Related|SCIM}}&lt;br /&gt;
{{Related2|uim を使って日本語を入力|UIM}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[https://fcitx-im.org/wiki/Fcitx Fcitx] (Flexible Input Method Framework) は Linux に環境非依存の言語サポートを提供する[[Wikipedia:ja:インプットメソッド|インプットメソッドフレームワーク]]です。多くの言語をサポートし便利な non-CJK 機能が含まれています。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
{{Pkg|fcitx}} は [community] リポジトリから [[Pacman]] でインストールできます。&lt;br /&gt;
&lt;br /&gt;
本体の他に、GTK+ や Qt アプリケーションで使うための[[#設定|インプットメソッドモジュール]]をインストールすると良いでしょう。&lt;br /&gt;
&lt;br /&gt;
=== インプットメソッドエンジン ===&lt;br /&gt;
&lt;br /&gt;
入力したい言語にあわせて、インプットメソッドエンジンをインストールしてください:&lt;br /&gt;
&lt;br /&gt;
====日本語====&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|fcitx-anthy}}: 人気の日本語入力エンジン。開発は停止しています。&lt;br /&gt;
* {{Pkg|fcitx-mozc}}: Google 日本語入力のオープンソース版である [[Mozc]] がベース。&lt;br /&gt;
* {{Pkg|fcitx-kkc}}: {{Pkg|libkkc}} がベースの新しい日本語仮名漢字入力エンジン。&lt;br /&gt;
* {{Pkg|fcitx-skk}}: {{Pkg|libskk}} がベースの日本語仮名漢字入力エンジン。&lt;br /&gt;
&lt;br /&gt;
==== 他の言語 ====&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|fcitx-sunpinyin}}: {{Pkg|sunpinyin}} がベース。速度と正確性のバランスが良い。&lt;br /&gt;
* {{Pkg|fcitx-libpinyin}}: {{Pkg|libpinyin}} がベース。素晴らしいアルゴリズムを持っていますがバグが存在し、辞書が欠けています。&lt;br /&gt;
* {{Pkg|fcitx-googlepinyin}}: {{Pkg|libgooglepinyin}} がベース。Android 用の Google ピンイン IME。&lt;br /&gt;
* {{AUR|fcitx-sogoupinyin}}: Linux 向けの捜狗インプットメソッド。同音異字、クラウド入力、英語入力、混合入力をサポート。&lt;br /&gt;
* {{Pkg|fcitx-cloudpinyin}}: クラウドによる中国語入力をサポート。&lt;br /&gt;
* {{Pkg|fcitx-chewing}}: {{Pkg|libchewing}} がベースの繁体字の注音入力エンジン。&lt;br /&gt;
* {{Pkg|fcitx-table-extra}}: [[Wikipedia:ja:倉頡輸入法|倉頡]], [[Wikipedia:Zhengma_method|郑码]], [[Wikipedia:Boshiamy_method|嘸蝦米]]サポートを追加。&lt;br /&gt;
* {{Pkg|fcitx-rime}}: [[Rime IME]] プロジェクトのスキーマがベース。&lt;br /&gt;
* {{Pkg|fcitx-hangul}}: {{Pkg|libhangul}} がベースの韓国語のハングル入力エンジン。&lt;br /&gt;
* {{Pkg|fcitx-unikey}}: ベトナム文字入力エンジン。&lt;br /&gt;
* {{Pkg|fcitx-sayura}}: シンハラ文字入力エンジン。&lt;br /&gt;
* {{Pkg|fcitx-m17n}}: [http://www.nongnu.org/m17n/ M17n] によって提供されている他の言語の入力エンジン。&lt;br /&gt;
&lt;br /&gt;
==== その他 ====&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|fcitx-ui-light}}: fcitx の軽量 UI。&lt;br /&gt;
* {{Pkg|fcitx-fbterm}}: Fbterm のサポート。&lt;br /&gt;
* {{Pkg|fcitx-table-other}}: Latex, 絵文字など。&lt;br /&gt;
&lt;br /&gt;
他のパッケージは [[AUR]] からインストールできます。fcitx のコンポーネントをインストールした後は fcitx の再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
===スキン===&lt;br /&gt;
fcitx にはスキンで外観をカスタマイズする機能があり、標準では dark, classic, default の3つのスキンのみが提供されています。&lt;br /&gt;
&lt;br /&gt;
しかしながら、いくつかの追加スキンが [[AUR]] からインストールできます。以下はその一部です:&lt;br /&gt;
&lt;br /&gt;
* {{AUR|fcitx-skin-material}}: マテリアルデザイン風の fcitx スキン。&lt;br /&gt;
* {{AUR|fcitx-skins}}: 8個のスキンを含んだリッチなパッケージ。&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
Fcitx は GUI の設定ツールを提供しています。[[Arch User Repository|AUR]] から {{Pkg|kcm-fcitx}} (kcm ベース), {{Pkg|fcitx-configtool}} (gtk3 ベース), {{AUR|fcitx-configtool-gtk2}} (gtk2 ベース、サポートなし) のどれかをインストールできます。&lt;br /&gt;
&lt;br /&gt;
Fcitx は手動設定をサポートしていません。&lt;br /&gt;
&lt;br /&gt;
=== GTK+ と Qt モジュール ===&lt;br /&gt;
&lt;br /&gt;
gtk や qt のプログラムでより良いエクスペリエンスを得たり、(特に gtk の方で) xim によって生じる未解決の問題・バグを除くために、gtk や qt の適切なインプットメソッドモジュールをインストールしてください: {{Pkg|fcitx-gtk2}} (gtk2), {{Pkg|fcitx-gtk3}} (gtk3), {{Pkg|fcitx-qt4}} (qt4), {{Pkg|fcitx-qt5}} (qt5)。次のコマンドを実行することで4つのパッケージをインストールできます (fcitx-qt5 はあまり使われていないので含まれていません):&lt;br /&gt;
&lt;br /&gt;
 # pacman -S fcitx-im&lt;br /&gt;
&lt;br /&gt;
Fcitx を使う前に、環境変数をいくつか設定する必要があります。設定はとても簡単です。&lt;br /&gt;
&lt;br /&gt;
以下の行をデスクトップのスタートアップスクリプトファイル (KDM, GDM, LightDM, SDDM を使っている場合は {{ic|.xprofile}} もしくは {{ic|.profile}}、startx や Slim を使っている場合は {{ic|.xinitrc}}) に追加してください。この設定で、fcitx は gtk/qt のインプットメソッドモジュールを使うようになり xim プログラムをサポートします (必要なインプットメソッドモジュールがすでにインストールされているか確認してください):&lt;br /&gt;
&lt;br /&gt;
 export GTK_IM_MODULE=fcitx&lt;br /&gt;
 export QT_IM_MODULE=fcitx&lt;br /&gt;
 export XMODIFIERS=@im=fcitx&lt;br /&gt;
&lt;br /&gt;
{{Warning|上記の設定を {{ic|.bashrc}} でしないでください。{{ic|.bashrc}} はインタラクティブな bash セッションを初期化するときに使われます。インタラクティブでないセッションや X セッションの初期化では用いられません。さらに、{{ic|.bashrc}} で環境変数を設定すると、コマンドラインから実行した診断ツールに誤解を与えて、X セッションでは環境変数が使われていないのに正しく設定されているかのように表示されることがあります。}}&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* 上の設定で動かないときは {{ic|1=export DefaultIMModule=fcitx}} を追加してみて下さい。&lt;br /&gt;
* Fcitx で全ての Qt アプリに問題が発生する場合、qtconfig (qtconfig-qt4) を起動して、3番目のタブを開いて、&amp;quot;Default Input Method&amp;quot; コンボボックスに fcitx があることを確認してください。&lt;br /&gt;
* 現在、Qt5 アプリケーション + fcitx を使用する場合、上記の環境変数を {{ic|.bashrc}} ファイルにも追加しないと動作しないという報告があります (Plasma 5 を startx した場合や、gnome-shell で qt5 アプリケーションを起動した場合)。}}&lt;br /&gt;
&lt;br /&gt;
変更を適用するためにログインしなおしてください。&lt;br /&gt;
&lt;br /&gt;
=== Xim ===&lt;br /&gt;
&lt;br /&gt;
任意で、gtk や qt のプログラムで xim を使うように設定することも可能で、その場合上の行を以下のように変更してください:&lt;br /&gt;
&lt;br /&gt;
  export GTK_IM_MODULE=xim&lt;br /&gt;
  export QT_IM_MODULE=xim&lt;br /&gt;
&lt;br /&gt;
{{Warning|xim を使用するとインプットメソッドによって、入力ができなくなったりインプットメソッドを再起動するとアプリケーションがフリーズするなどの問題がおこることがあります。xim 関連の問題に対しては Fcitx は修正やサポートを提供できません。これは他のインプットメソッドフレームワークでも同じで、可能な限り xim ではなく ツールキット (gtk/qt) のインプットメソッドモジュールを使って下さい。}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Gtk2 は 2.24.20 から immodule のキャッシュファイルとして {{ic|/usr/lib/gtk-2.0/2.10.0/immodules.cache}} を使っています。{{ic|GTM_IM_MODULE_FILE}} 環境変数を設定していたり公式パッケージの install スクリプトを使ってキャッシュを更新していない場合、環境変数を変更・削除して {{ic|/usr/bin/gtk-query-immodules-2.0 --update-cache}} を使って immodule キャッシュを更新してください。}}&lt;br /&gt;
&lt;br /&gt;
変更を適用するためにログインしなおしてください。&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
&lt;br /&gt;
=== デスクトップ環境 ===&lt;br /&gt;
&lt;br /&gt;
[[KDE]], [[GNOME]], [[Xfce]], [[LXDE]] などの XDG 互換のデスクトップ環境を使っている場合は、再ログインで自動的に起動するようになるはずです。起動しないときは、ターミナルを開いて次のように入力してください:&lt;br /&gt;
&lt;br /&gt;
 $ fcitx&lt;br /&gt;
&lt;br /&gt;
fcitx が正しく動作しているか確認するために、leafpad といったアプリケーションを開いて CTRL+Space (インプットメソッドの切り替えのデフォルトのショートカット) を押して FCITX を呼び出しなにか文字を入力してみて下さい。&lt;br /&gt;
&lt;br /&gt;
Fcitx があなたの環境で自動で起動しない場合や fctix を起動するパラメータを変更したい場合は、デスクトップ環境によって提供されているツールを使って xdg の自動起動を設定するか {{ic|~/.config/autostart/}} ディレクトリ内の {{ic|fcitx-autostart.desktop}} ファイルを編集してください (存在しないときは {{ic|/etc/xdg/autostart/}} からコピーしてください)。&lt;br /&gt;
&lt;br /&gt;
デスクトップ環境が xdg 自動起動をサポートしていない場合は、(環境変数を正しく設定した後に) 次の行をスタートアップスクリプトに追加してください:&lt;br /&gt;
&lt;br /&gt;
 $ fcitx&lt;br /&gt;
&lt;br /&gt;
xim サポートのある他のインプットメソッドが動作していると、Fcitx は xim エラーで起動できません。Fcitx を起動する前に他のインプットメソッドが動いていないことを確認してください。&lt;br /&gt;
&lt;br /&gt;
==デスクトップ環境の統合==&lt;br /&gt;
&lt;br /&gt;
===キーボードレイアウトの統合===&lt;br /&gt;
現在 fcitx-keyboard が初めからサポートされています。設定ツールを開き (上述の {{Pkg|kcm-fcitx}} もしくは {{Pkg|fcitx-configtool}})、&amp;quot;Show only current language&amp;quot; のチェックを外してあなたのキーボードにあったレイアウトを探して下さい。&lt;br /&gt;
&lt;br /&gt;
スペルチェックを有効にするには、fcitx が fcitx-keyboard によるインプットメソッドを使っている時に ctrl + alt + h を押して下さい。長い単語を入力すれば、動いているかどうか確認できます。&lt;br /&gt;
&lt;br /&gt;
===Gnome-Shell===&lt;br /&gt;
&lt;br /&gt;
extensions.gnome.org や [[Arch User Repository|AUR]] の {{AUR|gnome-shell-extension-kimpanel-git}} パッケージから kimpanel をインストールでき、ibus-gjs と同じように使うことができます。&lt;br /&gt;
&lt;br /&gt;
GNOME はありとあらゆるインプットメソッドを破壊しようとするため、Fcitx を使うために、gnome-control-center から全ての入力ソースとインプットメソッドのホットキーを削除してから次のコマンドを実行して iBus との統合を無効にする必要があります:&lt;br /&gt;
 $ gsettings set org.gnome.settings-daemon.plugins.keyboard active false&lt;br /&gt;
&lt;br /&gt;
===KDE===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|kcm-fcitx}} や {{Pkg|kdeplasma-addons-applets-kimpanel}} をインストールできます。&lt;br /&gt;
&lt;br /&gt;
{{Pkg|kcm-fcitx}} は fcitx の kcontrol モジュールです。&lt;br /&gt;
&lt;br /&gt;
{{Pkg|kdeplasma-addons-applets-kimpanel}} は kde と統合するための plasmoid です。kimpanel を plasma に追加すれば fcitx は自動的に切り替えます。&lt;br /&gt;
&lt;br /&gt;
==クリップボード==&lt;br /&gt;
fcitx を使ってクリップボード (とクリップボード履歴) にある文章を入力することが可能です。デフォルトのトリガーキーは Control-; です。このトリガーキーはクリップボードのアドオンの設定ページにある他のオプションと同じように設定することが可能です。&lt;br /&gt;
&lt;br /&gt;
{{Note|クリップボードマネージャではないため、クリップボードマネージャにあるような中身の選択や変更はできません。クリップボードからの入力にだけ使えます。}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|クライアントによっては複数行の入力をサポートしていないため fcitx-clipboard を使ってクリップボードの中身をペーストすると一行しか出ないことがあります。これはバグかプログラムの方の入力の問題なので fcitx は何もできません。}}&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
=== 問題の診断 ===&lt;br /&gt;
fcitx を使っていて問題が発生する場合、例えばどのアプリケーションでも Ctrl+Space が使えないなどのことが起こるときは、{{ic|fcitx-diagnose}} を使ってまず問題を診断してみてください。{{ic|fcitx-diagnose}} はよくある問題についての手がかりを提供してくれます。また、(IRC やフォーラムなどで) 他の人に相談するときはコマンドの出力を貼り付けると役に立つはずです。&lt;br /&gt;
&lt;br /&gt;
===Emacs===&lt;br /&gt;
{{ic|LC_CTYPE}} が英語の場合、emacs のバグによって emacs でインプットメソッドが使えなくなることがあります。emacs を起動する前に {{ic|ja_JP.UTF-8}} など {{ic|LC_CTYPE}} を他の値に設定することで問題を回避できます。&lt;br /&gt;
&lt;br /&gt;
使用するロケールは有効である必要があります。{{ic|/etc/locale.gen}} を編集して適当な行 (例: {{ic|ja_JP.UTF-8}}) をアンコメントし、{{ic|locale-gen}} を実行してください。&lt;br /&gt;
&lt;br /&gt;
[[Emacs#デーモンとして|emacs デーモン/クライアントモード]]を使う場合、デーモンの起動時に {{ic|LC_CTYPE}} を設定してください。例えば {{ic|1=LC_CTYPE=ja_JP.UTF-8 emacs --daemon}} というコマンドを使って emacs デーモンを起動します。&lt;br /&gt;
&lt;br /&gt;
デフォルトのフォントセットはベースフォントとして {{ic|-*-*-*-r-normal--14-*-*-*-*-*-*-*}} を使います (src/xfns.c)。マッチするフォント (terminus や 75dpi など、{{ic|xlsfonts}} の出力を見て下さい) がない場合、XIM は有効になりません。&lt;br /&gt;
&lt;br /&gt;
===インプットメソッドモジュール===&lt;br /&gt;
ほとんどのプログラムではインプットメソッドモジュールがなくてもインプットメソッドを使うことができますが、その場合、未解決の問題が発生する可能性があります。&lt;br /&gt;
&lt;br /&gt;
バージョン 13 以降の firefox では、ポップアップメニューが xim にとって機能しなくなります。fcitx-gtk2 と最新の fcitx をインストールしてください。&lt;br /&gt;
&lt;br /&gt;
===Ctrl+Space が GTK のプログラムで機能しない===&lt;br /&gt;
&lt;br /&gt;
ロケールを英語に設定しているとこの問題が発生することがあります。GTK_IM_MODULE が正しく設定されているか確認してください。&lt;br /&gt;
&lt;br /&gt;
参照: [http://fcitx-im.org/wiki/FAQ#When_use_Ctrl_.2B_Space.2C_Fcitx_cannot_be_triggered_on FAQ]&lt;br /&gt;
&lt;br /&gt;
*_IM_MODULE 環境変数を設定していても fcitx が有効にできない場合は、適切なインプットメソッドモジュールをインストールしているか確認してください。&lt;br /&gt;
&lt;br /&gt;
プログラムによっては xim しか使わないため、そうしたプログラムを使っているときは、XMODIFIERS が正しく設定されているか確認してください。プログラムの例: gtk や qt を使わないプログラム全て (例: tk や motif、もしくは xlib を直接使っているプログラム), emacs, opera, openoffice, libreoffice, skype。&lt;br /&gt;
&lt;br /&gt;
gnome の gnome-terminal で fcitx が有効にできず、上の方法で効果がない場合は、以下のコマンドを試してみて下さい:&lt;br /&gt;
&lt;br /&gt;
 $ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides &amp;quot;{&#039;Gtk/IMModule&#039;:&amp;lt;&#039;fcitx&#039;&amp;gt;}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== 内蔵の Chinese Pinyin がデフォルトで有効にならない ===&lt;br /&gt;
&lt;br /&gt;
ロケールが {{ic|en_US.UTF-8}} である場合、fcitx は内蔵の Chinese Pinyin インプットメソッドをデフォルトで有効にしません。{{ic|fcitx-keyboard-us}} インプットメソッドだけが有効にされます。{{ic|fcitx-diagnose}} コマンドを実行すると以下のように表示されます:&lt;br /&gt;
&lt;br /&gt;
    ## Input Methods:&lt;br /&gt;
        1.  Found 1 enabled input methods:&lt;br /&gt;
                fcitx-keyboard-us&lt;br /&gt;
        2.  Default input methods:&lt;br /&gt;
            **You only have one input method enabled, please add a keyboard input method as the first one and your main input method as the second one.**&lt;br /&gt;
&lt;br /&gt;
GUI の設定ツールで {{ic|Pinyin}} や {{ic|Shuangpin}} インプットメソッドを追加してインプットメソッドが有効にしてください。&lt;br /&gt;
&lt;br /&gt;
=== fcitx と KDE ===&lt;br /&gt;
&lt;br /&gt;
何らかの理由で、[[KDE]] がキーボードレイアウトを適切に扱えないことがあります。例えば、US (English) から LT (Lithuanian) に切り替えた場合、キーボードの数字キーは全てリトアニア文字になるはずですが、数字が出力されてしまいます。以下の手順で修正することが可能です:&lt;br /&gt;
&lt;br /&gt;
# [[#KDE|上のセクション]]で書かれているパッケージをインストールしてください。&lt;br /&gt;
# バックグラウンドで {{ic|fcitx}} を動かしている場合は終了してください。&lt;br /&gt;
# KDE に関連することを無効にします:&lt;br /&gt;
## &#039;&#039;System settings --&amp;gt; Input devices --&amp;gt; Layouts (tab)&#039;&#039; から &amp;quot;Configure layouts&amp;quot; のチェックを外して下さい。&lt;br /&gt;
## &#039;&#039;System settings --&amp;gt; Input devices --&amp;gt; Advanced (tab)&#039;&#039; から &amp;quot;Configure keyboard options&amp;quot; のチェックを外して下さい。&lt;br /&gt;
# ターミナルを開いて {{ic|fcitx}} と入力して fcitx を起動します。ターミナルは閉じてもかまいません。{{ic|fcitx}} はバックグラウンドで動作し続けます。&lt;br /&gt;
# 必要なレイアウトを設定してください (システムトレイアイコンを右クリックして &amp;quot;Configure&amp;quot; をクリック)。&lt;br /&gt;
# システムトレイアイコンを右クリックして、&amp;quot;Exit&amp;quot; をクリック。&lt;br /&gt;
&lt;br /&gt;
これでレイアウトがちゃんと使えるようになるはずです。KDE のレイアウト切り替えrアイコンが表示され、マウススクロールしたりアイコンをクリックすることでレイアウトを切り替えられます。&lt;br /&gt;
&lt;br /&gt;
=== 勝手にインプットメソッドが英語に切り替わってしまう ===&lt;br /&gt;
&lt;br /&gt;
XMind でエンターを押してノードを作成したときなど、インプットメソッドが勝手に英語に切り替わってしまって、元のインプットメソッドに手動で戻さなくてはならないことがあります。&lt;br /&gt;
&lt;br /&gt;
この問題を修正するには、fcitx の GUI 設定ツール ({{Pkg|fcitx-configtool}} に含まれています) を開いて、&amp;quot;Global Config&amp;quot; タブの &amp;quot;Share State Among Window&amp;quot; ドロップダウンメニューから、&amp;quot;PerProgram&amp;quot; または &amp;quot;All&amp;quot; を選択してください。&lt;br /&gt;
&lt;br /&gt;
==参照==&lt;br /&gt;
*[https://github.com/fcitx/fcitx/ Fcitx GitHub]&lt;br /&gt;
*[http://fcitx-im.org/ Fcitx Wiki]&lt;/div&gt;</summary>
		<author><name>Ootaharuki99</name></author>
	</entry>
</feed>