https://wiki.archlinux.jp/api.php?action=feedcontributions&user=Kuuote&feedformat=atom
ArchWiki - 利用者の投稿記録 [ja]
2024-03-29T06:10:58Z
利用者の投稿記録
MediaWiki 1.34.0
https://wiki.archlinux.jp/index.php?title=USB_%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2&diff=34212
USB インストールメディア
2023-10-08T02:39:14Z
<p>Kuuote: fix typo</p>
<hr />
<div>[[Category:Arch の入手とインストール]]<br />
[[de:Installation von einem USB-Stick]]<br />
[[en:USB flash installation medium]]<br />
[[es:USB flash installation medium]]<br />
[[fr:USB flash installation medium]]<br />
[[pt:USB flash installation medium]]<br />
[[ru:USB flash installation medium]]<br />
[[tr:USB flash installation medium]]<br />
[[zh-hans:USB flash installation medium]]<br />
{{Related articles start}}<br />
{{Related|光学ディスクドライブ}}<br />
{{Related|Archiso}}<br />
{{Related|マルチブート USB ドライブ}}<br />
{{Related articles end}}<br />
このページでは Arch Linux のインストーラーを USB ドライブ (別名: ''"フラッシュドライブ", "USB スティック", "USB キー"'' など) に書き込む様々な方法を記述します。[[Wikipedia:ja:Live USB|Live USB]] ([[Wikipedia:ja:Live CD|Live CD]] ライクな)システムは Arch Linux のインストールやシステムメンテナンス、システムの回復に使用できます。{{ic|/}} に [[Overlayfs]] を使うので、コンピュータを一度シャットダウンすると、すべての変更は破棄されます。<br />
<br />
USB ドライブからの Arch Linux のフルインストールをしたい場合 (すなわち永続的な設定もする場合) は、[[リムーバブルメディアに Arch Linux をインストール]] を参照してください。ブータブル Arch Linux USB スティックをレスキュー USB として使いたい場合は、[[chroot]] を参照してください。<br />
<br />
以下の手順に進む前に、https://archlinux.org/download/ ([https://www.archlinux.jp/download/ 日本語版ページ]) から ISO をダウンロードし、[[インストールガイド#署名の検証|ファイルの整合性を検証]]してください。<br />
<br />
== ISO をそのまま使う (BIOS と UEFI) ==<br />
<br />
{{Warning|以下は USB フラッシュドライブ上の全データを不可逆的に削除するため、以下のことを行う前にフラッシュドライブ上に重要なファイルが残っていないことを確認してください。}}<br />
<br />
{{Note|ISO を USB フラッシュドライブや SD カードではなく、ハードディスクドライブやソリッドステートドライブに書き込みたい場合、ドライブの論理セクタサイズが 2048 バイト ([[Wikipedia:ja:ISO 9660|ISO 9660]] のセクタサイズ) 以下であり、かつそのサイズにアライメントされていることを確認してください。これはつまり、この ISO はこの方法を使って 4Kn [[Advanced Format]] ドライブに書き込むことはできないことを意味します。}}<br />
<br />
=== GNU/Linux で ===<br />
<br />
==== 基本的なコマンドラインユーティリティを使う ====<br />
<br />
以下のツールは {{Pkg|coreutils}} ({{Pkg|base}} [[メタパッケージ]]によってインストールされます) であるため、この方法はシンプルで汎用性があり、おすすめできます。<br />
<br />
{{ic|ls -l /dev/disk/by-id/usb-*}} を実行して USB ドライブの名前を調べ、{{ic|lsblk}} を実行してそのドライブがマウント'''されていない'''ことを確認してください。<br />
<br />
以下のコマンドを実行する際、{{ic|/dev/disk/by-id/usb-''My_flash_drive''}} の部分はあなたのドライブに合わせて変更してください (例: {{ic|/dev/disk/by-id/usb-Kingston_DataTraveler_2.0_408D5C1654FDB471E98BED5C-0:0}})。(パーティション番号を'''付けないでください'''。つまり、{{ic|/dev/disk/by-id/usb-Kingston_DataTraveler_2.0_408D5C1654FDB471E98BED5C-0:0'''-part1'''}} や {{ic|/dev/sdb'''1'''}} のようにしては'''いけません'''):<br />
<br />
* {{man|1|cat}} を使う: {{bc|# cat ''path/to/''archlinux-''version''-x86_64.iso > /dev/disk/by-id/usb-''My_flash_drive''}}<br />
* {{man|1|cp}} を使う: {{bc|# cp ''path/to/''archlinux-''version''-x86_64.iso /dev/disk/by-id/usb-''My_flash_drive''}}<br />
* [[dd]] を使う: {{bc|1=# dd bs=4M if=''path/to/''archlinux-''version''-x86_64.iso of=/dev/disk/by-id/usb-''My_flash_drive'' conv=fsync oflag=direct status=progress}}<br />
* [[tee]] を使う: {{bc|# tee < ''path/to/''archlinux-''version''-x86_64.iso > /dev/disk/by-id/usb-''My_flash_drive''}}<br />
* {{Pkg|pv}} を使う: {{bc|# pv ''path/to/''archlinux-''version''-x86_64.iso > /dev/disk/by-id/usb-''My_flash_drive''}}<br />
<br />
これらのツールの比較と観点、そしてなぜ ''dd'' があまり使われないのかについては、[https://unix.stackexchange.com/questions/224277/is-it-better-to-use-cat-dd-pv-or-another-procedure-to-copy-a-cd-dvd/224314#224314] と [https://www.vidarholen.net/contents/blog/?p=479] を見てください。<br />
<br />
{{Tip|<br />
* コマンドを実行した後に {{ic|sync}} を root 権限で実行することで、ドライブを抜く前にバッファが完全に書き込まれることを保証できます。<br />
* USB の Arch ISO の UEFI バージョンがハングする場合やロードできない場合、メディアの作成手順を同じ USB ドライブで複数回繰り返してみてください。これでうまく行かない場合、マザーボードのファームウェアをアップデートしてみると良いかもしれません。}}<br />
<br />
{{Note|Arch ISO イメージを書き込んだ USB ドライブを空の使用可能なストレージデバイスに戻すには、その USB ドライブを[[パーティショニング|再パーティショニング]]したり[[フォーマット|再フォーマット]]したりする前に、{{ic|wipefs --all /dev/disk/by-id/usb-''My_flash_drive''}} を root として実行して、ISO 9660 ファイルシステムシグネチャを削除する必要があります。}}<br />
<br />
==== GNOME Disk Utility を使う ====<br />
<br />
GNOME を使っている Linux ディストリビューションなら {{Pkg|nautilus}} と {{Pkg|gnome-disk-utility}} を使うことで簡単にライブ CD が作成できます。{{ic|.iso}} ファイルを右クリックして、 "Open With Disk Image Writer" を選択してください。GNOME Disk Utility が開いたら、"Destination" ドロップダウンメニューからフラッシュドライブを選択して "Start Restoring" をクリックしてください。<br />
<br />
==== MultiWriter を使う ====<br />
<br />
{{pkg|gnome-multi-writer}} は、ISO ファイルを複数の USB デバイスに一度に書き込める、シンプルな [[GTK]]3 ベースのグラフィカルツールです。<br />
<br />
==== Kindd を使う ====<br />
<br />
[https://github.com/LinArcX/Kindd Kindd] は、dd の Qt ベースグラフィカルフロントエンドです。{{AUR|kindd}} で利用できます。<br />
<br />
==== Popsicle を使う ====<br />
<br />
[https://github.com/pop-os/popsicle Popsicle] は、ISO ファイルを複数の USB デバイスに並列で書き込むためのツールで、PopOS 開発チームにより作成されました。Rust で記述されており、GTK を使用します。{{AUR|popsicle}} で利用可能です。<br />
<br />
==== SUSE Studio ImageWriter を使う ====<br />
<br />
[https://github.com/openSUSE/imagewriter SUSE Studio ImageWriter] は、OpenSUSE 開発チームにより作成された、Qt ベースのツールです。{{AUR|imagewriter}} で利用可能です。<br />
<br />
==== xorriso-dd-target を使う ====<br />
<br />
({{Pkg|libisoburn}} の) [https://dev.lovelyhq.com/libburnia/libisoburn/raw/master/xorriso-dd-target/xorriso-dd-target xorriso-dd-target] は、間違ったストレージデバイスへの上書きリスクの軽減を試みるシェルスクリプトです。最も安全なモードは {{ic|-plug_test}} という名前です。例えば、[[sudo]] を使って root に昇格できる通常ユーザとしてこのツールを使うには:<br />
<br />
$ xorriso-dd-target -with_sudo -plug_test -DO_WRITE -image_file archlinux-''version''-x86_64.iso<br />
<br />
詳細は {{man|1|xorriso-dd-target}} を見てください。<br />
<br />
==== USBImager を使う ====<br />
<br />
[https://gitlab.com/bztsrc/usbimager/ USBImager] は、圧縮ディスクイメージを USB ドライブに書き込んだり、検証したり、バックアップを作成したりする、マルチプラットフォームのグラフィカルアプリケーションです。{{AUR|usbimager}} で利用できます。<br />
<br />
=== Windows で ===<br />
<br />
==== win32diskimager を使う ====<br />
<br />
[https://sourceforge.net/projects/win32diskimager/ win32diskimager] は、Windows からイメージを USB スティックや SD/CF カードに書き込むためのグラフィカルツールです。ISO イメージを選択して、書き込み先の USB ドライブ文字を選択し (先にフォーマットする必要があります)、''Write'' をクリックしてください。<br />
<br />
==== USBwriter を使う ====<br />
<br />
Linux の {{ic|dd}} と同じように簡単に使うことができます。Arch Linux の ISO をダウンロードして、管理者権限で [https://sourceforge.net/p/usbwriter/wiki/Documentation/ USBwriter] ユーティリティを使って USB フラッシュメモリに書き込むだけです。<br />
<br />
==== USBImager を使う ====<br />
<br />
[https://gitlab.com/bztsrc/usbimager/ USBImager] は、圧縮ディスクイメージを USB ドライブに書き込んだり、検証したり、バックアップを作成したりする、マルチプラットフォームのグラフィカルアプリケーションです。<br />
<br />
==== Rufus を使う ====<br />
<br />
[https://rufus.akeo.ie/ Rufus] は多目的の USB ISO 書き込みツールです。このツールはグラフィカルな UI を提供し、ドライブが正しくフォーマットされているかどうかを気にしません。<br />
<br />
単に Arch Linux の ISO と、ブータブルな Arch Linux を作成したい USB ドライブを選択し、''START'' をクリックするだけです。<br />
<br />
{{Note|デフォルトの ISO イメージモードを使って作成した USB ドライブが正しく起動しない場合、'''DD イメージモード'''を代わりに使用する必要があります。モードを切り替えるには、''パーティション構成'' ドロップダウンメニューから ''GPT'' を選択してください。''START'' をクリックしたあとに、モード選択のダイアログが表示されるので、''DD イメージモード''を選択してください。}}<br />
<br />
{{Tip|[https://github.com/pbatard/rufus/issues/691 永続的なデータ保存のための追加パーティション]を追加するには、保存領域のサイズを選択するためのスライダーを使ってください。永続的なパーティションの機能を使う際は、''パーティション構成''ドロップダウンメニューで ''MBR'' を選択して、''ターゲットシステム''で ''BIOS または UEFI'' を選択してください。さもないと、ドライブは BIOS と UEFI ので両方で使用できなくなります。}}<br />
<br />
==== Cygwin を使う ====<br />
<br />
[https://www.cygwin.com/ Cygwin] をインストールするときに {{ic|dd}} パッケージを選択してください。<br />
<br />
イメージファイルをホームディレクトリに置いてください:<br />
<br />
C:\cygwin\home\''User''\<br />
<br />
管理者として cygwin を実行します (cygwin からのハードウェアへのアクセスが必要です)。次のコマンドで USB ドライブに書き込みます:<br />
<br />
dd if=archlinux-''version''-x86_64.iso of=\\.\''x'': bs=4M<br />
<br />
{{ic|archlinux-''version''-x86_64.iso}} の部分は {{ic|cygwin}} ディレクトリ内にある iso イメージファイルへのパスです。{{ic|\\.\''x'':}} の部分は USB フラッシュドライブで、{{ic|''x''}} は windows が決めた文字になります、例: {{ic|\\.\d:}}。<br />
<br />
cygwin 6.0 では正しいパーティションを見つけてください:<br />
<br />
cat /proc/partitions<br />
<br />
そして出力を見て ISO イメージを焼きこみます。例:<br />
<br />
dd if=archlinux-''version''-x86_64.iso of=/dev/sdb bs=4M<br />
<br />
==== dd for Windows を使う ====<br />
<br />
Windows に対応した GPL ライセンスの dd が http://www.chrysocome.net/dd から利用できます。Cygwin と比べてダウンロード容量は少なくてすみます。使用方法は、上の Cygwin の方法に従って下さい。<br />
<br />
初めに dd for Windows の最新バージョンをダウンロードしてください。ダウンロードが完了したら、圧縮ファイルを {{ic|Downloads}} ディレクトリかどこかに展開してください。<br />
<br />
そして、管理者として ''Command Prompt'' を立ち上げてください。次に、{{ic|Downloads}} ディレクトリにディレクトリを変更 ({{ic|cd}}) してください。<br />
<br />
Arch Linux の ISO は ''dd'' の実行可能ファイルがある場所と同じフォルダに置いた方が便利です、どこか他のところに ISO を置いた場合はフルパスを記述する必要があります。<br />
<br />
使用するコマンドは以下のようになります:<br />
<br />
# dd if=archlinux-''version''-x86_64.iso od=\\.\''x'': bs=4M<br />
<br />
{{Note|Windows のドライブ文字はパーティションに紐付けられています。ディスク全体を選択できるようにするため、''dd for Windows'' には {{ic|od}} パラメータが存在し、上記のコマンドで使用しています。このパラメータが使えるのは ''dd for Windows'' だけであり、他の ''dd'' 実装では存在しないので注意してください。}}<br />
<br />
==== flashnul を使う ====<br />
<br />
[https://github.com/amarao/flashnul/blob/master/README.md flashnul] はフラッシュメモリ(USB-Flash, IDE-Flash, SecureDigital, MMC, MemoryStick, SmartMedia, XD, CompactFlash など)の機能を検証したりメンテナンスしたりするユーティリティです。<br />
<br />
コマンドプロンプトから flashnul を {{ic|-p}} 付きで実行してください。そして、どのデバイスインデックスが、対象の USB ドライブであるかを判断してください。例:<br />
<br />
{{hc|C:\>flashnul -p|<br />
Avaible physical drives:<br />
Avaible logical disks:<br />
C:\<br />
D:\<br />
E:\<br />
}}<br />
<br />
正しいデバイスを見つけたら、デバイスにイメージを書き込むことができます。{{ic|-L}} とデバイスインデックス、イメージへのパスを付けて flashnul を実行してください。例:<br />
<br />
C:\>flashnul '''E:''' -L ''path\to\''archlinux-''version''-x86_64.iso<br />
<br />
データを書き込んでいいと確信しているのであれば yes と入力してください。そして、書き込みが終わるまで少し待ってください。アクセス拒否のエラーが発生した場合、開いているエクスプローラーのウインドウをすべて閉じてください。<br />
<br />
{{Note|コマンドプロンプトは管理者として開いてください。さもないと、flashnul はフラッシュメモリをブロックデバイスとして開くことができず、Windows が提供するドライブハンドルを通してしか書き込むことができません。}}<br />
<br />
=== macOS で ===<br />
<br />
==== macOS dd を使う ====<br />
<br />
まず USB ドライブを確認する必要があります。{{ic|/Applications/Utilities/Terminal}} を開いて以下のコマンドでストレージデバイスを全て確認できます:<br />
<br />
$ diskutil list<br />
<br />
USB デバイスは {{ic|/dev/disk2 (external, physical)}} のように表示されます。名前や容量から消去したいデバイスであることを確認できたら、識別子を使って下のコマンドを実行してください ({{ic|/dev/disk''X''}} を確認できた識別子に置き換えてください)。<br />
<br />
通常 masOS では USB デバイスは自動的にマウントされるため、{{ic|dd}} を使ってブロック単位で書き込む前にアンマウントする必要があります (エジェクトではありません)。ターミナルで、以下を実行:<br />
<br />
$ diskutil unmountDisk /dev/disk''X''<br />
<br />
それから ISO イメージファイルをデバイスにコピーしてください:<br />
<br />
{{Note|<br />
* BSD から継承した {{ic|dd}} (macOS のデフォルトの {{ic|dd}} も含む) は、小文字の {{ic|m}} サフィックスを使います。これは、この記事の他の部分で使用されている GNU {{ic|dd}} とは異なります。<br />
* {{ic|disk}} の前に {{ic|r}} を付けると raw モードになり、転送をより速くすることができます。<br />
* 新しいバージョンの macOS では、dd コマンドは {{ic|1=status=progress}} をサポートしており、進捗状況を表示させることができます。以下のように手動で進捗状況を表示させることも可能です。<br />
}}<br />
<br />
# dd if=''path/to''/archlinux-''version''-x86_64.iso of=/dev/'''r'''disk''X'' bs=1m<br />
<br />
このコマンドは何も出力せずに動きます。進捗を表示させるには、{{ic|Ctrl+t}} を押して SIGINFO を送信してください。{{ic|disk''X''}} には {{ic|s1}} サフィックスを含めるべきではないことに注意してください。さもないと、その USB デバイスは UEFI モードでしか起動できず、レガシーモードでは起動できません。完了すると macOS が ''セットしたディスクは、このコンピュータで読み取れないディスクでした。'' とエラーを吐くことがあります。''無視'' を選択してください。これで USB デバイスはブータブルになります。<br />
<br />
==== USBImager を使う ====<br />
<br />
[https://gitlab.com/bztsrc/usbimager/ USBImager] は、圧縮ディスクイメージを USB ドライブに書き込んだり、検証したり、バックアップを作成したりする、マルチプラットフォームのグラフィカルアプリケーションです。<br />
<br />
=== Android で ===<br />
<br />
==== EtchDroid を使う ====<br />
<br />
[https://etchdroid.depau.eu/ EtchDroid] は、Android のための OS イメージ書き込みツールです。Android 5 以降、root 権限が無くとも動作します。問題が生じた場合は、上流の [https://github.com/EtchDroid/EtchDroid/issues/ GitHub] を確認してください。<br />
<br />
Arch Linux インストーラーを作成するには、ISO イメージを Android デバイス上にダウンロードしてください。(必要であれば USB-OTG アダプタを使って) USB ドライブを Android デバイスに挿入してください。EtchDroid を開き、''Flash raw image'' を選択し、Arch ISO を選択し、USB ドライブを選択してください。USB API の使用許可を付与し、確認してください。<br />
<br />
イメージの書き込み中は携帯を机の上に置いておいてください: 多くの USB-OTG アダプタは少しぐらつくので、間違えて抜けてしまうかもしれません。<br />
<br />
== 手動フォーマットを使う ==<br />
<br />
=== BIOS と UEFI ===<br />
<br />
==== GNU/Linux で ====<br />
<br />
この方法は {{ic|dd}} でイメージを直接書き込むより少し複雑ですが、ドライブをデータストレージとして使える状態のままにすることができます (既存の[[パーティショニング|パーティション分割されたデバイス]]の中のパーティションに ISO をインストールします)。<br />
<br />
{{Note|ここでは、対象のパーティションを {{ic|/dev/disk/by-id/usb-''My_flash_drive''-part''n''}} と表記します。{{ic|''My_flash_drive''}} と {{ic|''n''}} の部分はあなたのシステムに合わせて置き換えてください。}}<br />
<br />
* {{ic|/dev/disk/by-id/usb-''My_flash_drive''}} 上に[[パーティショニング#パーティションテーブル|パーティションテーブル]]を作成してください (まだ作成していないのであれば)。<br />
* デバイス上にパーティションを作成してください(まだ作成していないのであれば)。パーティション {{ic|/dev/disk/by-id/usb-''My_flash_drive''-part''n''}} は [[FAT32]] にフォーマットされていなければなりません。<br />
* USB フラッシュデバイスにあるその FAT32 ファイルシステムをマウントしてください。そして、ISO イメージの内容をそこへ[[アーカイブと圧縮|展開]]してください。例えば:<br />
<br />
# mount /dev/disk/by-id/usb-''My_flash_drive''-part''n'' /mnt<br />
# bsdtar -x -f archlinux-''version''-x86_64.iso -C /mnt<br />
<br />
BIOS ブートを行うには、ファイルが存在しているボリュームを指定する必要があります。デフォルトでは、UUID {{ic|''YYYY-mm-dd-HH-MM-SS''-00}} (適切な UTC のリリース日と時間) が使用されます。{{ic|/mnt/boot/syslinux/archiso_sys-linux.cfg}} 内の {{ic|1=archisodevice=}} パラメータはデバイスの[[永続的なブロックデバイスの命名|永続的なデバイス識別子]]に置き換えてください。例えば: {{ic|1=archisodevice=UUID=''YOUR-UUID''}}。<br />
<br />
{{Note|{{ic|archisolabel}} や {{ic|archisodevice}} を間違えると、作成したメディアから起動できなくなります。}}<br />
<br />
BIOS システム用の [[Syslinux]] のファイルはすでに {{ic|/mnt/boot/syslinux}} へコピーされています。<br />
FAT ファイルシステムを[[ファイルシステム#ファイルシステムのアンマウント|アンマウント]]し、{{Pkg|syslinux}} と {{Pkg|mtools}} を[[インストール]]して、パーティションを起動可能にするために以下のコマンドを実行してください:<br />
<br />
# umount /mnt<br />
# syslinux --directory boot/syslinux --install /dev/disk/by-id/usb-''My_flash_drive''-part''n''<br />
# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/disk/by-id/usb-''My_flash_drive''<br />
<br />
{{Note|<br />
* {{ic|/dev/disk/by-id/usb-''My_flash_drive''}} に [[GPT|GUID パーティションテーブル]]が存在する場合、{{ic|mbr.bin}} は {{ic|gptmbr.bin}} に置き換えてください。詳細は [[Syslinux#手動インストール]] を見てください。<br />
* [[MBR]] パーティションテーブルの場合は、"boot" フラグを設定する必要があります。詳細は [[Syslinux#MBR パーティションテーブル]] を見てください。<br />
}}<br />
<br />
==== Windows で ====<br />
<br />
{{Note|<br />
* UEFI ブータブル USB を作成するのに '''Bootable USB Creator ユーティリティ'''を使ってはいけません。手動フォーマットの場合、USB ドライブに ISO を dd するのに ''dd for Windows'' を使わないで下さい。<br />
* 下のコマンド内の '''X:''' は Windows での USB フラッシュドライブを意味しています。<br />
* Windows はパスを分けるのにバックスラッシュ {{ic|\}} を使っているので、下のコマンドでもバックスラッシュを使っています。<br />
* 全てのコマンドは Windows のコマンドプロンプトで'''管理者として'''実行する必要があります。<br />
* {{ic|>}} は Windows のコマンドプロンプトを示しています。<br />
}}<br />
<br />
* [https://rufus.ie/ Rufus USB partitioner] を使って USB ドライブをパーティショニングし、フォーマットしてください。パーティション構成オプションは '''MBR for BIOS and UEFI''' を、ファイルシステムは '''FAT32''' を選んで下さい。"Create a bootable disk using ISO image" と "Create extended label and icon files" オプションのチェックを外して下さい。<br />
* '''Volume Label''' は好きに設定してください。このステップは公式 ISO ([[Archiso]]) に必要です。このステップは、前の "パーティショニングとフォーマット" のステップで Rufus を使用することでも可能です。<br />
* ISO を (ZIP アーカイブの解凍と同じように) USB フラッシュドライブに [https://www.7-zip.org/ 7-Zip] を使って展開してください。<br />
* {{ic|''X'':\boot\syslinux\archiso_sys-linux.cfg}} を編集して、{{ic|1=archisodevice=UUID=''YYYY-mm-dd-HH-MM-SS''-00}} の部分を全て {{ic|1=archisodevice=LABEl=''YOUR_LABEL''}} に置き換えてください。{{ic|''YOUR_LABEL''}} の部分は、先ほど設定したボリュームラベルです。<br />
* https://www.kernel.org/pub/linux/utils/boot/syslinux/ から最新の公式 syslinux 6.xx バイナリ (zip ファイル) をダウンロードして展開してください。Syslinux のバージョンは ISO イメージで使われているバージョンと合わせてください。<br />
* 以下のコマンドを実行してください (管理者として実行した Windows のコマンドプロンプトで実行):<br />
<br />
> cd bios\<br />
> for /r %Y in (*.c32) do copy "%Y" "''X'':\boot\syslinux\" /y<br />
> copy mbr\*.bin ''X'':\boot\syslinux\ /y<br />
<br />
* 以下を実行して Syslinux を USB にインストールしてください (64ビット版 Windows では {{ic|win64\syslinux64.exe}} を使ってください):<br />
<br />
> cd bios\<br />
> win32\syslinux.exe -d /boot/syslinux -i -a -m ''X'':<br />
<br />
{{Note|<br />
* ただファイルをコピーしただけでは起動可能なデバイスにはなりません。最後のコマンドは、Syslinux のファイルを USB のパーティションの VBR にインストールし、そのパーティションを MBR パーティションテーブル上で "active/boot" に設定し、MBR ブートコードを USB デバイスに書き込みます。<br />
* {{ic|-d}} スイッチには Unix 環境と同じようにスラッシュで区切るパスを使います。<br />
}}<br />
<br />
=== BIOS のみ ===<br />
<br />
==== GNU/Linux で ====<br />
<br />
===== USB-ZIP ドライブの作成 =====<br />
<br />
一部の古い BIOS 環境では、USB-ZIP ドライブからの起動しかサポートされていないことがあります。この方法では USB ハードドライブからの起動を可能とします。<br />
<br />
* {{Pkg|syslinux}} と {{Pkg|mtools}} を[[インストール]]してください。<br />
* {{ic|ls /dev/disk/by-id/usb-*}} で USB ドライブを確認します。<br />
* {{ic|mkdiskimage -4 /dev/disk/by-id/usb-''My_flash_drive'' 0 64 32}} を実行してください。しばらく時間がかかります。<br />
<br />
ここからは手動フォーマットの手順に従ってください。ZIP ドライブのためパーティションは {{ic|/dev/disk/by-id/usb-''My_flash_drive''-part4}} になります。<br />
<br />
{{Note|ドライブを FAT32 でフォーマットしてはいけません。FAT16 のままにしてください。}}<br />
<br />
=== UEFI のみ ===<br />
<br />
UEFI のみでブートさせる場合、FAT でフォーマットされた USB フラッシュドライブへ ISO のコンテンツを展開するだけで十分です。<br />
<br />
ドライブ上に EFI システムパーティションを作成する必要はありません。すべての UEFI (実装) は、USB フラッシュドライブ上の任意の FAT ボリュームから起動できるからです。最も互換性の高いセットアップは、{{ic|0c}} "W95 FAT32 (LBA)" タイプの単一のアクティブ (ブータブル) プライマリパーティションを持つ MBR パーティションテーブルを使用することです。[https://lists.gnu.org/archive/html/grub-devel/2019-05/msg00063.html]<br />
<br />
{{Tip|セキュアブートがカスタムの鍵で設定されている場合、[[セキュアブート#公式の ISO をカスタムの鍵で署名する]] を参照して、どのファイルを署名する必要があるかを確認してください。}}<br />
<br />
==== GNU/Linux で ====<br />
<br />
この方法では、ファイルを ISO イメージから USB フラッシュドライブへ展開します。<br />
<br />
* もしまだなら、[[パーティショニング#パーティションテーブル|パーティションテーブル]]を {{ic|/dev/disk/by-id/usb-''My_flash_drive''}} に作成し、[[パーティション]] をデバイス上の ({{ic|/dev/disk/by-id/usb-''My_flash_drive''-part''n''}}) に作成してください。<br />
* もしまだなら、そのパーティションを [[FAT32]] にフォーマットしてください: {{bc|# mkfs.fat -F 32 /dev/disk/by-id/usb-''My_flash_drive''-part''n''}}<br />
* そのファイルシステムを[[マウント]]してください: {{bc|# mount /dev/disk/by-id/usb-''My_flash_drive''-part''n'' /mnt}}<br />
* そのマウントしたファイルシステムに ISO イメージを展開してください: {{bc|1=# bsdtar -x -f archlinux-''version''-x86_64.iso -C /mnt}}<br />
# ファイルシステムを[[アンマウント]]してください。<br />
<br />
==== Windows で ====<br />
<br />
この方法では、ファイルを ISO イメージから USB フラッシュドライブへコピーします。<br />
<br />
# USB フラッシュドライブをパーティショニングし、FAT32 にフォーマットしてください。<br />
# {{ic|archlinux-''version''-x86_64.iso}} を右クリックし、''マウント''を選択してください。<br />
# 新しく作成した DVD ドライブに移動し、すべてのファイルとフォルダを USB フラッシュドライブにコピーしてください。<br />
# コピーが終わったら、DVD ドライブを右クリックして、''取り出し''を選択してください。<br />
# USB フラッシュドライブを取り出してください。<br />
<br />
==== macOS で ====<br />
<br />
''DiskImageMounter'' と ''Disk Utility'' のどちらも isohybrid ISO をマウントすることはできません。しかし、macOS には ''libarchive'' が同梱されているため、''bsdtar'' を使って ISO をフラッシュドライブに展開することができます。<br />
<br />
# まだ行っていないならば、''Disk Utility'' を使って USB フラッシュドライブをパーティショニングし、そのパーティションを FAT32 でフォーマットしてください。<br />
# そのボリュームをマウントしてください。<br />
# ''Terminal'' アプリケーションを開き、''bsdtar'' を使って ISO イメージを先のマウント済みのファイルシステムに展開してください: {{bc|$ bsdtar -x -f archlinux-''version''-x86_64.iso -C /Volumes/''your-flash-drive''}}<br />
# 終わったら、USB フラッシュドライブをアンマウントし、取り出してください。<br />
<br />
== マルチブート USB ドライブを使う ==<br />
<br />
この方法では archiso を含む複数の ISO をひとつの USB デバイスから起動できるようにします。他の方法よりも既存の USB ドライブを新しい ISO にアップデートするのが簡単です。[[マルチブート USB ドライブ]]を参照してください。<br />
<br />
=== ventoy を使う ===<br />
<br />
[[Ventoy]] は、ISO/WIM/IMG/VHD(x)/EFI ファイルの起動可能な USB ドライブを作成するためのオープンソースなツールです。ventoy では、ディスクを何回もフォーマットする必要はありません。ただ ISO/WIM/IMG/VHD(x)EFI ファイルを USB ドライブにコピーするだけで、それらを直接起動できます。一度に多くのファイルをコピーでき、ventoy は起動するファイルを選択するブートメニューを提供します。{{AUR|ventoy-bin}} で利用可能です。<br />
<br />
=== Windows で ===<br />
<br />
==== RAM からインストールメディアをロードする ====<br />
<br />
[[Syslinux]] と [[RAM ディスク]] ([https://wiki.syslinux.org/wiki/index.php/MEMDISK MEMDISK]) を使って RAM から ISO イメージをロードする方法です。システムメモリ上で全てを実行するので、それに見合った RAM が積まれていなければなりません。MEMDISK を使って Arch Linux をインストールするために必要な RAM の最低量は 500 MB から 1 GB です。<br />
<br />
Arch Linux と MEMDISK のシステム要件については[[インストールガイド]]と [http://www.etherboot.org/wiki/bootingmemdisk#preliminaries こちら] に詳しく載っています。[https://bbs.archlinux.org/viewtopic.php?id=135266 フォーラムスレッド] も参照してください。<br />
<br />
{{Tip|一度ロードが完了しグラフィカルメニューが表示されたら、USB スティックを抜いてもオーケーです。そのままスティックを他のマシンで使ってもかまいません。また、起動に使った USB スティックに Arch をインストールすることもできます。}}<br />
<br />
===== USB フラッシュドライブの準備 =====<br />
<br />
USB スティックを FAT32 でフォーマットし、新しくフォーマットしたドライブに以下のフォルダを作ります:<br />
* {{ic|Boot}}<br />
** {{ic|Boot/ISOs}}<br />
** {{ic|Boot/Settings}}<br />
<br />
===== 必要なファイルを USB フラッシュドライブにコピー =====<br />
<br />
ブートしたい ISO を {{ic|Boot/ISOs}} フォルダにコピーしてください。その後、[https://www.kernel.org/pub/linux/utils/boot/syslinux/ ここ] から {{pkg|syslinux}} の最新版を取ってきて以下のファイルをコピーしてください。<br />
* {{ic|./win32/syslinux.exe}} をデスクトップかダウンロードフォルダに置いて下さい。<br />
* {{ic|./memdisk/memdisk}} を USB フラッシュドライブ上の {{ic|Settings}} フォルダに置きます。<br />
<br />
===== 設定ファイルの作成 =====<br />
<br />
必要なファイルをコピーしたら、{{ic|/boot/Settings}} フォルダの中に {{ic|syslinux.cfg}} ファイルを作ります:<br />
{{Warning|{{ic|INITRD}} 行には、{{ic|ISOs}} フォルダにコピーした ISO ファイルの名前を使って下さい。}}<br />
{{hc|/Boot/Settings/syslinux.cfg|2=<br />
DEFAULT arch_iso<br />
<br />
LABEL arch_iso<br />
MENU LABEL Arch Setup<br />
LINUX memdisk<br />
INITRD /Boot/ISOs/archlinux-2017.04.01-x86_64.iso<br />
APPEND iso}}<br />
Syslinux について詳しくは [[Syslinux]] を参照してください。<br />
<br />
===== 最後の手順 =====<br />
<br />
最後に {{ic|syslinux.exe}} と同じところに {{ic|*.bat}} を作り、実行します (Vista や Windows 7 を使っているときは"管理者として実行"します):<br />
<br />
{{hc|C:\Documents and Settings\username\Desktop\install.bat|<br />
@echo off<br />
syslinux.exe -m -a -d /Boot/Settings X:<br />
}}<br />
<br />
== 推奨されない方法 ==<br />
<br />
{{Warning|以下の方法は推奨されません。}}<br />
<br />
=== etcher を使う ===<br />
<br />
etcher にはアナリティクスとファーストパーティの広告があります。[https://github.com/balena-io/etcher/issues/2057]、[https://github.com/balena-io/etcher/blob/37769efbeda0abe7993d95e2b2aea2f461edd307/lib/gui/app/pages/main/MainPage.tsx#L151]、[https://github.com/balena-io/etcher/blob/37769efbeda0abe7993d95e2b2aea2f461edd307/docs/MAINTAINERS.md#publishing] を見てください。<br />
<br />
=== Universal USB Installer を使う ===<br />
<br />
* ダウンロードページには偽の ''Download'' ボタンがあり、マルウェアが含まれているかもしれません。<br />
* Universal USB Installer は ISO をそのまま書き込みません。そのため、syslinux バージョンの不一致により BIOS ブートが壊れます。[https://bbs.archlinux.org/viewtopic.php?pid=1344629] を見てください。<br />
* Arch Linux のインストールイメージのブートローダは {{ic|ARCH_''YYYYXX''}} というラベルのボリュームに ISO の内容が存在することを期待します。Universal USB Installer はファイルシステムのラベルをアップデートせず、ブートローダの設定も修正しません。<br />
<br />
=== UNetbootin を使う ===<br />
<br />
* UNetbootin は ISO をそのまま書き込みません。そのため、syslinux バージョンの不一致により BIOS ブートが壊れます。<br />
* Arch Linux のインストールイメージのブートローダは {{ic|ARCH_''YYYYXX''}} というラベルのボリュームに ISO の内容が存在することを期待します。UNetbootin はファイルシステムのラベルをアップデートせず、ブートローダの設定も修正しません。<br />
<br />
== トラブルシューティング ==<br />
<br />
=== デバイスが表示されない ===<br />
<br />
{{ic|/dev/disk/by-label/ARCH_XXXXXX}} がマウントされず "device did not show up after 30 seconds" エラーが表示される場合は、USB メディアの名前を {{ic|ARCH_XXXXXX}} に変えてみて下さい (例: {{ic|archlinux-2021.02.01-x86_64.iso}} の場合は {{ic|ARCH_202102}})。<br />
<br />
=== ループバックデバイスのセットアップに失敗する: No such file or directory ===<br />
<br />
{{ic|losetup: /run/archiso/bootmnt/arch/x86_64/airootfs.sfs: failed to set up loop devices: No such file or directory}} というエラーが発生する場合、USB 2.0 のポートを使ってみてください。例えば、一部の USB 3.0 ポートは USB ハブを介して動作しません。<br />
<br />
=== 他のエラー ===<br />
<br />
その他のエラーが発生する場合、他の USB デバイスを使用してみてください。そうすることですべての問題が解決したという事例が複数あります。<br />
<br />
== 参照 ==<br />
<br />
* [[Gentoo:LiveUSB/Guide]]<br />
* [[Fedora:How to create and use Live USB]]<br />
* [https://en.opensuse.org/SDB:Live_USB_stick openSUSE wiki - SDB:ライブ USB メモリ]<br />
<br />
{{TranslationStatus|USB flash installation medium|2023-09-24|788125}}</div>
Kuuote
https://wiki.archlinux.jp/index.php?title=Arch_%E3%81%AF%E6%9C%80%E9%AB%98&diff=30088
Arch は最高
2023-02-18T08:20:01Z
<p>Kuuote: Vim scriptの名前を正しい物に直した</p>
<hr />
<div>[[Category:Arch について]]<br />
[[en:Arch_is_the_best]]<br />
[[ru:Arch_is_the_best]]<br />
'''Arch is the best''' プロジェクトは Arch の優位性を証明するための、洗練されこの上なく素晴らしい、自尊心を爆発させトリップするための(ちょいとばかしオーバースペックな)プロジェクトです。<br />
<br />
==歴史==<br />
このプロジェクトは2008年4月1日、古参の Arch コミュニティメンバー [https://bbs.archlinux.org/profile.php?id=2529 lucke] によって "Arch is the best" という論破不可能な証明をするシンプルなシェルスクリプトから始まりました。[https://bbs.archlinux.org/viewtopic.php?id=47306 フォーラムへの投稿] として世界に向けて発表された後、このプロジェクトは推進力を得、結果多くのプログラミング/口頭言語へ移植されることになりました。Arch が最高なんだという発見を地球上のすべての人が認めるまで。<br />
<br />
==コード==<br />
"Arch is the best" は多くのプログラミング言語に移植されています。<br />
<br />
;1C&#58;Enterprise 7.7/8/8.1/8.2:VisualBasic によく似ている手続き型・ドメイン固有・動的型付けプログラミング言語。ロシアや他の CIS 諸国で広まっている "1C:Enterprise" 製品で使用。<br />
<br />
Предупреждение("Arch is the best!");<br />
<br />
;ABAP: 高級ビジネスアプリケーションプログラミング言語。<br />
<br />
REPORT zwhat_is_the_best.<br />
WRITE 'Arch is the best'.<br />
<br />
;Ada:クリティカルなシステム用のプログラミング言語。<br />
<br />
with Ada.Text_IO;<br />
use Ada.Text_IO;<br />
procedure ArchIsTheBest is<br />
begin<br />
Put_Line("Arch is the best!");<br />
end ArchIsTheBest;<br />
<br />
;APL:プログラミング言語 (A Programming Language)。<br />
<br />
'Arch is the best!'<br />
<br />
;AppleScript:Apple Inc が開発したスクリプト言語。Classic Mac OS の System 7 から全てのバージョンの macOS に組み込まれています。<br />
<br />
display alert "Arch is the best!"<br />
say "Indeed, Arch is the best."<br />
<br />
;ArnoldC:アーノルド・シュワルツェネッガーの名セリフが元になっているプログラミング言語。<br />
<br />
IT'S SHOWTIME<br />
TALK TO THE HAND "Arch is the best!"<br />
YOU HAVE BEEN TERMINATED<br />
<br />
;ATS:依存型を使ってプログラムの信頼性を高める関数型プログラミング言語。<br />
<br />
implement main () = println! "Arch is the best!"<br />
<br />
;Awk:テキストデータを処理するために設計されたデータドリブンなプログラミング言語。<br />
<br />
BEGIN {<br />
print "Arch is the best!"<br />
}<br />
<br />
;BASIC: 1960年代では一番よく使われていたスクリプト言語。当時は FORTRAN などのより強力な言語を学ぶ前の学生のための言語とされていました。<br />
<br />
10 PRINT "Arch is the best!"<br />
<br />
;Batch:作業の自動化、あるいは手慰みのための Windows のスクリプト言語。<br />
<br />
@echo off<br />
echo Arch is the best!<br />
pause<br />
<br />
;Befunge:世界で最初の二次元な ASCII ベースの (「もっともらしく Hunt the Wumpus を書くことができる」程度の意味で) 汎用のプログラミング言語といわれている言語。<br />
<br />
<v"Arch is the best!"0<br />
<,_@#:<br />
<br />
; BIRL: ArnoldC ライク、Bambam 版。<br />
<br />
HORA DO SHOW<br />
CE QUER VER ESSA PORRA? ("Arch is the best!\n");<br />
BORA CUMPADE 0;<br />
BIRL<br />
<br />
;Boo:Python の影響を受けた文法で .NET や Mono で動作するオブジェクト指向・静的型付け言語。メタプログラミングに重点が置かれておりマクロやコンパイルパイプラインのカスタマイズなどコンパイラの拡張性が優れています。<br />
<br />
print "Arch is the best!"<br />
<br />
;Bourne shell:あらゆるシェルと互換性がある原初のプログラム。<br />
<br />
#!/bin/sh<br />
echo "Arch is the best!"<br />
<br />
;Bourne shell (別バージョン):お気に入りの IRC/メール/IM クライアントに出力をパイプして使ってね。どのシェルでも動作します。<br />
<br />
#!/bin/sh<br />
yes Arch is the best!<br />
<br />
;Bourne shell (動的更新)<br />
<br />
#!/bin/sh<br />
<nowiki>w3m -dump "https://wiki.archlinux.org/index.php/Arch_is_the_best" | sed -n '/^Translations/,/^Encodings/p'</nowiki><br />
<br />
;または<br />
<br />
<pre style="overflow:auto"><br />
#!/bin/bash<br />
curl -s "https://wiki.archlinux.org/index.php?title=Arch_is_the_best&action=raw" | sed -n '/==Translations==/,$p' | sed "s/^\(.*\)$/* \1:/;t;s/^[^=]/ &/"<br />
</pre><br />
<br />
;brainfuck:ブレインがファックされる言語。<br />
<br />
++>++++++>+++++<+[>[->+<]<->++++++++++<]>>.<[-]>[-<++>]<br />
<----------------.---------------.+++++.<+++[-<++++++++++>]<.<br />
>>+.++++++++++.<<.>>+.------------.---.<<.>>---.<br />
+++.++++++++++++++.+.<<+.[-]++++++++++.<br />
<br />
;C:天上の人々にならって、このプロジェクトでは3スペースインデントを使っています。<br />
<br />
#include <stdio.h><br />
#include <stdlib.h><br />
int main(void)<br />
{<br />
puts("Arch is the best!");<br />
return EXIT_SUCCESS;<br />
}<br />
<br />
;C#:シンプル・モダン・器用貧乏・オブジェクト指向なプログラミング言語を目指していた言語。<br />
<br />
using System;<br />
public class ArchIsTheBest<br />
{<br />
static public void Main ()<br />
{<br />
Console.WriteLine ("Arch is the best!");<br />
}<br />
}<br />
<br />
;C++:Arch == Linux++<br />
<br />
#include <iostream><br />
#include <cstdlib><br />
int main ()<br />
{<br />
std::cout << "Arch is the best!" << std::endl;<br />
return EXIT_SUCCESS;<br />
}<br />
<br />
;COBOL:シンプル、軽量なプログラミング言語。<br />
<br />
IDENTIFICATION DIVISION.<br />
PROGRAM-ID. TheBest.<br />
<br />
PROCEDURE DIVISION.<br />
DISPLAY "Arch is the best!".<br />
STOP RUN.<br />
<br />
;CoffeeScript:JavaScript に変換されるプログラミング言語。<br />
<br />
alert 'Arch is the best!'<br />
<br />
;Clojure:JVM で走る Lisp 方言。<br />
<br />
(def translations {"english" "Arch is the best!",<br />
"german" "Arch ist das Beste!",<br />
"australian" "Arch is fair dinkum, mate!",<br />
"h4x0r" "arhc 51 7he be57!",<br />
"spanish" "¡Arch es el mejor!"})<br />
<br />
(defn read-choice []<br />
(println "\nAvailable languages: ")<br />
(doall (map #(println (key %)) translations))<br />
(print "Enter language or Ctrl-c: ") (flush)<br />
(translations (read-line) :badinput))<br />
<br />
(defn arch-is-the-best []<br />
(loop [choice (read-choice)]<br />
(case choice<br />
:badinput (do (print "\nBad input!\n")<br />
(recur (read-choice)))<br />
(do (print "\n" choice "\n")<br />
(recur (read-choice))))))<br />
<br />
;または<br />
<br />
(def translations {"english" "Arch is the best!",<br />
"german" "Arch ist das Beste!",<br />
"australian" "Arch is fair dinkum, mate!",<br />
"h4x0r" "arhc 51 7he be57!",<br />
"spanish" "¡Arch es el mejor!"<br />
"street" "Arch iz da shizzle ma nizzle"})<br />
(while 1<br />
(println "\nPick a language:\n" (map #(key %) translations) "\n language: ")<br />
(println (translations (read-line) "Not a valid language")))<br />
<br />
;または<br />
<br />
(prn "Arch is the best!")<br />
<br />
;Common Lisp:SBCL でテスト。翻訳の追加はご自由にどうぞ。<br />
<br />
#!/usr/bin/sbcl --script<br />
(defparameter *best-list* '((English "Arch is the best!")<br />
(Chinese "Arch, 她出类拔萃!")<br />
(German "Arch ist das Beste!")<br />
(Greek "Το Arch είναι το καλύτερο!")<br />
(Latin "Arch est optimus!")<br />
(French "Arch est le meilleur!")))<br />
(defun aitb ()<br />
(format t "Available languages: ~{~{~@(~a~)~*~}~^, ~}.~%" *best-list*)<br />
(loop for input = (progn (format t "~&Input the desired language, (or 'quit'): ~%")<br />
(force-output)<br />
(read-line))<br />
if (string-equal input "quit")<br />
do (loop-finish)<br />
else<br />
do (let ((language-def<br />
(assoc input *best-list*<br />
:key (lambda (lang) (symbol-name lang))<br />
:test #'string-equal)))<br />
(if language-def<br />
(format t "~&~A~%" (second language-def))<br />
(format t "~&Invalid language.~%"))))<br />
(format t "~&May the Arch be with you!~%"))<br />
(aitb)<br />
<br />
;Common Lisp (別バージョン):あらゆる実装で動作するはずです (Clisp, Allegro, SBCL...)。<br />
<br />
(princ "Arch is the best!")<br />
<br />
;Crystal:オブジェクト指向の Ruby ライクな言語。<br />
<br />
puts "Arch is the best!"<br />
<br />
;Crystal (ウェブサーバー):一度に複数の友人にメッセージを配信。<br />
<br />
# For giving the message to your friends<br />
require "http/server"<br />
<br />
server = HTTP::Server.new(80) do |context|<br />
context.response.content_type = "text/plain"<br />
context.response.print "Arch is the best!"<br />
end<br />
<br />
puts "Listening."<br />
server.listen<br />
<br />
;csh:C に似ているシェル。<br />
<br />
#!/bin/csh<br />
echo "Arch is the best!"<br />
<br />
;CSS:ウェブページを装飾するのに使われているスタイルシート言語。<br />
<br />
body * {<br />
display: none;<br />
}<br />
<br />
body::before {<br />
content: "Arch is the best!";<br />
font-family: monospace;<br />
font-size: 2.7rem;<br />
position: absolute;<br />
left: 50%;<br />
top: 50%;<br />
transform: translate(-50%, -50%);<br />
}<br />
<br />
;D:C 風の言語。新しい便利な機能があるのは後知恵。<br />
<br />
import std.stdio : writeln;<br />
void main()<br />
{<br />
writeln("Arch is the best");<br />
}<br />
<br />
;Dart:Google の javascript キラー。<br />
<br />
main(){<br />
print('Arch is the best');<br />
}<br />
<br />
;Dogescript:Doge フレンドリーな JavaScript<br />
<br />
console.loge with ' So Arch'<br />
console.loge with ' Much Good'<br />
console.loge with ' Wow'<br />
<br />
;Ebuild:Gentoo のビルドスクリプトフォーマット。<br />
<br />
DESCRIPTION="Arch is the best!"<br />
<nowiki>SRC_URI="https://wiki.archlinux.jp/index.php/Arch_%E3%81%AF%E6%9C%80%E9%AB%98"</nowiki><br />
<br />
LICENSE="GFDL_1.3"<br />
SLOT="0"<br />
KEYWORDS=""<br />
IUSE=""<br />
<br />
DEPEND=""<br />
RDEPEND=""<br />
<br />
src_compile() {<br />
einfo "Arch is the best!"<br />
}<br />
<br />
;Emacs Lisp:GNU Emacs や XEmacs テキストエディタで使われている Lisp プログラミング言語の方言。<br />
<br />
(message "Arch is the best!")<br />
<br />
;Emojicode:区切り文字が存在しない、オブジェクト指向、命令型、高水準、ハイブリッド言語。メソッドとして絵文字を使用。<br />
<br />
🏁 🍇<br />
😀 🔤Arch is the best!🔤<br />
🍉<br />
<br />
;Elixir: スケーラブル・メンテナンス容易なアプリケーションのために設計された動的・関数型言語。<br />
<br />
IO.puts "Arch is the best!"<br />
<br />
;Erlang:ガベージコレクションがあり並列実行することができるプログラミング言語・ランタイムシステム。<br />
<br />
-module(arch).<br />
-export([is_the_best/0]).<br />
is_the_best() -> io:fwrite("Arch is the best!\n").<br />
<br />
;またはプロセス間でメッセージを受け渡すバージョン<br />
<br />
-module(arch).<br />
-export([ultimate_question/0,the_answer/0]).<br />
the_answer() -><br />
receive<br />
{Client,who_is_the_best} -><br />
Client ! {self(),"Arch is the best!"};<br />
{Client,_} -><br />
Client ! {self(),"Taco Taco Taco!"}<br />
end,<br />
the_answer().<br />
ultimate_question() -><br />
Pid = spawn(arch,the_answer,[]),<br />
Pid ! {self(),who_is_the_best},<br />
receive<br />
{Pid,Response} -> io:format("~s~n",[Response])<br />
end.<br />
<br />
;F#:厳密な型付け、機能性優先で、単純なコードで複雑な問題を解決できるプログラミング言語。<br />
<br />
printfn "Arch is the best!"<br />
<br />
;Factor:高水準スタック指向言語。<br />
<br />
"Arch is the best" print<br />
<br />
;FIM++:Java のクラスを使うことができる、饒舌で命令型の動的型付けインタプリタ言語。<br />
<br />
Dear Princess Celestia: Letter About Arch Linux.<br />
Today I learned:<br />
I wrote "Arch is the best!".<br />
Your faithful student, Twilight Sparkle<br />
<br />
;Forth:スタック指向言語。<br />
<br />
." Arch is the best" cr -- kiss way<br />
<br />
;Fortran95<br />
<br />
program arch<br />
print *,"Arch is the best!"<br />
end program arch<br />
<br />
;Genie:最新のプログラミングスタイルに合わせながら手軽に GObjects をネイティブに作成・使用できる新しいプログラミング言語。<br />
<br />
init<br />
print "Arch is the best"<br />
<br />
;Gjs:GNOME の Javascript バインディング。Spidermonkey エンジンと GObject フレームワークがベース。<br />
<br />
#!/usr/bin/env gjs<br />
print ('Arch is the best');<br />
<br />
;Go:Google によって作成された言語。C, C++, Python の落とし子。<br />
<br />
package main<br />
<br />
import "fmt"<br />
<br />
func main() {<br />
fmt.Println("Arch is the best!")<br />
}<br />
<br />
;Groovy:Java 仮想マシンで動作する高速な動的言語。<br />
<br />
println 'Arch is the best!' <br />
<br />
;Haskell:IO が無尽蔵の環境で使われる言語。<br />
<br />
main = putStrLn "Arch is the best!"<br />
<br />
;HTML:ウェブページとそのコンテンツを作成・定義するために使われるマークアップ言語。<br />
<br />
<pre><br />
<!DOCTYPE html><br />
<html lang='en'><br />
<head><br />
<title>Arch is the best!</title><br />
</head><br />
<body><br />
<p>Arch is the best!</p><br />
</body><br />
</html><br />
</pre><br />
<br />
;Idris:依存型が使える汎用の純粋関数型プログラミング言語。狂った Haskell。<br />
<br />
module Main<br />
<br />
main : IO ()<br />
main = putStrLn "Arch is the best!"<br />
<br />
;Io:Smalltalk, Self, Lua, Lisp, Act1, NewtonScript の影響を受けて作られた純粋なオブジェクト指向プログラミング言語。<br />
<br />
"Arch is the best!" println<br />
<br />
;Java:ものすごく移植性が高い言語。ありとあらゆるもので動作します。たぶんトースターでも動く。<br />
<br />
public class ArchIsTheBest {<br />
public static void main(String[] args) {<br />
System.out.println("Arch is the best!");<br />
}<br />
}<br />
<br />
;JavaScript:別名 ECMAScript、プロトタイプベースのオブジェクト指向スクリプト言語。<br />
<br />
console.log('Arch is the best!');<br />
<br />
;JavaScript (ウェブブラウザで実行)<br />
<br />
alert('Arch is the best!');<br />
<br />
;Julia:新しい数値計算用言語。<br />
<br />
println("Arch is the best!")<br />
<br />
;Kotlin:JetBrains の世界征服言語。<br />
<br />
fun main(args: Array<String>) {<br />
println("Arch is the best!")<br />
}<br />
<br />
;LilyPond:直感的な LaTeX ライクな入力言語を備えた強力な楽譜作成プログラム。<br />
<br />
\version "2.12.3"<br />
\include "english.ly"<br />
\header { title = "Arch is the best!" }<br />
\score<br />
{<br />
<<<br />
\relative c' { c4 e g c \bar "||" }<br />
\addlyrics { Arch is the best! }<br />
>><br />
}<br />
<br />
;LOLCODE:なんぬ?<br />
<br />
HAI<br />
CAN HAS STDIO?<br />
VISIBLE "ARCH IS TEH PWNZ LOL!"<br />
KTHXBYE<br />
<br />
;Lua:軽量で拡張しやすいプログラミング言語。<br />
<br />
print "Arch is the best!"<br />
<br />
;Malbolge:可能なかぎりプログラミングが難解になるように作られた言語。<br />
<br />
bCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]<br />
\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9y16543210/.-,+*)('&}C#"!~}|{zyxwvu<br />
tsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLK-CgGFEDCBA@?>=<;:98x6543210/<br />
.-,+*)('&%$#"!~}|u;yxwpun4rqpRhmf,jihgIe^$ba`_^]\[ZYXQVUTMqQPONMFjJI+A<br />
eEDC%A:^>=<|:981U54t21*/.-&Jk)('&}C#"!aw={z\xwvun4lqpi/mlkjiKaf_%p<br />
<br />
;Matlab:MathWorks によって開発されたプロプライエタリなプログラミング言語。<br />
<br />
disp('Arch is the best!');<br />
<br />
;Morpho:手続き型・オブジェクト指向・関数型プログラミングの要素を備えたマルチパラダイムプログラミング言語。<br />
<br />
writeln("Arch is the best!");<br />
<br />
;Myrddin:コントロール性・シンプル性を兼ね備えたシステムプログラミング言語。強い型付け・ジェネリック・型推論・クロージャ・トレイトが特徴。<br />
<br />
/* mbld -b aitb aitb.myr */<br />
use std<br />
const main = {<br />
std.put("Arch is the best!\n")<br />
}<br />
<br />
;NASM / Yasm (i686):文字は .text セクションの中。優越感を感じられる。<br />
<br />
;nasm -f elf32 arch.asm<br />
;ld -o arch arch.o<br />
;./arch<br />
<br />
section .text<br />
global _start<br />
_start:<br />
mov edx,len<br />
mov ecx,msg<br />
mov ebx,1<br />
mov eax,4<br />
int 0x80<br />
xor ebx,ebx<br />
mov eax,1<br />
int 0x80<br />
msg: db "Arch is the best!",10<br />
len equ $-msg<br />
<br />
;NASM / Yasm (x86_64):AMD のセクシーな新しい命令 ''syscall'' を使用。<br />
<br />
;nasm -f elf64 arch.asm<br />
;ld -o arch arch.o<br />
;./arch<br />
<br />
section .text<br />
global _start<br />
s:<br />
db 'Arch is the best!',0ah<br />
l equ $-s<br />
_start:<br />
mov rax,1<br />
mov rdi,1<br />
mov rsi,s<br />
mov rdx,l<br />
syscall<br />
mov rax,60<br />
xor rdi,rdi<br />
syscall<br />
<br />
;Nim:ポータブルで軽量なプログラミング言語。<br />
<br />
echo "Arch is the best!"<br />
<br />
;node.js:高速でスケーラブルなネットワークアプリケーションを簡単に開発するための Chrome の JavaScript ランタイムがベースのプラットフォーム。イベント駆動・ノンブロッキングの I/O モデルを使用しており、分散化されたデバイスで動作するデータ量の多いアプリケーションの開発にうってつけ。<br />
<br />
console.log('Arch is the best!');<br />
<br />
;Objective-C:Smalltalk 風のメッセージを C 言語に追加した自己言及的なオブジェクト指向プログラミング言語。<br />
<br />
NSLog(@"Arch is the best!");<br />
<br />
;OCaml:Caml プログラミング言語の主要な実装。<br />
<br />
print_endline "Arch is the best!"<br />
<br />
;Octave:計算科学用に作られた高水準インタプリタ言語。<br />
<br />
printf("Arch is the best!\n")<br />
<br />
;Ook!:オランウータン用に翻訳された brainfuck。<br />
<br />
Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook? Ook. Ook? Ook! Ook? Ook. Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook! Ook? Ook! Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.<br />
<br />
;Pascal:色々な影響を与えた命令型・手続き型プログラミング言語。<br />
<br />
program ArchIsTheBest;<br />
begin<br />
writeln('Arch is the best!');<br />
end.<br />
<br />
;Perl:高水準・汎用・インタプリタ・動的プログラミング言語。<br />
<br />
#!/usr/bin/env perl<br />
print "Arch is the best!\n";<br />
<br />
;Perl 6:Perl ファミリーの最新バージョン。<br />
<br />
#!/usr/bin/env perl6<br />
say 'Arch is the best!';<br />
<br />
;PHP:汎用のスクリプト言語。<br />
<br />
<?php<br />
echo "Arch is the best!\n";<br />
<br />
;Pixilang:ピクセル化言語。<br />
<br />
print("Arch is the best!",0,0,#1897D1)<br />
frame<br />
<br />
;Pony:オブジェクト指向・アクターモデル・ケイパビリティセキュア・高性能なプログラミング言語。<br />
<br />
actor Main<br />
new create(env: Env) =><br />
env.out.print("Arch is the best!")<br />
<br />
;PowerShell:クロスプラットフォームでオブジェクト指向なスクリプト言語。<br />
<br />
Write-Host "Arch is the best!"<br />
Pause<br />
<br />
;GNU ポータブルアセンブラ<br />
:{{ic|as -o arch.o arch.s && ld -o arch -O0 arch.o}}<br />
<br />
.section .data<br />
archIsBest:<br />
.ascii "Arch is the best!\n"<br />
archIsBest_len:<br />
.long . - archIsBest<br />
.section .text<br />
.globl _start<br />
_start:<br />
xorl %ebx, %ebx<br />
movl $4, %eax<br />
xorl %ebx, %ebx<br />
incl %ebx<br />
leal archIsBest, %ecx<br />
movl archIsBest_len, %edx<br />
int $0x80<br />
xorl %eax, %eax<br />
incl %eax<br />
xorl %ebx, %ebx<br />
int $0x80<br />
<br />
;Processing:エレクトロアートやビジュアルデザイン向けに作られたオープンソースのプログラミング言語と IDE。<br />
<br />
println("Arch is the best!");<br />
<br />
;Prolog:人工知能や言語情報科学と相関がある汎用の論理プログラミング言語。<br />
<br />
format('Arch is the best~n',[]).<br />
<br />
;Python:汎用の高水準プログラミング言語。<br />
<br />
print('Arch is the best!')<br />
<br />
;QBASIC:BASIC プログラミング言語の亜種のインタプリタ。QuickBASIC がベース。<br />
<br />
PRINT "Arch is the best!"<br />
<br />
;R:統計計算 (など) のための言語。<br />
<br />
archIsBest <- function() { cat("Arch is the best!\n") }<br />
archIsBest()<br />
<br />
;Racket:Lisp-Scheme ファミリーの汎用マルチパラダイムプログラミング言語。<br />
<br />
#lang racket<br />
<br />
(let ([str "Arch is the best!\n"])<br />
(write-string str)<br />
(values))<br />
<br />
;Ruby:動的、汎用、自己言及的なオブジェクト指向プログラミング言語。<br />
<br />
#!/usr/bin/ruby -w<br />
puts 'Arch is the best!'<br />
<br />
;Rust:ものすごく高速に動作して、ほとんどクラッシュしない、データ競合を排除したシステムプログラミング言語。<br />
<br />
fn main() {<br />
println!("Arch is the best!");<br />
}<br />
<br />
;Salt:自動化フレームワーク。<br />
<br />
salt '*' event.fire '{"data":"Arch Is the best!"}' 'arch/best'<br />
<br />
;Scala:JVM 上で動作するマルチパラダイム言語。<br />
<br />
object ArchIsBest extends App {<br />
println("Arch is the best!")<br />
}<br />
<br />
;Scheme:Lisp の方言。<br />
<br />
(display "Arch is the best!\n")<br />
<br />
;Seed:GNOME プラットフォームで WebKit JavaScriptCore エンジンを動的に接続するライブラリ・インタプリタ。<br />
<br />
#!/usr/bin/env seed<br />
print ('Arch is the best');<br />
<br />
;Shakespeare Programming Language: シェイクスピアの劇のような美しいソースコードによる言語。<br />
<br />
Arch is the Best.<br />
<br />
Arthur, a young man who is the best.<br />
Isabella, a likewise young woman who be.<br />
The Ghost, an undead who is the article.<br />
Beatrice, a young woman who is an adjective.<br />
<br />
<br />
Act I: Setting of the Variables.<br />
<br />
Scene I: Setting of Isabella and Arthur.<br />
<br />
[Enter Arthur and Isabella]<br />
<br />
Arthur:<br />
You are as dirty as the square of the sum of a rotten smelly foul devil<br />
and a vile lie! You are as bold as the sum of yourself and an evil hog!<br />
<br />
Isabella:<br />
Thou art as big as the square of a cute fair sweet flower! You are as proud<br />
as the sum of thyself and a cow.<br />
<br />
[Exit Arthur]<br />
<br />
Scene II: Setting of The Ghost.<br />
<br />
[Enter The Ghost]<br />
<br />
Isabella:<br />
You art as loving as myself. Thou are as huge as the sum of yourself and twice<br />
a red old hair. You are as cowardly as the sum of yourself and a fat goat!<br />
<br />
[Exit Isabella]<br />
<br />
Scene III: Setting of Beatrice.<br />
<br />
[Enter Beatrice]<br />
<br />
The Ghost:<br />
Thou are as good as the sum of Isabella and a mighty fine rich noble King.<br />
<br />
[Exeunt The Ghost and Beatrice]<br />
<br />
Act II: Printing Arch is the Best.<br />
<br />
Scene I: Arch.<br />
<br />
[Enter Arthur and Beatrice]<br />
<br />
Beatrice:<br />
Speak thy mind! You art as peaceful as the quotient between thyself and the<br />
clearest Lord.<br />
<br />
Arthur:<br />
Speak your mind!<br />
<br />
[Exeunt Arthur and Beatrice]<br />
<br />
[Enter Isabella and The Ghost]<br />
<br />
The Ghost:<br />
Thou are as normal as the sum of thyself and a town. Speak thy mind!<br />
<br />
Isabella:<br />
Speak your mind!<br />
<br />
[Exit Isabella]<br />
<br />
[Enter Arthur]<br />
<br />
The Ghost:<br />
Speak thy mind!<br />
<br />
[Exit Arthur]<br />
<br />
Scene II: is.<br />
<br />
[Enter Beatrice]<br />
<br />
Beatrice:<br />
Thou are as old as the sum of yourself and a nose. Speak your mind!<br />
<br />
The Ghost:<br />
You art as pretty as the sum of thyself and a face. Speak your mind.<br />
<br />
[Exit The Ghost]<br />
<br />
[Enter Arthur]<br />
<br />
Beatrice:<br />
Speak thy mind.<br />
<br />
Scene III: the.<br />
<br />
Arthur:<br />
You are as blue as the sum of yourself and a hamster. Speak thy mind!<br />
<br />
[Exit Arthur]<br />
<br />
[Enter The Ghost]<br />
<br />
Beatrice:<br />
You are as prompt as the sum of thyself and a lie! Speak your mind.<br />
<br />
[Exit Beatrice]<br />
<br />
[Enter Isabella]<br />
<br />
The Ghost:<br />
You art as happy as the sum of thyself and a large moon. Speak thy mind!<br />
<br />
[Exit The Ghost]<br />
<br />
[Enter Arthur]<br />
<br />
Isabella:<br />
Speak thy mind.<br />
<br />
[Exit Arthur]<br />
<br />
Scene IV: Best.<br />
<br />
[Enter Beatrice]<br />
<br />
Beatrice:<br />
Thou are as blue as the sum of the sum of a curse and thyself and a bad<br />
codpiece. Speak your mind! You art as lovely as the sum of the sum of the<br />
happiness and yourself and a blossoming flower. Speak thy mind.<br />
<br />
Isabella:<br />
You are as healthy as the sum of yourself and a plague! Speak thy mind.<br />
Thou art as huge as the sum of thyself and a hero. Speak your mind!<br />
<br />
[Exit Beatrice]<br />
<br />
[Enter Arthur]<br />
<br />
Isabella:<br />
You art as green as the sum of thyself and a mother. Speak your mind.<br />
<br />
[Exeunt]<br />
<br />
;Shoes:GUI に Shoes を使用する Ruby バージョン。<br />
<br />
Shoes.app :width => 135, :height => 30 do<br />
para "Arch is the Best!"<br />
end<br />
<br />
;Smalltalk:オブジェクト指向・動的型付け・リフレクションのプログラミング言語。<br />
<br />
Transcript show: 'Arch is the best!'.<br />
<br />
;SQL:Structured Query Language。リレーショナルデータベースの問い合わせ言語。<br />
<br />
SELECT 'Arch is the best!';<br />
SELECT 'Arch is the best!' from dual; -- for Oracle DB<br />
<br />
;Standard ML:コンパイル時に型チェック・型推論を行う汎用・モジュラーな関数型プログラミング言語。<br />
<br />
print "Arch is the best!\n"<br />
<br />
;Swift:Apple Inc によって開発されている汎用・マルチパラダイム・コンパイラプログラミング言語。<br />
<br />
print("Arch is the best!")<br />
<br />
;Tcl/Tk:ラピッドプロトタイピング・スクリプトアプリケーション・GUI・テストなどによく使われているスクリプト言語。<br />
<br />
#!/usr/bin/env tclsh<br />
puts "Arch is the best!"<br />
<br />
;TrumpScript:トランプ大統領の発言を元にしているスクリプト言語。<br />
<br />
say it with me, "Arch is the best!";<br />
america is great.<br />
<br />
;UEFI:拡張可能なファームウェアフレームワーク。<br />
<br />
#include <Uefi.h><br />
EFI_STATUS EFIAPI<br />
ArchIsTheBest (<br />
IN EFI_HANDLE ImageHandle,<br />
IN EFI_SYSTEM_TABLE *SystemTable<br />
)<br />
{<br />
SystemTable -> ConOut-> OutputString(SystemTable->ConOut, L"Arch is the best!\n"); <br />
return EFI_SUCCESS;<br />
}<br />
<br />
;Vala:近代的な特徴を揃えた GNOME 開発者のための新しいプログラミング言語。必要なランタイムを増やしたり C で書かれたアプリケーションやライブラリと異なる ABI を使用する必要がありません。<br />
<br />
void main(string[] args) {<br />
stdout.printf("\nArch is the best!\n\n");<br />
}<br />
<br />
;var'aq:戦士のプログラミング言語 [http://www.reocities.com/connorbd/varaq/index.html]。<br />
<br />
"Arch is the best!" cha'<br />
<br />
; Verilog: IEEE 1364 で標準化されているハードウェア記述言語。<br />
module top;<br />
initial $display("Arch is the best!");<br />
endmodule<br />
<br />
; VHDL: VHSIC ハードウェア記述言語。<br />
<br />
use std.textio.all;<br />
<br />
entity top is<br />
end top;<br />
<br />
architecture behaviour of top is begin<br />
process begin<br />
write (output, String'("Arch is the best!"));<br />
wait;<br />
end process;<br />
end behaviour;<br />
<br />
;Vim script: Vim テキストエディタのスクリプト言語。<br />
<br />
echo 'Arch is the best!'<br />
<br />
;Wiring (Arduino):マサチューセッツ工科大学で開発されたオープンソースのプログラミング言語 Processing ベース。<br />
<br />
void setup()<br />
{<br />
Serial.begin(9600);<br />
}<br />
void loop()<br />
{<br />
Serial.print("Arch is the best!");<br />
}<br />
<br />
;Visual Basic:Microsoft が提唱する Component Object Model (COM) プログラミングモデルで使われる第三世代のイベント駆動型プログラミング言語および統合開発環境 (IDE)。<br />
<br />
Module Arch<br />
Sub Main()<br />
MsgBox("Arch is the best!")<br />
End Sub<br />
End Module<br />
<br />
;X11 :X11 はグラフィカルユーザーインターフェイスを表示するためのアーキテクチャ非依存のシステムです ({{ic|cc -lX11 arch.c}} でコンパイル)。<br />
<br />
#include <stdio.h><br />
#include <stdlib.h><br />
#include <string.h><br />
<br />
#include <X11/Xlib.h><br />
<br />
int main()<br />
{<br />
Display *d;<br />
Window w;<br />
XEvent e;<br />
int s;<br />
<br />
if (!(d = XOpenDisplay(NULL))) {<br />
fprintf(stderr, "Couldn't open display, but Arch is the best!\n");<br />
exit(1);<br />
}<br />
<br />
s = DefaultScreen(d);<br />
w = XCreateSimpleWindow(d, RootWindow(d,s), 0, 0, 110, 20, 0, <br />
0, WhitePixel(d,s));<br />
XSelectInput(d, w, ExposureMask | KeyPressMask);<br />
XMapWindow(d,w);<br />
<br />
while (1) {<br />
XNextEvent(d, &e);<br />
if (e.type == Expose) {<br />
XDrawString(d, w, DefaultGC(d, s), 5, 15, "Arch is the best!", 17);<br />
}<br />
}<br />
<br />
XCloseDisplay(d);<br />
return 0;<br />
}<br />
<br />
;Zimbu:高速で学習が容易、後方互換性を担保することに注視した、JS ライクなプログラミング言語。<br />
<br />
FUNC Main() int<br />
IO.write("Arch is the best!")<br />
RETURN 0<br />
}<br />
<br />
;Zsh:ksh の面影に多数の拡張が詰め込まれた UNIX コマンドインタプリタ (シェル)。<br />
<br />
#!/bin/zsh -f<br />
setopt extendedglob<br />
print -- $(tput setaf 2) ${$(<<<${${${(@j: <nowiki>:)${(@s:_:)${:-What_Linux_is_the_best?}}}/* (#b)([A-Z]i)/Arch $match[1]}} tr '?' '!')} $(tput sgr0)</nowiki><br />
<br />
==翻訳==<br />
<br />
;古代中国語<br />
<br />
阿祺,盡善矣。<br />
<br />
;古代ギリシア語 (アッティカ方言)<br />
<br />
Ἡ Ἁψίς ἀρίστη!<br />
<br />
;アラビア語<br />
<br />
ارتش هو الأفضل<br />
<br />
;オーストラリア語<br />
<br />
Arch is fair dinkum, mate!<br />
<br />
;インドネシア語<br />
<br />
Arch terbaik!<br />
<br />
;バスク語<br />
<br />
Arch onena da!<br />
<br />
;ベラルーシ語<br />
<br />
Арч - самы лепшы!<br />
<br />
;ベンガル語<br />
<br />
আর্চ সবচেয়ে ভালো!<br />
<br />
;ブルトン語<br />
Arch emañ ar gwellañ!<br />
または:<br />
Arch emañ ar matañ!<br />
<br />
;イギリス語<br />
<br />
Arch is simply spiffing.<br />
<br />
;ブルガリア語<br />
<br />
Арч е най-добрият!<br />
<br />
;カタロニア語<br />
<br />
Arch és el millor!<br />
<br />
;中国語 (簡体字)<br />
<br />
Arch 最棒了!<br />
<br />
;中国語 (繁体字)<br />
<br />
Arch 好棒棒!<br />
<br />
;チェコ語<br />
<br />
Arch je nejlepší!<br />
<br />
;クロアチア語<br />
<br />
Arch je najbolji!<br />
<br />
;デンマーク語<br />
<br />
Arch er bedst!<br />
<br />
;Doge<br />
<br />
So Arch, Much Good, Wow<br />
<br />
;オランダ語<br />
<br />
Arch is het best!<br />
<br />
;エスペラント<br />
<br />
Arch plejbonas!<br />
<br />
;エストニア語<br />
<br />
Arch on parim!<br />
<br />
;Fikonspråket (スウェーデン語のピッグ・ラテン)<br />
<br />
Firch Arkon fir äkon fist bäkon<br />
<br />
;フィリピン語<br />
<br />
Mabuhay ang Arch!<br />
<br />
;フィンランド語<br />
<br />
Arch on paras!<br />
<br />
;フランス語<br />
<br />
Arch est le meilleur!<br />
<br />
;ガリシア語<br />
<br />
Arch é o mellor!<br />
<br />
;ドイツ語<br />
<br />
Arch ist das Beste!<br />
<br />
;ドイツ語 (ベルン・スイス方言)<br />
<br />
Arch isch geil wine More!<br />
<br />
;ギリシア語 (現代)<br />
<br />
Το Αρτς είναι το καλύτερο!<br />
<br />
;ハイチ語<br />
<br />
Arch se meye bagay!<br />
<br />
;Hantec (チェコ・ブルノ方言)<br />
<br />
Arch je nejbetélnější!<br />
<br />
;ヘブライ語<br />
<br />
ארצ' זה הכי אחי!<br />
<br />
;ヒンディー語<br />
<br />
आर्च सर्वोत्तम है ।<br />
<br />
;ハンガリー語<br />
<br />
Az Arch a legjobb!<br />
<br />
;アイルランド語<br />
<br />
Arch é is fearr!<br />
<br />
;イタリア語<br />
<br />
Arch è il migliore!<br />
<br />
;日本語<br />
<br />
Arch が一番ですよ!<br />
<br />
;バビ語<br />
<br />
あばーちびがばいびちびばばんぶですぶよぼ<br />
<br />
;カンナダ語<br />
<br />
ಆರ್ಚ್ ಅತ್ಯುತ್ತಮವಾಗಿದೆ<br />
<br />
;カザフ語<br />
<br />
Арч - ең жақсы!<br />
<br />
;クリンゴン語<br />
<br />
Arch'pu'ta"a'<br />
<br />
;韓国語<br />
<br />
아치가 최고입니다!<br />
<br />
;クルド語<br />
<br />
Arç herî baş e!<br />
<br />
;ラテン語<br />
<br />
Arch optimus est!<br />
<br />
;ラトビア語<br />
<br />
Arch ir labākais!<br />
<br />
;Leet<br />
<br />
4rch 15 7h3 b357!<br />
<br />
;リトアニア語<br />
<br />
Arch yra geriausias!<br />
<br />
;ロジバン<br />
<br />
la .artc. xagrai<br />
実験文法 (to mi catlu do doi la bauspo fazykamni toi):<br />
la'oi Arch xagrai<br />
<br />
;Lolcat<br />
<br />
ARCH IZ TEH BEST!<br />
<br />
;マラヤーラム語<br />
<br />
ആർച് ആണ് ഏറ്റവും നല്ലത്<br />
<br />
;マプチェ語<br />
<br />
表記体系: Unificado<br />
Doy kümei Arch<br />
表記体系: Raguileo<br />
Zoy kvmey Arc<br />
表記体系: Azümchefe (Windows XP で使用)<br />
Zoi kümei Arch<br />
表記体系: Nhewenh<br />
Zoi kvmei Arch<br />
表記体系: Wirizüŋun<br />
Zoy kümey Arch ''or'' Zoy kvmey Arch<br />
<br />
;マラーティー語<br />
<br />
आर्च सगळ्यात भारी आहे!<br />
<br />
;ネパール語<br />
<br />
आर्च सबैभन्दा राम्रो हो!<br />
<br />
;ノルウェー語<br />
<br />
Arch er best!<br />
<br />
;古英語<br />
<br />
Arch biþ betst!<br />
<br />
;オック語 (ラングドック)<br />
<br />
Arch es lo melhor!<br />
<br />
;ペルシア語<br />
<br />
آرچ بهترین است<br />
<br />
;ピッグ・ラテン<br />
<br />
Archway isway ethay estbay!<br />
<br />
;ポーランド語<br />
<br />
Arch jest najlepszy!<br />
<br />
;ポルトガル語<br />
<br />
Arch é o melhor!<br />
<br />
;ケベック・フランス語<br />
<br />
Arch c'est le plus meilleure du monde!<br />
<br />
;ルーマニア語<br />
<br />
Аrch e cel mai bun!<br />
<br />
;ロシア語<br />
<br />
Арч — лучший!<br />
<br />
;山賊ことば (英語)<br />
<br />
Arorcochoh isos tothohe bobesostot.<br />
<br />
;山賊ことば (スウェーデン語)<br />
<br />
Arorcochoh äror bobäsostot!<br />
<br />
;セルビア語<br />
<br />
Arch je najbolji!<br />
<br />
;ショナ語<br />
<br />
Arch iripamberi!<br />
<br />
;シンガポール語<br />
<br />
Arch the best lah!<br />
<br />
;スロバキア語<br />
<br />
Arch je najlepší!<br />
<br />
;スロベニア語<br />
<br />
Arch je najboljši!<br />
<br />
;スペイン語 (標準語)<br />
<br />
¡Arch es el mejor!<br />
<br />
;スペイン語 (アルゼンチン方言)<br />
<br />
Arch es una mazza!!<br />
<br />
;スペイン語 (ペルー)<br />
¡Arch es bravazo!<br />
<br />
;スペイン語 (ペルー・ピトゥコ)<br />
¡Oe ese Arch es bien paja brother!<br />
<br />
;スペイン語 (ペルー・ピラニア)<br />
03 k4vz4 3s3 4rch 3s l4 kg4d4 j3j3j3!!!!<br />
<br />
;スペイン語 (チリ方言)<br />
<br />
Arch es bacán<br />
<br />
;スペイン語 (チリ方言、言い換え)<br />
<br />
Arch es la raja<br />
<br />
;スペイン語 (チリ方言、辺境域)<br />
<br />
(標準スペイン語には存在しない音を使っているので IPA で記述)<br />
ˈæɹʃ ɛːʰ tɜ.rˈiː.u.lɛ la rˈa.χa ʃʊ.ɹʊ<br />
<br />
;スペイン語 (グアテマラ)<br />
¡Arch está bien chilero!<br />
<br />
;スペイン語 (グアテマラ、言い換え)<br />
¡Arch es la mera tos!<br />
<br />
;スペイン語 (ウルグアイ方言)<br />
<br />
¡Arch la rompe!<br />
<br />
;スペイン語 (ベネズエラ・標準語)<br />
<br />
Marico, Arch es la vaina más arrecha.<br />
<br />
;スペイン語 (ベネズエラ・マラカイボ方言、マラクーチョ)<br />
<br />
Que molleja de bueno es Arch.<br />
<br />
;スワヒリ語<br />
<br />
Arch ndiyo bora zaidi<br />
<br />
;スウェーデン語<br />
<br />
Arch är bäst!<br />
<br />
;トルコ語<br />
<br />
Arch en iyisidir!<br />
<br />
;タミル語<br />
<br />
ஆர்ச்சே சிறந்தது!<br />
<br />
;テルグ語<br />
<br />
ఆర్చ్ ఉత్తమమైనది!<br />
<br />
;タイ語<br />
<br />
อาค์ชเทพเมพขิงขิง<br />
<br />
;トキポナ<br />
<br />
Arch li pona mute!<br />
<br />
;ウクライナ語<br />
<br />
Arch — найкращий!<br />
<br />
;ウルドゥー語<br />
<br />
آرچ سب سے بہتر ہے!<br />
<br />
;ベトナム語<br />
<br />
Arch là tốt nhất!<br />
<br />
;ウェールズ語 (カムライグ)<br />
<br />
Arch に強調を置いた場合:<br />
Arch sydd yr orau un!<br />
Arch sydd y gorau un!<br />
<br />
最高 (のもの) に強調を置いた場合:<br />
Yr orau un yw Arch!<br />
Y gorau un yw Arch!<br />
<br />
==エンコーディング==<br />
<br />
;ASCII バナー<br />
<br />
_ _ _ _ _ _ _<br />
/\ | | (_) | | | | | | | | | |<br />
/ \ _ __ ___| |__ _ ___ | |_| |__ ___ | |__ ___ ___| |_| |<br />
/ /\ \ | '__/ __| '_ \ | / __| | __| '_ \ / _ \ | '_ \ / _ \/ __| __| |<br />
/ ____ \| | | (__| | | | | \__ \ | |_| | | | __/ | |_) | __/\__ \ |_|_|<br />
/_/ \_\_| \___|_| |_| |_|___/ \__|_| |_|\___| |_.__/ \___||___/\__(_)<br />
<br />
;Base64<br />
{{hc|$ echo 'Arch is the best!' {{!}} base64|<br />
QXJjaCBpcyB0aGUgYmVzdCEK<br />
}}<br />
<br />
;バイナリ ASCII<br />
{{hc|1=$ echo 'Arch is the best!' {{!}} perl -lpe '$_=unpack"B*"'|2=<br />
0100000101110010011000110110100000100000011010010111001100100000011101000110100001100101001000000110001001100101011100110111010000100001<br />
}}<br />
<br />
;点字<br />
<br />
⠁⠗⠉⠓⠀⠊⠎⠀⠮⠀⠃⠑⠎⠞⠲<br />
<br />
;くゃぎうゆさ (左右逆)<br />
{{hc|$ echo 'Arch is the best!' {{!}} rev|<br />
!tseb eht si hcrA<br />
}}<br />
<br />
;h4x0r<br />
<br />
4rch 15 7h3 b357!<br />
<br />
;16進数 ASCII<br />
{{hc|1=$ echo 'Arch is the best!' {{!}} perl -lpe '$_=unpack"H*"'|2=<br />
4172636820697320746865206265737421<br />
}}<br />
<br />
;モールス信号<br />
<br />
.- .-. -.-. ..../.. .../- .... ./-... . ... -<br />
<br />
;ROT13<br />
{{hc|$ echo 'Arch is the best!' {{!}} tr 'A-Za-z' 'N-ZA-Mn-za-m'|<br />
Nepu vf gur orfg!<br />
}}<br />
<br />
;上下逆<br />
<br />
¡ʇsǝq ǝɥʇ s! ɥɔɹ∀<br />
<br />
;URL エンコード<br />
<br />
Arch%20is%20the%20best!<br />
<br />
==ハッシュ==<br />
<br />
;md5sum<br />
<br />
2d9092e089d77a8e23f47ba3dfe77027<br />
<br />
;sha1sum<br />
<br />
7f6ed0bf29abbd7e796ca1311c84a7a21a68a656<br />
<br />
;sha224sum<br />
<br />
af15cd556676d37f916a35e2cf74f04cf7b1805b3244ec418c3927d8<br />
<br />
;sha256sum<br />
<br />
107139d6b9a15fd97acf743e5806823c8ff868fde8b7c28cfcc2c9184df644ae<br />
<br />
;sha384sum<br />
<br />
769ec295d876483aa6cec7ff7997296c8ff2236630b0e48b059576143b60ab30adefec9321d8acc2a133219dfb302bc5<br />
<br />
;sha512sum<br />
<br />
b0917f66d05278106808d25f51001b038856fa7171b935d450b4bcbf1e8b82ed6a5a2f49d99734e1efc7ad3d1b8a33519008635d4e1aa3e65a5e70c4de649aad<br />
<br />
;sha3-224sum<br />
D650C03EC4CBAD76DED2CDE5232128F46CA311B266EC09C36D349728<br />
<br />
;sha3-256sum<br />
9FEC011CC05F1430A3832019B72F280536F1E395F067C3E53193A70F082D193B<br />
<br />
;sha3-384sum<br />
3CBFAAAA2509DAFA6804F5CDF5271594F7D6F44038BB342C7BBC802047C05BE98C8AF6020EBB51291188AC99D6803F52<br />
<br />
;sha3-512sum<br />
E30381FFC93C3E727FCF080C2A46852C042517899D8E823435B99A94345C3F95A25FA11DFEE422ED7C7FD009893B5482BEBA87B7FF3B546D4655ADB6EAE410F8</div>
Kuuote
https://wiki.archlinux.jp/index.php?title=Vifm&diff=17968
Vifm
2020-10-07T00:12:18Z
<p>Kuuote: 関連記事の追加</p>
<hr />
<div>[[Category:ファイルマネージャ]]<br />
[[ar:Vifm]]<br />
[[en:Vifm]]<br />
{{Related articles start}}<br />
{{Related|nnn}}<br />
{{Related|ranger}}<br />
{{Related articles end}}<br />
[http://vifm.info/ Vifm] のホームページより:<br />
:'' Vifm は ncurses ベースのファイルマネージャで、vi のようなキーバインディング/モード/オプション/コマンド/設定を備えています。また、[[mutt]] からもアイデアを頂戴しています。[[vi]] を使っているのであれば、Vifm では新しいコマンドセットを覚えなくても完全にファイルをキーボードで制御できるでしょう。''<br />
<br />
== インストール ==<br />
<br />
{{Pkg|vifm}} パッケージを[[インストール]]してください。<br />
<br />
== ヘルプファイル ==<br />
<br />
vifm の基本的な情報はヘルプファイルに書かれています。vifm を開いて次を入力することでヘルプファイルを見ることができます:<br />
<br />
:h<br />
<br />
他の情報は man ページを見てください。<br />
<br />
== Vifm のカスタマイズ ==<br />
<br />
Vifm はホームディレクトリに .vifm フォルダを作成し、以下のファイルが保存されます:<br />
* vifmrc - 作業スタイルにあわせて編集できるコメント豊富な設定ファイル。<br />
* vifm-help.txt - ヘルプテキスト。<br />
* vifminfo - ブックマークおよびゴミ箱の中身。手動で編集することは推奨されていません。<br />
* Trash/ ディレクトリ - ゴミ箱。<br />
* colors/ ディレクトリ - カラースキーム。<br />
** Default - コメントが豊富についているデフォルトのカラースキーム。コピーして自分でカラースキームを作成できます。<br />
<br />
最初に以下のドキュメントを読んでください:<br />
* {{ic|/usr/share/vifm/vifm.txt}}<br />
* {{ic|/usr/share/vifm/vifm-help.txt}}<br />
<br />
=== カラースキーム ===<br />
<br />
{{ic|~/.vifm/colors}} ディレクトリにはカラースキームを保存します。フォーマットはフ vi/vim のシンタックスハイライトのフォーマットに従っています:<br />
highlight ''group'' cterm=''attribute'' ctermfg=''color'' ctermbg=''color''<br />
<br />
例えばカラースキームは以下のようになります:<br />
highlight Win cterm=none ctermfg=white ctermbg=black<br />
highlight Directory cterm=bold ctermfg=cyan ctermbg=none<br />
highlight Link cterm=bold ctermfg=yellow ctermbg=none<br />
highlight BrokenLink cterm=bold ctermfg=red ctermbg=none<br />
highlight Socket cterm=bold ctermfg=magenta ctermbg=none<br />
highlight Device cterm=bold ctermfg=red ctermbg=none<br />
highlight Fifo cterm=bold ctermfg=cyan ctermbg=none<br />
highlight Executable cterm=bold ctermfg=green ctermbg=none<br />
highlight Selected cterm=bold ctermfg=magenta ctermbg=none<br />
highlight CurrLine cterm=bold ctermfg=none ctermbg=blue<br />
highlight TopLine cterm=none ctermfg=black ctermbg=white<br />
highlight TopLineSel cterm=bold ctermfg=black ctermbg=none<br />
highlight StatusLine cterm=bold ctermfg=black ctermbg=white<br />
highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black<br />
highlight CmdLine cterm=none ctermfg=white ctermbg=black<br />
highlight ErrorMsg cterm=none ctermfg=red ctermbg=black<br />
highlight Border cterm=none ctermfg=black ctermbg=white<br />
<br />
正規表現を使ってファイルタイプをハイライトすることもできます:<br />
highlight /^.*\.(mp3|ogg|oga|flac|m4a)$/ ctermfg=magenta<br />
highlight /^.*\.(jpg|jpeg|png|gif|tiff|webp|bmp|svg|svgz)$/ ctermfg=yellow<br />
highlight /^.*\.(zip|gz|bz2|xz|tar|tgz|tbz2|7z|rar|iso|rpm|deb)$/ ctermfg=red<br />
<br />
=== キーマッピング ===<br />
<br />
0.6.2 現在、Vifm ではキーバインドをカスタマイズできます。以下のように map コマンドを使ってコマンドモードから設定できます:<br />
:map ] :s<br />
<br />
ただし、マッピングはセッションを再起動すると消えてしまいます。キーを永続的にマッピングするには {{ic|~/vifm/vifmrc}} にマッピングを記述してください。ファイルの末尾にサンプルマッピングが書かれています。<br />
<br />
=== vifm で開くファイルタイプ ===<br />
<br />
vifmrc を使って以下のようにファイルタイプに対してアプリケーションを指定できます:<br />
filetype *.jpg,*.jpeg,*.png,*.gif feh %f 2>/dev/null &<br />
filetype *.md5 md5sum -c %f<br />
vifmrc には複数のデフォルト設定が存在します。同じフォーマットに従って編集・追加できます。<br />
<br />
==== Feh でカレントディレクトリの画像を表示 ====<br />
<br />
filextype *.jpg,*.jpeg,*.png,*.gif<br />
\ {View in feh}<br />
\ feh -FZ %d --start-at %d/%c 2>/dev/null<br />
選択した画像が feh で表示されます。<br />
<br />
=== ユーザーコマンド ===<br />
<br />
{{ic|vifmrc}} で以下のようにカスタムコマンドを作成できます:<br />
command df df -h %m 2> /dev/null<br />
command diff vim -d %f %F<br />
<br />
==== シンボリックリンクの作成 ====<br />
<br />
command link ln -s %d/%f %D<br />
<br />
(分割ビューで) 以下のコマンドを実行すると選択されたファイルのリンクが他のディレクトリに作成されます:<br />
:link<br />
<br />
ビジュアル (v) またはタグ (t) で複数のファイルを選択した場合でも機能します。<br />
<br />
==== Torrent の作成 ====<br />
<br />
カレントファイルの .torrent を他のタブのディレクトリに作成:<br />
command mkt mktorrent -p -a [your announce url here] -o %D/%f.torrent %d/%f<br />
<br />
=== マーク ===<br />
<br />
マークは vi と同じように設定することができます。<br />
<br />
カレントファイルにマークを設定するには:<br />
m[a-z][A-Z][0-9]<br />
<br />
マークしたファイルに移動するには:<br />
'[a-z][A-Z][0-9]<br />
<br />
Vifm はセッションを再起動してもマークを記憶しています。<br />
<br />
=== プレビュー ===<br />
{{Pkg|poppler}} をインストールして、{{ic|vifmrc}} に以下を記述することで pdftotext による PDF プレビューが有効になります:<br />
fileviewer *.pdf<br />
\ pdftotext %c -<br />
<br />
{{ic|%c}} はカーソルのファイルをあらわす vifm マクロです。<br />
<br />
プレビューは以下のコマンドで有効にできます:<br />
:view<br />
<br />
{{Pkg|libcaca}} に含まれている img2txt を使うことで画像のプレビューが可能になります:<br />
fileviewer *.png,*.jpeg,*.jpg<br />
\ img2txt %c <br />
<br />
tar アーカイブの中身をプレビュー:<br />
fileviewer *.tar,*.tar.gz<br />
\ tar -tvf %c<br />
<br />
HTML ドキュメントをプレビューしたい場合は {{Pkg|lynx}}, {{Pkg|links}}, {{Pkg|w3m}} などのテキストベースのブラウザを使うと良いでしょう:<br />
fileviewer *.html<br />
\ w3m %c<br />
<br />
プレビューに役立つプログラム:<br />
* {{Pkg|tree}} - ディレクトリのプレビュー<br />
* {{Pkg|mp3info}} - mp3 ファイルの情報を表示<br />
* {{Pkg|libmediainfo}} - メディア (音声・動画) の情報を表示<br />
<br />
==== vifmimgの使用====<br />
[https://github.com/cirala/vifmimg vifmimg] を {{ic|~/.config/vifm}} ディレクトリに複製することもできます。 {{ic|vifmrun}} スクリプトを実行するためのエイリアスを作成する必要があります。これにより、プレビュー用にすべてが準備されます。<br />
alias v="~/.config/vifm/vifmrun ."<br />
{{ic|vifm}} は、ターミナルで {{ic|v}} と入力するだけで開始できます。<br />
<br />
{{Warning| {{Pkg|ueberzug}} をインストールする必要があります。そうしないとプレビューが機能しません!}}<br />
{{note|開始するファイルを選択してプレビューを表示し、シェルに切り替えたい場合。 プレビューが消えないことがあります。 その場合は、新しいコマンドを追加する必要があります。<br />
command! clear vifmimg clear<br />
このコマンドをマッピングに追加すると、シェルに入るように現在の {{ic|vifm}} ランタイムが終了します<br />
{{bc|nmap S :clear|shell<Cr>}}<br />
{{ic|S}}と入力すると、シェルに入り、プレビューが削除されます。}}<br />
<br />
== ヒントとテクニック ==<br />
<br />
=== 便利なキーマッピング ===<br />
<br />
====コマンドラインにアクセスするためのシングルストローク====<br />
nmap ; :<br />
<br />
====より速い動き====<br />
Shiftキーを押しながら5つのファイルをジャンプ<br />
nnoremap J 5j<br />
nnoremap K 5k<br />
<br />
====パネルのサイズ変更====<br />
パネルのサイズを変更するには、{{ic|-}} または {{ic|_}} を入力するだけです<br />
nnoremap J 5j<br />
nnoremap K 5k<br />
<br />
====Yanking====<br />
{{ic|yd}} と入力して、ディレクトリパスをヤンクします<br />
nnoremap yd :!echo -n %d | xclip -selection clipboard %i<cr>:echo expand('%"d') "is yanked to clipboard"<cr><br />
{{ic|yf}} と入力して、ファイルへの絶対パスをヤンクします<br />
nnoremap yf :!echo -n %c:p | xclip -selection clipboard %i<cr>:echo expand('%"c:p') "is yanked to clipboard"<cr><br />
<br />
=== vim を使っていない場合 ===<br />
{{ic|vifm}} は {{ic|vim}} が見つからないとエラーを表示します。{{ic|vi}} または {{ic|nvim}} ([[Neovim]]) を使用する場合、{{ic|~/.vifm/vifmrc}} ファイルを編集してください。{{ic|<nowiki>set vicmd=vim</nowiki>}} という行をコメントアウトして {{ic|<nowiki>set vicmd=vi</nowiki>}} あるいは {{ic|<nowiki>set vicmd=nvim</nowiki>}} に置き換えてください。{{ic|.exrc}} と同じようにコメント行はダブルクォートを行頭にします。<br />
<br />
=== 選択したファイルの合計容量 ===<br />
<br />
選択したファイルの合計サイズを表示するには {{ic|~/.vifm/vifmrc}} の %s を以下のように %E に変更してください:<br />
set statusline=" %t%= %A %10u:%-7g %15E %20d "<br />
<br />
===ステータス行で外部プログラムの出力を使用する===<br />
<br />
次に、[[ファイルのパーミッションと属性#chattr と lsattr|lsattr]] を呼び出し、現在カーソルの下にあるファイルの名前を渡すステータス行を示します。<br />
set statusline="%{system('lsattr -l ' . expand('%c'))}"<br />
<br />
===現在選択されているファイルを印刷する===<br />
プリンタでファイルを印刷したい場合は、{{ic|lp}} でコマンドを作成できます。<br />
command! print lp -n 1 -o sides=two-sided-long-edge %f<br />
印刷するファイルを選択して、{{ic|:print}} と入力するだけです。<br />
<br />
===ドラッグアンドドロップ===<br />
{{AUR|dragon-drag-and-drop}} をインストールして新しいコマンドを追加する必要があります:<br />
command! dragon dragon-drag-and-drop -a -x %f<br />
必要に応じて、この新しいコマンドへのショートカットを設定することもできます。<br />
nmap <C-d> :dragon<CR><br />
したがって、{{ic|Ctrl + d}} を押すと、現在選択されているファイルがポップされるので、別の場所にドロップできます。複数のファイルをドラッグする場合は、{{ic|t}} でファイルを選択し、{{ic|Ctrl + d}} を押します。<br />
<br />
詳細については、[https://vifm.info/manual.shtml#Expression%20syntax expression syntax] および [https://vifm.info/manual.shtml#Functions functions]を参照してください。</div>
Kuuote
https://wiki.archlinux.jp/index.php?title=Anki&diff=17967
Anki
2020-10-07T00:10:01Z
<p>Kuuote: 漢字の筆順のサポート -> AURパッケージのリンク切れの修正</p>
<hr />
<div>[[Category:アプリケーション]]<br />
[[en:anki]]<br />
[http://ankisrs.net/ Anki] は暗記を楽にするプログラムです。効率に優れた学習方法を使用することで、伝統的な暗記方法より多くの勉強時間の削減と学習量の向上が見込めます。<br />
<br />
このガイドでは Anki のインストール方法を示します。<br />
<br />
== インストール ==<br />
<br />
最新版の ''Anki'' は {{pkg|anki}} パッケージで[[インストール]]できます。もしくは、開発版は {{aur|anki-git}} パッケージでインストールできます。<br />
<br />
初期状態では、カードは AnkiWeb サーバーと同期されますが、自分で立てた {{aur|anki-sync-server}} も使えます。<br />
<br />
=== 古いバージョン ===<br />
<br />
Anki バージョン 1 を使いたい場合、{{AUR|anki12}} パッケージをインストールしてください。Anki バージョン 2.0 を使いたい場合、{{AUR|anki20-bin}} パッケージをインストールしてください。<br />
<br />
{{Note|2.1以前のバージョンでは、脆弱な [https://www.archlinux.org/todo/phasing-out-qtwebkit/ Qt 4 の QtWebKit] が利用されています。}}<br />
<br />
== ヒントとテクニック ==<br />
<br />
=== 漢字の筆順のサポート ===<br />
<br />
anki で漢字の筆順を表示したい場合は [[AUR]] から {{AUR|ttf-kanjistrokeorders}} をインストールしてください。インストール後、anki のデッキプロパティでフォントを選択する必要があります。<br />
<br />
=== アジア言語のサポート ===<br />
<br />
[[AUR]] から {{AUR|mecab-ipadic}} をインストールしてください。<br />
<br />
[[公式リポジトリ]]から {{pkg|kakasi}} をインストールしてください。<br />
<br />
anki を起動して、"File->Download->Shared Plugin" から "Japanese Support" プラグインをダウンロード・インストールしてから、再起動してください。<br />
<br />
新しいデッキ (単語帳) を作成後、"deck properties" でデッキモデルとして "Japanese" を選択することで日本語がサポートされます。Japanese Support プラグインをインストールしないと、モデルとして "Japanese" を選択することはできません。<br />
<br />
==参照==<br />
<br />
* [[Mnemosyne]] - 間隔反復によるフラッシュカード学習を行うプログラム</div>
Kuuote
https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Kuuote&diff=17966
利用者:Kuuote
2020-10-06T16:26:57Z
<p>Kuuote: ページの作成:「Linuxや英語の学習を兼ねて、きまぐれに翻訳したり間違っている部分や古い記述の訂正をしたりしています。 英語にあまり自…」</p>
<hr />
<div>Linuxや英語の学習を兼ねて、きまぐれに翻訳したり間違っている部分や古い記述の訂正をしたりしています。<br />
<br />
英語にあまり自信が無かったり(難しい記述はDeepL等に頼っているレベルです)必要に応じて意訳したりしますので、何か問題があれば議論ページやSlackで言って頂くか、訂正をお願いします。</div>
Kuuote
https://wiki.archlinux.jp/index.php?title=Rofi&diff=17963
Rofi
2020-10-06T16:12:04Z
<p>Kuuote: Custom Themesを一部翻訳</p>
<hr />
<div>{{DISPLAYTITLE:rofi}}<br />
[[Category:アプリケーションランチャー]]<br />
[[en:Rofi]]<br />
{{Related articles start}}<br />
{{Related|アプリケーション一覧/その他#アプリケーションランチャー}}<br />
{{Related articles end}}<br />
<br />
[https://github.com/DaveDavenport/rofi Rofi] は [https://github.com/seanpringle/simpleswitcher simpleswitcher] のクローンとして [https://github.com/seanpringle Sean Pringle] によって開発が始まり [https://github.com/DaveDavenport Dave Davenport] によって拡張されたウィンドウスイッチャ・実行ダイアログ・SSH ランチャです。[[dmenu]] を置き換えることができます。<br />
<br />
== インストール ==<br />
<br />
[[公式リポジトリ]]から {{Pkg|rofi}} を[[インストール]]してください。<br />
<br />
== 設定 ==<br />
<br />
現在、オプションを設定する方法が三つあります。<br />
<br />
* ローカル設定。通常、XDGにより {{ic|~/.config/rofi/config.rasi}} にあります。<br />
* Xresources: X サーバーにキー値を格納する方法です。<br />
* コマンドラインオプション<br />
<br />
{{Note|Xresources 形式は rofi 1.6.0 より廃止されており、いつでも動作しなくなる可能性があります。}}<br />
<br />
そのため、<br />
<br />
$ rofi -combi-modi window,drun,ssh -theme solarized -font "hack 10" -show combi<br />
<br />
は、このような設定ファイルで表せます(新しいテーマ形式):<br />
<br />
configuration {<br />
modi: "window,drun,ssh,combi";<br />
theme: "solarized";<br />
font: "hack 10";<br />
combi-modi: "window,drun,ssh";<br />
}<br />
<br />
{{ic|config.rasi}} ファイルのオプション一覧を取得するには {{ic|rofi -dump-config}} を実行してください。{{ic|rofi -dump-config > ~/.config/rofi/config.rasi}} を実行し、直接あなたの {{ic|config}} ファイルに書き込むことができます。<br />
<br />
{{Note|i3 の設定にカンマを入れると問題が発生する可能性があるので注意してください。キーをバインドして rofi を起動するには、設定ファイルを使用するか、カンマを {{ic|#}} で置き換えてください。例:{{ic|rofi -combi-modi window#drun#ssh}}}}<br />
<br />
==Rofi を dmenu の代替として使う==<br />
<br />
Rofi を [[dmenu]] の代わりとして使いたい場合、以下のコマンドを使用します:<br />
<br />
rofi -show run -modi run -location 1 -width 100 \<br />
-lines 2 -line-margin 0 -line-padding 1 \<br />
-separator-style none -font "mono 10" -columns 9 -bw 0 \<br />
-disable-history \<br />
-hide-scrollbar \<br />
-color-window "#222222, #222222, #b1b4b3" \<br />
-color-normal "#222222, #b1b4b3, #222222, #005577, #b1b4b3" \<br />
-color-active "#222222, #b1b4b3, #222222, #007763, #b1b4b3" \<br />
-color-urgent "#222222, #b1b4b3, #222222, #77003d, #b1b4b3" \<br />
-kb-row-select "Tab" -kb-row-tab ""<br />
<br />
{{Tip|上記のコマンドに {{ic|-dump-xresources}} フラグを追加して、出力されたテキストをファイルに保存して [https://davedavenport.github.io/rofi/p11-Generator.html 公式テーマジェネレータ] にアップロードすることでさらなるカスタマイズができます。}}<br />
{{Note|コマンドラインオプションの {{ic|-show run}} と {{ic|-modi run}} によって Rofi は [[dmenu]] によって提供されている {{ic|dmenu_run}} と同じように動作しますが、Rofi の機能は制限されます。モードについて詳しくは {{ic|man rofi}} や [https://github.com/DaveDavenport/rofi 公式のプロジェクトの説明] を見てください。}}<br />
<br />
==Execute shell commands from rofi==<br />
<br />
If you want the ability to run shell commands or use your own scripts directly from rofi with seeing the output, then ensure following:<br />
* configure the PATH variable in {{ic|~/.profile}} (instead of e.g. {{ic|~/.bashrc}}) and then logout and re-login to your window manager/desktop environment<br />
* define {{ic|-run-shell-command '{terminal} -e \\"{cmd}; read -n 1 -s"'}}. This allows you to enter the command on the inputbar followed by SHIFT+ENTER. The terminal stays open until the next keypress.<br />
<br />
This is an example with the recommended escaping sequence for i3:<br />
<br />
bindsym $mod+d exec --no-startup-id "rofi -show drun -font \\"DejaVu 9\\" -run-shell-command '{terminal} -e \\" {cmd}; read -n 1 -s\\"'"<br />
<br />
== カスタムテーマ ==<br />
<br />
以下のコマンドで rofi のテーマのプレビューと適用ができます<br />
<br />
rofi-theme-selector<br />
<br />
カスタマイズはあなたの [[Xresources|.Xresources ファイル]] に保存されます({{Pkg|xorg-xrdb}} パッケージを要求します)。<br />
変更をリロードするには {{ic|xrdb -load ~/.Xresources}} により .Xresources をリロードします。<br />
<br />
===Contributed Themes===<br />
<br />
Rofiにはいくつかの公式テーマが付属しており、[https://github.com/DaveDavenport/rofi-themes rofi-themes] リポジトリにはさらに多くのユーザーテーマがあります。<br />
<br />
Load up an official theme, or download a .rasi user theme and place it in {{ic|~/.config/rofi/example.rasi}} on the command line or in a config file:<br />
<br />
rofi <options> -theme example<br />
<br />
or in your configuration file<br />
<br />
theme: "example";</div>
Kuuote
https://wiki.archlinux.jp/index.php?title=Rofi&diff=17962
Rofi
2020-10-06T15:54:43Z
<p>Kuuote: 設定の項目を英語版に追従</p>
<hr />
<div>{{DISPLAYTITLE:rofi}}<br />
[[Category:アプリケーションランチャー]]<br />
[[en:Rofi]]<br />
{{Related articles start}}<br />
{{Related|アプリケーション一覧/その他#アプリケーションランチャー}}<br />
{{Related articles end}}<br />
<br />
[https://github.com/DaveDavenport/rofi Rofi] は [https://github.com/seanpringle/simpleswitcher simpleswitcher] のクローンとして [https://github.com/seanpringle Sean Pringle] によって開発が始まり [https://github.com/DaveDavenport Dave Davenport] によって拡張されたウィンドウスイッチャ・実行ダイアログ・SSH ランチャです。[[dmenu]] を置き換えることができます。<br />
<br />
== インストール ==<br />
<br />
[[公式リポジトリ]]から {{Pkg|rofi}} を[[インストール]]してください。<br />
<br />
== 設定 ==<br />
<br />
現在、オプションを設定する方法が三つあります。<br />
<br />
* ローカル設定。通常、XDGにより {{ic|~/.config/rofi/config.rasi}} にあります。<br />
* Xresources: X サーバーにキー値を格納する方法です。<br />
* コマンドラインオプション<br />
<br />
{{Note|Xresources 形式は rofi 1.6.0 より廃止されており、いつでも動作しなくなる可能性があります。}}<br />
<br />
そのため、<br />
<br />
$ rofi -combi-modi window,drun,ssh -theme solarized -font "hack 10" -show combi<br />
<br />
は、このような設定ファイルで表せます(新しいテーマ形式):<br />
<br />
configuration {<br />
modi: "window,drun,ssh,combi";<br />
theme: "solarized";<br />
font: "hack 10";<br />
combi-modi: "window,drun,ssh";<br />
}<br />
<br />
{{ic|config.rasi}} ファイルのオプション一覧を取得するには {{ic|rofi -dump-config}} を実行してください。{{ic|rofi -dump-config > ~/.config/rofi/config.rasi}} を実行し、直接あなたの {{ic|config}} ファイルに書き込むことができます。<br />
<br />
{{Note|i3 の設定にカンマを入れると問題が発生する可能性があるので注意してください。キーをバインドして rofi を起動するには、設定ファイルを使用するか、カンマを {{ic|#}} で置き換えてください。例:{{ic|rofi -combi-modi window#drun#ssh}}}}<br />
<br />
==Rofi を dmenu の代替として使う==<br />
<br />
Rofi を [[dmenu]] の代わりとして使いたい場合、以下のコマンドを使用します:<br />
<br />
rofi -show run -modi run -location 1 -width 100 \<br />
-lines 2 -line-margin 0 -line-padding 1 \<br />
-separator-style none -font "mono 10" -columns 9 -bw 0 \<br />
-disable-history \<br />
-hide-scrollbar \<br />
-color-window "#222222, #222222, #b1b4b3" \<br />
-color-normal "#222222, #b1b4b3, #222222, #005577, #b1b4b3" \<br />
-color-active "#222222, #b1b4b3, #222222, #007763, #b1b4b3" \<br />
-color-urgent "#222222, #b1b4b3, #222222, #77003d, #b1b4b3" \<br />
-kb-row-select "Tab" -kb-row-tab ""<br />
<br />
{{Tip|上記のコマンドに {{ic|-dump-xresources}} フラグを追加して、出力されたテキストをファイルに保存して [https://davedavenport.github.io/rofi/p11-Generator.html 公式テーマジェネレータ] にアップロードすることでさらなるカスタマイズができます。}}<br />
{{Note|コマンドラインオプションの {{ic|-show run}} と {{ic|-modi run}} によって Rofi は [[dmenu]] によって提供されている {{ic|dmenu_run}} と同じように動作しますが、Rofi の機能は制限されます。モードについて詳しくは {{ic|man rofi}} や [https://github.com/DaveDavenport/rofi 公式のプロジェクトの説明] を見てください。}}<br />
<br />
==Execute shell commands from rofi==<br />
<br />
If you want the ability to run shell commands or use your own scripts directly from rofi with seeing the output, then ensure following:<br />
* configure the PATH variable in {{ic|~/.profile}} (instead of e.g. {{ic|~/.bashrc}}) and then logout and re-login to your window manager/desktop environment<br />
* define {{ic|-run-shell-command '{terminal} -e \\"{cmd}; read -n 1 -s"'}}. This allows you to enter the command on the inputbar followed by SHIFT+ENTER. The terminal stays open until the next keypress.<br />
<br />
This is an example with the recommended escaping sequence for i3:<br />
<br />
bindsym $mod+d exec --no-startup-id "rofi -show drun -font \\"DejaVu 9\\" -run-shell-command '{terminal} -e \\" {cmd}; read -n 1 -s\\"'"<br />
<br />
==Custom Themes==<br />
<br />
You can preview and apply themes for rofi with<br />
<br />
rofi-theme-selector<br />
<br />
Customizations may be saved to your [[X_resources|.Xresources file]] (requires the {{pkg|xorg-xrdb}} package).<br />
To apply changes reload .Xresources with {{ic|xrdb -load ~/.Xresources}}.<br />
<br />
===Contributed Themes===<br />
<br />
See the official [https://github.com/DaveDavenport/rofi-themes rofi-themes] repository for a list of custom themes.<br />
<br />
Download one of the .rasi themes and place it in {{ic|~/.config/rofi/example.rasi}}. Then load up the theme on the command line or in a config file:<br />
<br />
rofi <options> -theme example<br />
<br />
or in your configuration file<br />
<br />
rofi.theme: example</div>
Kuuote
https://wiki.archlinux.jp/index.php?title=Wget&diff=17961
Wget
2020-10-06T15:15:29Z
<p>Kuuote: mwgetの行を翻訳</p>
<hr />
<div>[[Category:インターネットアプリケーション]]<br />
[[ar:Wget]]<br />
[[en:Wget]]<br />
[[es:Wget]]<br />
[https://www.gnu.org/software/wget/ GNU Wget] は広く使われているインターネットプロトコルである HTTP, HTTPS, FTP, FTPS (1.18 以降) を使用してファイルを取得するためのフリーソフトウェアパッケージです。インタラクティブなコマンドラインツールではないため、スクリプトや cron ジョブ、X-Windows のないターミナルなどから簡単に呼び出すことができます。<br />
<br />
==インストール==<br />
[[pacman]] を使って {{Pkg|wget}} パッケージを[[インストール]]してください。AUR には git バージョンが存在します: {{AUR|wget-git}}。<br />
<br />
wgetの代わり: {{AUR|mwget}} は、ダウンロード速度を大幅に向上させることができる、マルチスレッドのダウンロードアプリケーションです。<br />
<br />
==設定==<br />
設定は {{ic|/etc/wgetrc}} で行います。デフォルトの設定ファイルはドキュメントがよく整理されているだけでなく、変更する必要は基本的にありません。複雑なオプションについては man ページを見て下さい。<br />
<br />
===FTP の自動化===<br />
大抵、ネットワーク上で安全にファイルを転送したいときは [[SSH]] が使われますが、SSH で scp や [[rsync]] を使うよりも FTP の方がリソースの消費が抑えられます。FTP はセキュアではありませんが、ファイアウォールで保護されている環境で、CPU が制約されるようなシステムで巨大なデータを転送する場合、FTP を使用するのが理にかなっています。<br />
# wget <nowiki>ftp://root:somepassword@10.13.X.Y//ifs/home/test/big/</nowiki>"*.tar"<br />
3,562,035,200 74.4M/s in 47s<br />
上記の例では、Wget は 3.3 GB のファイルを 74.4MB/s の速度で転送しています。<br />
<br />
以下の利点があります:<br />
*スクリプトに組み込める<br />
*ssh よりも高速<br />
*簡単に文字列を置換できる<br />
*globbing 機能<br />
<br />
===プロキシ===<br />
Wget は通常のプロキシ環境変数を使います。参照: [[プロキシ設定]]。<br />
<br />
プロキシ認証機能を使うには:<br />
$ wget --proxy-user "DOMAIN\USER" --proxy-password "PASSWORD" URL<br />
<br />
HTML 認証フォームを使用するプロキシは利用できません。<br />
<br />
===pacman の設定===<br />
[[pacman]] で Wget を使ってプロキシ認証を自動的に行わせたい場合、{{ic|/etc/pacman.conf}} の {{Ic|[options]}} セクションに Wget コマンドを記述します:<br />
XferCommand = /usr/bin/wget --proxy-user "domain\user" --proxy-password="password" --passive-ftp -q --show-progress -c -O %o %u<br />
{{Warning|プレーンテキストにパスワードを保存することは安全ではありません。{{Ic|chmod 600 /etc/pacman.conf}} で root しかファイルを読めないようにしてください。}}<br />
<br />
==使用方法==<br />
このセクションでは Wget のユースケースを紹介します。<br />
<br />
===基本的な使い方===<br />
<br />
Wget の最も一般的なユースケースはインターネットからのファイルのダウンロードでしょう。例えば、[https://upload.wikimedia.org/wikipedia/commons/f/fb/Blue_Wildebeest%2C_Ngorongoro.jpg Wikipedia のヌーの画像] をダウンロードするには、以下のように実行します:<br />
<br />
<nowiki>$ wget https://upload.wikimedia.org/wikipedia/commons/f/fb/Blue_Wildebeest%2C_Ngorongoro.jpg</nowiki><br />
<br />
ダウンロードするファイルの URL を既に知っている場合、ブラウザでダウンロードして適当なディレクトリに手動で移動するよりも素早くダウンロードができます。もちろん、単純な使い方以外にも、必要であればダウンロードの自動化を行うことができます。<br />
<br />
===ウェブサイトの完全なアーカイブを作成===<br />
Wget はウェブサイトの完全なアーカイブ作成を行うことができます。絶対リンクを相対リンクに変更することでリンクが切れないようにします。<br />
<br />
<nowiki>$ wget -np -r -k 'http://your-url-here'</nowiki></div>
Kuuote
https://wiki.archlinux.jp/index.php?title=Mkinitcpio&diff=17945
Mkinitcpio
2020-10-05T11:45:23Z
<p>Kuuote: 関連記事を英語版と同期</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:ブートプロセス]]<br />
[[Category:カーネル]]<br />
[[Category:Arch プロジェクト]]<br />
[[da:Mkinitcpio]]<br />
[[de:Mkinitcpio]]<br />
[[en:Mkinitcpio]]<br />
[[es:Mkinitcpio]]<br />
[[fr:mkinitcpio]]<br />
[[id:Mkinitcpio]]<br />
[[it:Mkinitcpio]]<br />
[[ru:Mkinitcpio]]<br />
[[zh-hans:Mkinitcpio]]<br />
{{Related articles start}}<br />
{{Related|systemd}}<br />
{{Related|カーネルモジュール}}<br />
{{Related|initramfs の最小化}}<br />
{{Related|ブートデバッグ}}<br />
{{Related|dracut}}<br />
{{Related articles end}}<br />
<br />
[https://projects.archlinux.org/mkinitcpio.git/ mkinitcpio] は [[Wikipedia:Initial ramdisk|initial ramdisk]] 環境を作成するために使われる Bash スクリプトです。{{man|8|mkinitcpio}} より:<br />
<br />
:''initial ramdisk は非常に小さい環境(初期ユーザー空間)であり、様々なカーネルモジュールをロードして [[init]] にコントロールを移す前に必要なことをセットアップします。これにより、root ファイルシステムを暗号化したりソフトウェア RAID アレイに root を載せることが可能になります。mkinitcpio はカスタムフックによって簡単に拡張することができ、自動時の自動検知など様々な機能を持っています。''<br />
<br />
伝統的には、[[Arch ブートプロセス|ブートプロセス]]の初めにハードウェアを検知したりタスクの初期化を行うのはカーネルで、それから root ファイルシステムがマウントされ {{ic|init}} にコントロールが移されます。しかしながら、先端技術が生まれるにつれ、こういった作業は複雑になりつつあります。<br />
<br />
今日、root ファイルシステムが載るハードウェアは SCSI から SATA、USB ドライブまで様々にわたり、それらハードウェアはそれぞれのマニュファクチャーによって作られたいろんなドライブコントローラによってコントロールされています。しかも、root ファイルシステムは暗号化されたり圧縮されたりする可能性もあります; ソフトウェア RAID アレイや論理ボリュームグループに含まれるかもしれません。複雑になったものをシンプルに扱う方法はユーザースペースへ管理を譲渡することです。<br />
参照: [https://web.archive.org/web/20150430223035/http://archlinux.me/brain0/2010/02/13/early-userspace-in-arch-linux/ /dev/brain0 &raquo; Blog Archive &raquo; Early Userspace in Arch Linux]。<br />
<br />
mkinitcpio は Arch Linux デベロッパーとコミュニティの貢献によって開発されています。[https://projects.archlinux.org/mkinitcpio.git/ Git リポジトリ]を見て下さい。<br />
<br />
== インストール ==<br />
<br />
{{Pkg|mkinitcpio}} パッケージは[[公式リポジトリ]]で利用可能で {{Pkg|linux}} パッケージの依存パッケージになっています。<br />
<br />
上級者は {{AUR|mkinitcpio-git}} パッケージで mkinitcpio の最新開発バージョンをインストールできます。<br />
<br />
{{Note|Git から mkinitcpio を使う時は [https://lists.archlinux.org/listinfo/arch-projects arch-projects メーリングリスト]を購読することが''強く''推奨されます!}}<br />
<br />
== イメージ作成とアクティベーション ==<br />
<br />
デフォルトで、カーネルのインストール・アップグレードが行われた後 mkinitcpio スクリプトは2つのイメージを生成します: {{ic|/boot/initramfs-linux.img}} と {{ic|/boot/initramfs-linux-fallback.img}}。''fallback'' イメージは ''default'' イメージと同じ設定ファイルを利用しますが、作成中に ''autodetect'' フックだけはスキップされ、全てのモジュールが入ります。''autodetect'' フックは必要なモジュールを検出して、イメージを固有のハードウェアにあわせて、initramfs を小さくします。<br />
<br />
様々な設定ファイルを使って initramfs イメージを沢山作りたいと思っているユーザーもいるかもしれません。ブートローダに使いたいイメージを指定する必要があります、主としてブートローダの[[ブートローダー|設定ファイル]]で指定します。設定ファイルに変更を加えた後は、イメージを再生成しなければなりません。標準の Arch Linux カーネル {{Pkg|linux}} で再生成するには次のコマンドを root 権限で実行してください:<br />
<br />
# mkinitcpio -p linux<br />
<br />
{{ic|-p}} スイッチはプリセット (''preset'') を使うことを示します; ほとんどのカーネルパッケージは {{ic|/etc/mkinitcpio.d}} の中に関連する mkinitcpio プリセットファイルを提供しています (例: {{ic|linux}} は {{ic|/etc/mkinitcpio.d/linux.preset}})。毎回設定ファイルと出力ファイルを指定する代わりに initramfs イメージを作成する方法がプリセットに定義されています。<br />
<br />
{{Warning|''プリセット''ファイルはカーネルがアップデートされた後 initramfs を再生成するときに自動で使われます; 編集する時は気をつけて下さい。}}<br />
<br />
ユーザーは他の設定ファイルを使ってイメージを手動で作成することもできます。例えば、以下のコマンドは {{ic|/etc/mkinitcpio-custom.conf}} の指示に従って initramfs イメージを生成し {{ic|/boot/linux-custom.img}} にイメージを保存します。<br />
<br />
# mkinitcpio -c /etc/mkinitcpio-custom.conf -g /boot/linux-custom.img<br />
<br />
現在動作しているカーネル以外のカーネル用のイメージを作成するときは、コマンドラインにカーネルのバージョンを加えて下さい。{{ic|/usr/lib/modules}} 内でカーネルバージョンを見ることができます。<br />
<br />
# mkinitcpio -g /boot/linux-custom2.img -k 3.3.0-ARCH<br />
<br />
== 設定 ==<br />
<br />
''mkinitcpio'' の基本の設定ファイルは {{ic|/etc/mkinitcpio.conf}} です。さらに、カーネルパッケージによって提供されるプリセット定義が {{ic|/etc/mkinitcpio.d}} ディレクトリにあります (例: {{ic|/etc/mkinitcpio.d/linux.preset}})。<br />
<br />
{{Warning|デフォルトでは ''lvm2'', ''mdadm'', ''encrypt'' は有効化されていません。これらのフックが必要なときは注意してこのセクションを読んで下さい。}}<br />
<br />
{{Note|ノード名が同一でカーネルモジュールが異なる複数のディスクコントローラを使っている場合 (例: 2つの SCSI/SATA または2つの IDE コントローラ)、{{ic|/etc/mkinitcpio.conf}} で指定するモジュールの順番が正しいことを確認して下さい。再起動で root デバイスの場所が変わってしまって、カーネルパニックが発生する可能性があります。また、[[永続的なブロックデバイスの命名]]を使えば正しいデバイスを確実にマウントすることができます。}}<br />
<br />
{{Note|PS/2 キーボードを使っている場合: init でキーボード入力を使えるようにするには、{{ic|HOOKS}} に ''keyboard'' フックを追加してください。マザーボードによっては (特に旧世代のマザーボード)、i8042 コントローラが自動で検出されないことがあります。稀ですが、キーボードがないということもありえます。事前にこの状態を検出することができます。PS/2 端子があって {{ic|i8042: PNP: No PS/2 controller found. Probing ports directly}} メッセージが表示される場合、''atkbd'' を {{ic|MODULES}} に追加してください。}}<br />
<br />
ユーザーは設定ファイルの中にある6つの変数を修正することが可能です:<br />
<br />
; {{ic|MODULES}}: boot フックが実行される前にロードするべきカーネルモジュール。 <br />
; {{ic|BINARIES}}: initramfs イメージに含める追加のバイナリ。<br />
; {{ic|FILES}}: initramfs イメージに含める追加のファイル。<br />
; {{ic|HOOKS}}: フックは initial ramdisk で実行するスクリプトです。<br />
; {{ic|COMPRESSION}}: initramfs イメージを圧縮するのに使われます。<br />
; {{ic|COMPRESSION_OPTIONS}}: {{ic|COMPRESSION}} プログラムに渡すコマンドラインオプション。この設定の使用はあまり推奨されません。mkinitcpio は圧縮プログラムに特殊な細工を施すので (例: xz には {{ic|1=--check=crc32}} を指定します)、誤って利用するとシステムが起動できなくなる可能性があります。<br />
<br />
=== MODULES ===<br />
<br />
MODULES 行では何か他のことが行われる前にロードするモジュールを指定します。<br />
<br />
モジュールの後ろに {{ic|?}} を付けると、モジュールが見つからなかったときでもエラーを投げません。これは、フックや設定ファイルにリストアップされたモジュールを含んでコンパイルするカスタムカーネルで有益かもしれません。<br />
<br />
{{Note|<br />
* ''reiser4'' を使う場合、モジュールのリストに必ず追加するようにしてください。<br />
* mkinitcpio の実行時ライブでないブートプロセスの間にファイルシステムが必要な場合 (例えば LUKS の暗号化キーファイルが ''ext2'' ファイルシステム上にあって mkinitcpio の実行時には ''ext2'' ファイルシステムはマウントしない場合)、そのファイルシステムのモジュールも MODULES リストに追加する必要があります。詳しくは [[Dm-crypt/システム設定#cryptkey]] を参照。}}<br />
<br />
=== BINARIES と FILES ===<br />
<br />
ユーザーはオプションを使ってイメージにファイルを追加することができます。{{ic|BINARIES}} と {{ic|FILES}} はフックが実行される前に追加され、フックによって使用されるファイルを上書きすることがあります。{{ic|BINARIES}} は標準の {{ic|PATH}} に自動で配置され、依存関係がパースされます。つまり必要なライブラリも全て追加されます。{{ic|FILES}} は''そのままの状態で'' (as-is) 追加されます。例:<br />
<br />
FILES=(/etc/modprobe.d/modprobe.conf)<br />
<br />
BINARIES=(kexec)<br />
<br />
{{ic|BINARIES}} と {{ic|FILES}} のどちらでも、スペースで区切ることで複数のエントリを追加することができます。<br />
<br />
=== HOOKS ===<br />
<br />
{{ic|HOOKS}} 設定は設定ファイルの中で一番重要な設定です。フックはイメージに追加されるものを記述する小さなスクリプトです。フックによっては、デーモンを起動したりスタックしたブロックデバイスを集めたりするためのランタイムコンポーネントを含んでいるものもあります。フックは名前によって参照され、設定ファイルの {{ic|HOOKS}} にある順番通りに実行されます。<br />
<br />
ほとんどのシンプルな、シングルディスクセットアップではデフォルトの {{ic|HOOKS}} 設定で十分なはずです。[[LVM]], [[mdadm]], [[dm-crypt]] などスタックした root デバイスやマルチブロックデバイスを使う時は、関連する wiki ページを見て必要な設定を調べて下さい。<br />
<br />
==== ビルドフック ====<br />
<br />
ビルドフックは {{ic|/usr/lib/initcpio/install/}} にあります。カスタムビルドフックは {{ic|/etc/initcpio/install/}} に配置します。これらのファイルは mkinitcpio の実行時に bash シェルによって実行されます。ビルドフックには2つの関数が含まれています: {{ic|build}} と {{ic|help}}。{{ic|build}} 関数にはイメージに追加するモジュール・ファイル・バイナリを記述します。これらのアイテムの追加を容易にする {{man|8|mkinitcpio}} による API が用意されています。{{ic|help}} 関数はフックの役割を出力します。<br />
<br />
すべてのフックを一覧するには:<br />
<br />
$ mkinitcpio -L<br />
<br />
特定のフックのヘルプを出力するには mkinitcpio の {{ic|-H}}/{{ic|--hookhelp}} オプションを使って下さい、例えば:<br />
<br />
$ mkinitcpio -H udev<br />
<br />
==== ランタイムフック ====<br />
<br />
ランタイムフックは {{ic|/usr/lib/initcpio/hooks/}} にあります。カスタムランタイムフックは {{ic|/etc/initcpio/hooks/}} に配置します。全てのランタイムフックには同じ名前のビルドフックが存在している必要があり、そのビルドフックは {{ic|add_runscript}} をコールしてランタイムフックをイメージに追加します。これらのファイルは初期ユーザ空間で busybox の ash シェルによって実行されます。cleanup フックを除いて全てのフックは {{ic|HOOKS}} 設定の順番で実行されます。ランタイムフックには複数の関数を含めることができます:<br />
<br />
{{ic|run_earlyhook}}: API ファイルシステムがマウントされカーネルコマンドラインがパースされたときに、この名前の関数が実行されます。一般的に udev など初期ユーザ空間が始まったときに必要になる追加のデーモンはこの関数に置きます。<br />
<br />
{{ic|run_hook}}: 初期のフックの後すぐに、この名前の関数が実行されます。一番普通のフックポイントで、スタックブロックデバイスのアセンブリなどのオペレーションはここで行なって下さい。<br />
<br />
{{ic|run_latehook}}: root デバイスがマウントされた後、この名前の関数が実行されます。root デバイスの後のセットアップや {{ic|/usr}} など他のファイルシステムのマウントなどに控えめに使われます。<br />
<br />
{{ic|run_cleanuphook}}: 出来る限り最後に、この名前の関数が実行されます。設定ファイルの {{ic|HOOKS}} の順番とは逆に実行されます。これらのフックは初期のフックによって起動したデーモンのシャットダウンなど、最後のクリーンアップに使われます。<br />
<br />
==== 通常のフック ====<br />
<br />
通常のフックとイメージ生成への影響と関連するランタイムを示した表です。パッケージにカスタムフックを入れることができるので、この表は完全ではないことに注意してください。<br />
<br />
{| class="wikitable"<br />
|+ '''現行のフック'''<br />
|-<br />
! busybox init !! systemd init !! [[#ビルドフック|ビルドフック]] !! [[#ランタイムフック|ランタイムフック]] (busybox init のみ)<br />
|-<br />
|colspan="2" style="text-align: center;"| '''base''' || 全ての initial directory をセットアップし基本のユーティリティとライブラリをインストールする。何をしようとしているのかわからない限りはこのフックを一番最初のフックにしておいてください。'''systemd''' フックを使用している場合、busybox のリカバリシェルが提供されます。<br />
| --<br />
|-<br />
| style="text-align: center;"| '''udev''' ||rowspan="3" style="text-align: center;"| '''systemd''' || イメージに udevd, udevadm, そして udev ルールの小さなサブセットを追加します。 || dev デーモンを起動してカーネルからの uevent を処理します。デバイスノードを作成します。ブートプロセスの単純化として、必要なモジュールを明示的に指定する必要をなくすため、udev フックの使用が推奨されています。<br />
|-<br />
| style="text-align: center;"| '''usr''' || {{ic|/usr}} の分割パーティションのサポートを追加。 || real root がマウントされた後に {{ic|/usr}} パーティションをマウントします。<br />
|-<br />
|-<br />
| style="text-align: center;"| '''resume''' || -- || "ハイバネート" (suspend to disk) 状態からの復帰を試みます。詳しい設定方法は[[ハイバネート]]を見てください。<br />
|-<br />
| style="text-align: center;"| '''btrfs''' || {{Grey|--}} || root で [[Btrfs]] を有効にしてサブボリュームを使用するために必要なモジュールを設定します。シングルデバイスで Btrfs を使うだけならこのフックは不要です。 || udev フックが存在しないときに {{ic|btrfs device scan}} を実行してマルチデバイスの Btrfs root ファイルシステムを構築します。このフックを使うには {{Pkg|btrfs-progs}} パッケージが必要です。<br />
|-<br />
|colspan="2" style="text-align: center;"| '''autodetect''' || sysfs のスキャンによってモジュールのホワイトリストを作成して initramfs を小さくします。含まれているモジュールが正しく、欠けているものがないか確認してください。自動検知の利点を活かすためにこのフックは他の subsystem フックより前に実行してください。'autodetect' より前に置かれたフックは完全にインストールされます。 || --<br />
|-<br />
|colspan="2" style="text-align: center;"| '''modconf''' || {{ic|/etc/modprobe.d}} と {{ic|/usr/lib/modprobe.d/}} から modprobe 設定ファイルをロードします。 || --<br />
|-<br />
|colspan="2" style="text-align: center;"| '''block''' || 全てのブロックデバイスモジュールを追加します。昔は ''fw'', ''mmc'', ''pata'', ''sata'', ''scsi'' , ''usb'', ''virtio'' フックに分かれていました。 || --<br />
|-<br />
| style="text-align: center;"| '''net''' || {{R|''未実装''}} || ネットワークデバイスに必要なモジュールを追加します。PCMCIA net デバイスには ''pcmcia'' フックも追加してください。 || NFS の root ファイルシステムの管理を提供します。<br />
|-<br />
| style="text-align: center;"| '''dmraid''' || style="text-align: center;"| ''?'' || fakeRAID root デバイスのサポートを提供します。これを使うには {{Pkg|dmraid}} をインストールする必要があります。コントローラがサポートしている場合、fakeRAID では ''mdadm_udev'' フックと一緒に {{ic|mdadm}} を使うことが推奨されます。 || {{ic|dmraid}} を使用して fakeRAID ブロックデバイスを構築します。<br />
|-<br />
| style="text-align: center;"| '''mdadm''' || {{Grey|--}} || {{ic|/etc/mdadm.conf}} からの RAID アレイの構築や、起動中の自動検出のサポートを提供します。これを使うには {{Pkg|mdadm}} のインストールが必須です。このフックよりも ''mdadm_udev'' フックが推奨されています。 || {{ic|mdassemble}} を使ってソフトウェア RAID ブロックデバイスを構築します。<br />
|-<br />
|colspan="2" style="text-align: center;"| '''mdadm_udev''' || udev による RAID アレイの構築のサポートを提供します。これを使うには {{Pkg|mdadm}} のインストールが必要です。[[FakeRAID]] アレイでこのフックを使う場合、binaries セクションに {{ic|mdmon}} を含めて ''shutdown'' フックを追加することが推奨されます。再起動時に不必要な RAID を再ビルドしないためです。 || {{ic|udev}} と {{ic|mdadm}} を使ってソフトウェア RAID ブロックデバイスを動的に構築します。mdadm アセンブリの推奨方法です (上記の ''mdadm'' フックを使うよりも)。<br />
|-<br />
|colspan="2" style="text-align: center;"| '''keyboard''' || キーボードデバイスに必要なモジュールを追加します。あなたが USB キーボードを使っていて、それを初期ユーザ空間で使う必要があるとき (暗号化のパスフレーズを入力したりインタラクティブシェルを使う場合) はこのフックを使って下さい。副作用としてキーボード以外の入力デバイス用のモジュールが追加されることがありますが、困ることはないはずです。 || --<br />
|-<br />
| style="text-align: center;"| '''keymap''' ||rowspan="2" style="text-align: center;"| '''sd-vconsole''' || {{ic|/etc/vconsole.conf}} から initramfs に指定したキーマップを追加します。システム暗号化 (特に[[Dm-crypt/システム全体の暗号化|完全なシステム暗号化]]) を使用する場合、{{ic|1=encrypt}} フックよりも前に追加するようにしてください。 || 初期ユーザ空間で {{ic|/etc/vconsole.conf}} から指定されたキーマップをロードします。<br />
|-<br />
| style="text-align: center;"| '''consolefont''' || {{ic|/etc/vconsole.conf}} から initramfs に指定したコンソールフォントを追加します。 || 初期ユーザ空間で {{ic|/etc/vconsole.conf}} から指定されたコンソールフォントをロードします。<br />
|-<br />
| style="text-align: center;"| '''encrypt''' || style="text-align: center;"| '''sd-encrypt''' || {{ic|dm_crypt}} カーネルモジュールと {{ic|cryptsetup}} ツールをイメージに追加します。これを使うには {{Pkg|cryptsetup}} をインストールする必要があります。 || 暗号化された root パーティションを検知してアンロックします。設定については [[#ランタイムのカスタマイズ]] を見て下さい。'''sd-encrypt''' については [[Dm-crypt/システム設定#sd-encrypt フックを使う]]を見てください。<br />
|-<br />
| style="text-align: center;"| '''lvm2''' || style="text-align: center;"| '''sd-lvm2''' || device mapper カーネルモジュールと {{ic|lvm}} ツールをイメージに追加します。これを使うには {{Pkg|lvm2}} をインストールする必要があります。 || 全ての LVM2 ボリュームグループを有効にします。root ファイルシステムが [[LVM]] 上にある場合は必須です。<br />
|-<br />
|colspan="2" style="text-align: center;"| '''fsck''' || fsck バイナリとファイルシステム特有のヘルパーを追加します。''autodetect'' フックの後ろに追加した場合、root ファイルシステムのヘルパーだけが追加されます。このフックの使用は強く推奨されており、{{ic|/usr}} パーティションを分割する場合は必須です。 || root デバイス (と分割している場合は {{ic|/usr}}) に対してマウントする前に fsck を実行します。ブートローダーのデフォルト設定で問題ありませんが、疑問がある場合は [https://bbs.archlinux.org/viewtopic.php?pid=1307895#p1307895 こちらの設定] を読んで下さい。<br />
|-<br />
|colspan="2" style="text-align: center;"| '''filesystems''' || イメージに必要なファイルシステムモジュールを含めます。ファイルシステムモジュールを MODULES で指定していない限りこのフックが必要になります。 || --<br />
|-<br />
|}<br />
<br />
==== 廃止されたフック ====<br />
{{Pkg|mkinitcpio}} 0.13.0 では、{{ic|usbinput}} フックは廃止され {{ic|keyboard}} フックを使うようになりました。<br />
<br />
{{Pkg|mkinitcpio}} 0.12.0 では、以下のフックが廃止されました。以下のフックのどれかを使っているときは、{{ic|block}} フックに置き換える必要があります。<br />
<br />
*{{ic|fw}}<br />
*{{ic|mmc}}<br />
*{{ic|pata}}<br />
*{{ic|sata}}<br />
*{{ic|scsi}}<br />
*{{ic|usb}}<br />
*{{ic|virtio}}<br />
<br />
詳しくは、Git コミット [https://projects.archlinux.org/mkinitcpio.git/commit/?id=97368c0e78f3a4fe4d62f7aedde88d4be13bfdba 97368c0e78] や [https://mailman.archlinux.org/pipermail/arch-projects/2012-November/003426.html arch-projects メーリングリスト]を見て下さい。<br />
<br />
=== COMPRESSION ===<br />
<br />
カーネルは initramfs の圧縮に複数のフォーマットをサポートしています - gzip, bzip2, lzma, xz (別名 lzma2), lzo, lz4。ほとんどの場合、gzip か lzop、または lz4 を使ったときに圧縮イメージサイズと展開速度のバランスが一番良くなります。<br />
COMPRESSION="gzip"<br />
COMPRESSION="bzip2" # カーネル 2.6.30 以上<br />
COMPRESSION="lzma" # カーネル 2.6.30 以上<br />
COMPRESSION="lzop" # カーネル 2.6.34 以上<br />
COMPRESSION="xz" # カーネル 2.6.38 以上<br />
COMPRESSION="lz4" # カーネル 3.11、mkinitcpio 16-2 以上<br />
<br />
{{ic|COMPRESSION}} を指定しないときは initramfs ファイルは gzip で圧縮されます。イメージを圧縮したくないときは、{{ic|1=COMPRESSION=cat}} を設定するかコマンドラインで {{ic|-z cat}} を使って下さい。<br />
<br />
使用する圧縮方法の適切なファイル圧縮ユーティリティがインストールされているか確認してください。<br />
<br />
=== COMPRESSION_OPTIONS ===<br />
<br />
{{ic|COMPRESSION}} で指定したプログラムに渡す追加のフラグを記述します、例:<br />
<br />
COMPRESSION_OPTIONS=(-9)<br />
<br />
mkinitcpio はイメージを作成するときサポートされている圧縮方法に必要なフラグを渡すので、通常はこのオプションは必要ありません。なお、カーネルが作成された圧縮ファイルを解凍できないとき、このオプションを使っていないとシステムをブートできなくなる可能性があります。<br />
<br />
== ランタイムのカスタマイズ ==<br />
<br />
ランタイム設定オプションはカーネルコマンドラインを通して {{ic|init}} や特定のフックに渡すことができます。カーネルコマンドラインパラメータはブートローダによって与えられることがほとんどです。下で書かれているオプションをカーネルコマンドラインに追加することでデフォルトの挙動を変えることができます。詳しくは[[カーネルパラメータ]]や [[Arch ブートプロセス]]を見て下さい。<br />
<br />
=== init ===<br />
<br />
; {{ic|root}}: カーネルコマンドラインで指定する一番重要なパラメータであり、どのデバイスを root デバイスとしてマウントするかを決めます。mkinitcpio は柔軟に様々な形式を使うことができるようになっています、例:<br />
root=/dev/sda1 # /dev node<br />
root=LABEL=CorsairF80 # label<br />
root=UUID=ea1c4959-406c-45d0-a144-912f4e86b207 # UUID<br />
root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 # GPT partition UUID<br />
<br />
{{Note|以下のブートパラメーターは initramfs 環境における {{ic|init}} のデフォルトの挙動を変更します。詳しくは {{ic|/usr/lib/initcpio/init}} を参照。{{ic|systemd}} フックが使われている場合 {{ic|base}} フックの {{ic|init}} は置き換わるため機能しません。}}<br />
<br />
; {{ic|break}}: {{ic|<nowiki>break</nowiki>}} や {{ic|<nowiki>break=premount</nowiki>}} が指定された場合、(フックをロードした後、root ファイルシステムをマウントする前に) {{ic|init}} はブートプロセスを停止してトラブルシューティングに使うことができるインタラクティブシェルを起動します。{{ic|<nowiki>break=postmount</nowiki>}} と指定することで root がマウントされた後にこのシェルを起動することもできます。シェルを終了すると通常通りに起動が行われます。<br />
<br />
; {{ic|disablehooks}}: {{ic|<nowiki>disablehooks=hook1{,hook2,...}</nowiki>}} を追加すると実行時にフックを無効化します。例: {{bc|1=disablehooks=resume}}<br />
<br />
; {{ic|earlymodules}}: {{ic|<nowiki>earlymodules=mod1{,mod2,...}</nowiki>}} という風に先にロードするモジュールを指定することでモジュールがロードされる順番を変更することができます (例えば、複数のネットワークインターフェイスの順番を適切に確定したいときなどに使います)。<br />
<br />
; {{ic|rootdelay&#61;N}}: {{ic|rootdelay}} を追加すると root ファイルシステムをマウントする前に {{ic|N}} 秒間だけ停止します (例えば、初期化に時間がかかる USB ハードドライブから起動するときなどに使います)。<br />
<br />
他のパラメータについては[[ブートデバッグ]]や {{man|8|mkinitcpio}} を見て下さい。<br />
<br />
=== RAID を使う ===<br />
<br />
{{Note|{{ic|mdadm}} は推奨されません。更新時に {{ic|1===> WARNING: Hook 'mdadm' is deprecated. Replace it with 'mdadm_udev' in your config}} が表示されます。}}<br />
<br />
まず、{{ic|/etc/mkinitcpio.conf}} 内の {{ic|HOOKS}} に {{ic|mdadm_udev}} または {{ic|mdadm}} フックを追加し、必要な RAID モジュール全て (例: raid456, ext4) を {{ic|MODULES}} に追加して下さい。<br />
<br />
{{ic|mdadm}} フックを使う場合、[[カーネルパラメータ]]で RAID アレイを設定する必要はありません。{{ic|mdadm}} フックは {{ic|/etc/mdadm.conf}} ファイルを使うか、またはブート時の init 段階でアレイを自動で検出します。<br />
<br />
{{ic|mdadm_udev}} フックを使うことで udev による構築も可能です。上流ではこの方法が推奨されています。{{ic|/etc/mdadm.conf}} は構築されたデバイスに名前を付けるために読み込まれます。<br />
<br />
=== net を使う ===<br />
<br />
{{Warning|NFSv4 はまだサポートされていません ({{Bug|28287}})。}}<br />
<br />
'''必要なパッケージ:'''<br />
<br />
{{ic|net}} は {{Pkg|mkinitcpio-nfs-utils}} パッケージを必要とします。<br />
<br />
'''カーネルパラメータ:''' <br />
<br />
公式の[https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt カーネルドキュメント]に最新の情報が載っています。<br />
<br />
'''ip=''' <br />
<br />
このパラメータはカーネルに、デバイスの IP アドレスの設定方法と、IP ルーティングテーブルの設定方法を指定します。コロンで区切った9つの引数を指定できます: {{ic|1=ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>:<dns0-ip>:<dns1-ip>}}。<br />
<br />
カーネルコマンドラインにこのパラメータが存在しなかった場合、全てのフィールドが空とされて、[https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt カーネルドキュメント]に書かれているデフォルト設定が適用されます。一般的にはカーネルは自動設定を使って全てを設定しようとします。<br />
<br />
{{ic|<autoconf>}} パラメータは 'ip' パラメータの唯一の値として指定できます (前の全ての ':' 文字を排除)。値が {{ic|1=ip=off}} や {{ic|1=ip=none}} の場合、自動設定は行われません。そうでないなら、自動的に設定されます。最も一般的な使い方は {{ic|1=ip=dhcp}} です。<br />
<br />
パラメータの説明は、[https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt カーネルドキュメント]を参照してください。<br />
<br />
; 例<br />
ip=127.0.0.1:::::lo:none --> Enable the loopback interface.<br />
ip=192.168.1.1:::::eth2:none --> Enable static eth2 interface.<br />
ip=:::::eth0:dhcp --> Enable dhcp protocol for eth0 configuration.<br />
<br />
{{Note|{{ic|<device>}} パラメータにはカーネルのデバイス名を使用してください (例: ''eth0'')、[[ネットワーク設定#デバイス名|udev]] のデバイス名 (例: ''enp2s0'') では動作しません。}}<br />
<br />
'''BOOTIF='''<br />
<br />
複数のネットワークカードを使っているときは、このパラメータに起動するインターフェイスの MAC アドレスを含めることができます。インターフェイスの数字が変わってしまったり、pxelinux の IPAPPEND 2 や IPAPPEND 3 オプションを使うときに便利です。指定しなかった場合、eth0 が使われます。<br />
<br />
''例:''<br />
BOOTIF=01-A1-B2-C3-D4-E5-F6 # Note the prepended "01-" and capital letters.<br />
<br />
'''nfsroot='''<br />
<br />
{{ic|nfsroot}} パラメータがコマンドラインで指定されなかった場合、デフォルトで {{ic|/tftpboot/%s}} が使われます。<br />
<br />
nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]<br />
<br />
パラメータの説明を見るには {{ic|mkinitcpio -H net}} を実行してください。<br />
<br />
'''root=/dev/nfs'''<br />
<br />
{{ic|nfsroot}} パラメータを使わない場合、{{ic|1=root=/dev/nfs}} を設定して自動設定により NFS root から起動するようにする必要があります。<br />
<br />
=== LVM を使う ===<br />
<br />
root デバイスを [[LVM]] 上に置く場合は、[[LVM#mkinitcpio.conf の設定|lvm2 フックを mkinitcpio.conf に追加する]]必要があります。<br />
<br />
=== 暗号化された root を使う ===<br />
<br />
[[Dm-crypt/システム全体の暗号化|root を暗号化]]している場合、{{ic|filesystems}} の前に {{ic|encrypt}} フックを追加する必要があり、他のフックも必要になります。ブートローダーによって特定のカーネルコマンドラインパラメータを指定しなくてはなりません: 詳しくは [[Dm-crypt/システム設定#mkinitcpio]] を見て下さい。<br />
<br />
=== /usr パーティションを分割する ===<br />
<br />
{{ic|/usr}} のパーティションを別にする場合、以下を行う必要があります:<br />
<br />
* {{ic|fsck}} フックを追加して、{{ic|/etc/fstab}} で {{ic|/usr}} の {{ic|passno}} を {{ic|0}} にする。起動時に {{ic|/usr}} を fsck したい場合は必須です。このフックが存在しないと、{{ic|/usr}} は永遠に fsck されません。<br />
* systemd フックを使っていない場合、{{ic|usr}} フックを追加。ルートがマウントされた後に {{ic|/usr}} パーティションがマウントされるようになります。0.9.0 以前では、{{ic|/usr}} はルートの {{ic|/etc/fstab}} で確認されたら自動的にマウントされていました。[[Fstab]] を参照。<br />
<br />
== トラブルシューティング ==<br />
<br />
=== イメージの展開 ===<br />
<br />
initramfs イメージの中に何が入っているか気になるときは、イメージを展開して中に入っているファイルを調べることができます。<br />
<br />
initramfs イメージは SVR4 CPIO アーカイブであり、{{ic|find}} と {{ic|bsdcpio}} コマンドによって生成されています。また、任意でカーネルが対応した圧縮方法によって圧縮されています。圧縮方法について詳しくは [[#COMPRESSION]] を見て下さい。<br />
<br />
mkinitcpio には {{ic|lsinitcpio}} というユーティリティが含まれており initramfs イメージの中身を一覧・展開することができます。<br />
<br />
イメージ内のファイルを一覧するには:<br />
$ lsinitcpio /boot/initramfs-linux.img<br />
<br />
作業ディレクトリにファイルを全て展開するには:<br />
$ lsinitcpio -x /boot/initramfs-linux.img<br />
<br />
イメージの重要なパーツについて読みやすいリストを取得することもできます:<br />
$ lsinitcpio -a /boot/initramfs-linux.img<br />
<br />
=== 展開して修正を加えたイメージの再圧縮 ===<br />
上記のようにイメージを展開してから修正を加えたら、再圧縮に必要なコマンドを確認します。{{ic|/usr/bin/mkinitcpio}} を編集して以下のように行を変更してください (mkinitcpio v20-1 の場合は531行目):<br />
#MKINITCPIO_PROCESS_PRESET=1 "$0" "${preset_cmd[@]}"<br />
MKINITCPIO_PROCESS_PRESET=1 /usr/bin/bash -x "$0" "${preset_cmd[@]}"<br />
<br />
そして通常のオプションで {{ic|mkinitcpio}} を実行 ({{ic|mkinitcpio -p linux}}) すると、最後の20行に以下のような表示がされます:<br />
+ find -mindepth 1 -printf '%P\0'<br />
+ LANG=C<br />
+ bsdcpio -0 -o -H newc --quiet<br />
+ gzip<br />
<br />
上記の出力が再圧縮するのに必要なコマンドになります。例:<br />
# find -mindepth 1 -printf '%P\0' | LANG=C bsdcpio -0 -o -H newc --quiet | gzip > /boot/initramfs-linux.img<br />
<br />
{{Warning|上書きするまえに自動生成された {{ic|/boot/initramfs-linux.img}} の名前を変更することで、簡単に元に戻すことができるようになります。何か問題が発生して起動できなくなった場合、フォールバックイメージやブート CD で起動して、{{ic|mkinitcpio}} を実行して元のイメージに戻してください。}}<br />
<br />
=== マウントされているのに "/dev must be mounted" と表示される ===<br />
{{ic|/dev}} がマウントされているかどうか確認するのに mkinitcpio は {{ic|/dev/fd/}} が存在するかどうかを確かめます。問題がないようでしたら、手動で作成することができます:<br />
# ln -s /proc/self/fd /dev/<br />
<br />
当然 {{ic|/proc}} のマウントも必要です。mkinitcpio によって次にチェックされます。<br />
<br />
=== LUKS/LVM/resume セットアップで systemd フックを使う ===<br />
伝統的な {{ic|encrypt}}/{{ic|lvm2}}/{{ic|resume}} の代わりに {{ic|systemd}}/{{ic|sd-encrypt}}/{{ic|sd-lvm2}} フックを使う場合、ブートローダーで別の initrd パラメータを渡す必要があります。詳しくはフォーラムの投稿を見て下さい [https://bbs.archlinux.org/viewtopic.php?pid=1480241]。<br />
<br />
=== Possibly missing firmware for module XXXX ===<br />
<br />
カーネルのアップデート後に initramfs を再生成する際、以下のような警告が表示されることがあります:<br />
<br />
==> WARNING: Possibly missing firmware for module: aic94xx<br />
==> WARNING: Possibly missing firmware for module: wd719x <br />
<br />
ファームウェアモジュールをインストールしていない Arch Linux ユーザーなら誰でも表示されます。ファームウェアを使用するハードウェアを使っていない場合、上記のメッセージは無視してかまいません。<br />
<br />
=== 標準的なレスキュー手順 ===<br />
<br />
不適切な初期 RAM ディスクを使用すると、システムが起動できなくなることがよくあります。 したがって、以下のようなシステムレスキュー手順に従ってください。<br />
<br />
==== あるマシンでは起動できるが他のマシンでは起動できない ====<br />
''mkinitcpio'' の {{ic|autodetect}} フックは {{ic|/sys}} をスキャンしてロードされているカーネルモジュールを確認して不要な[[カーネルモジュール]]を排除します。{{ic|/boot}} ディレクトリを他のマシンに移動して、初期ユーザー空間でブートが失敗する場合、カーネルモジュールが存在しないために新しいハードウェアが検出されていないのが原因かもしれません。USB 2.0 と 3.0 では必要なカーネルモジュールが異なるので注意してください。<br />
<br />
修正するには、[[ブートローダー]]から [[#イメージ作成とアクティベーション|fallback]] イメージを選択してください (fallback は {{ic|autodetect}} によるフィルタリングがされていません)。起動したら、新しいマシンで ''mkinitcpio'' を実行して適切なモジュールでイメージを再生成してください。fallback イメージで起動できない場合、Arch Linux のライブ CD/USB で起動して、chroot し、新しいマシンで ''mkinitcpio'' を実行して下さい。それでも駄目な場合、initramfs にモジュールを[[#MODULES|手動]]で追加します。<br />
<br />
== 参照 ==<br />
* Linux カーネルドキュメントの [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/filesystems/ramfs-rootfs-initramfs.txt?id=HEAD initramfs] ''What is rootfs?'' でページ内を検索してください<br />
* Linux カーネルドキュメントの [https://doc.kusakata.com/admin-guide/initrd.html initrd]<br />
* [[Wikipedia:ja:initrd]]</div>
Kuuote
https://wiki.archlinux.jp/index.php?title=%E9%9B%BB%E6%BA%90%E7%AE%A1%E7%90%86/%E3%82%B5%E3%82%B9%E3%83%9A%E3%83%B3%E3%83%89%E3%81%A8%E3%83%8F%E3%82%A4%E3%83%90%E3%83%8D%E3%83%BC%E3%83%88&diff=17944
電源管理/サスペンドとハイバネート
2020-10-05T11:24:15Z
<p>Kuuote: ハイバネーションの項のノートを翻訳</p>
<hr />
<div>[[Category:電源管理]]<br />
[[en:Power management/Suspend and hibernate]]<br />
{{Related articles start}}<br />
{{Related|Uswsusp}}<br />
{{Related|TuxOnIce}}<br />
{{Related|systemd}}<br />
{{Related|pm-utils}}<br />
{{Related|hibernate-script}}<br />
{{Related|電源管理}}<br />
{{Related articles end}}<br />
現在サスペンドには3つの手法が存在します: '''suspend to RAM''' (通常は'''サスペンド'''とだけ呼ばれます)、'''suspend to disk''' (通常は'''ハイバネート'''と呼ばれます)、そして '''hybrid suspend''' ('''suspend to both''' とも呼ばれます):<br />
<br />
* '''Suspend to RAM''' は RAM を除くマシンのほとんど全てのパーツの電源を切ります。RAM への電源はマシンの状態を保存するために必要です。電力を多く節約できるので、ラップトップでは、バッテリーでコンピュータが稼働していてフタが閉じられた時 (もしくはユーザーが長い間操作しなかった時) は自動的にこのモードに移行するのが得策でしょう。<br />
<br />
* '''Suspend to disk''' はマシンの状態を[[スワップ|スワップ領域]]に保存してマシンの電源を完全にオフにします。マシンに電源を入れた時、状態が復元されます。それまでは、電力消費量はゼロです。<br />
<br />
* '''Suspend to both''' はマシンの状態をスワップ領域に保存しますが、マシンの電源を切りません。代わりに、通常の suspend to RAM を呼び出します。これによって、バッテリーを使いきっても、システムを RAM から復帰することが可能です。バッテリーが枯渇した時は、システムはディスクから復帰し、RAM からの復帰に比べて時間がかかりますが、システムの状態が失われることはありません。<br />
<br />
基本的な機能を提供する低レベルなインターフェイス (バックエンド) が複数存在し、問題のあるハードウェアドライバ・カーネルモジュール (例: ビデオカードの再初期化) を扱う機能を提供する高レベルなインターフェイスもいくつかあります。<br />
<br />
== 低レベルインターフェイス ==<br />
<br />
これらのインターフェイスは直接使うこともできますが、通常は[[#高レベルインターフェイス|高レベルインターフェイス]]を使ってサスペンド・ハイバネートを行うとよいでしょう。低レベルなインターフェイスを直接使うと、サスペンドの前や後に行うフック処理を全て実行する高レベルインターフェイスよりもかなり早くサスペンドが可能です。ただしフックはハードウェアクロックの設定や、ワイヤレスの復旧などを正しく処理することができます。<br />
<br />
=== カーネル (swsusp) ===<br />
<br />
直球の方法はカーネル内のソフトウェアサスペンドコード (swsusp) にサスペンド状態に入るよう直接伝えることです。実際の方法と状態はハードウェアサポートのレベルによります。最近のカーネルでは、サスペンドにするために {{ic|/sys/power/state}} に適切な文字列を書くことが主な方法になっています。<br />
<br />
詳しくは [https://www.kernel.org/doc/Documentation/power/states.txt カーネルドキュメント] を参照してください。<br />
<br />
=== uswsusp ===<br />
<br />
uswsusp ('Userspace Software Suspend') はカーネルの suspend-to-RAM のラッパーで、サスペンドの前と復帰の後にユーザー空間からグラフィックアダプタの操作を行います。<br />
<br />
[[Uswsusp]] の記事を参照してください。<br />
<br />
=== tuxonice ===<br />
<br />
TuxOnIce はサスペンド・ハイバネートのカーネル実装のフォークで、デフォルトの実装を改善するカーネルパッチを提供しています。これを使うためにはカスタムカーネルが必要です。<br />
<br />
[[TuxOnIce]] の記事を参照してください。<br />
<br />
== 高レベルインターフェイス ==<br />
<br />
{{Note|これらのパッケージではサスペンド・ハイバネートを行うためのバイナリ・スクリプトを提供します。実際に電源ボタンやメニュークリック、ラップトップのカバーのイベントなどと結びつけるのは他のツールで行うのが通常です。(ラップトップのカバーが閉じられたり、バッテリーが枯渇するなど)特定の電源イベントで自動的にサスペンド・ハイバネートをするには、[[Acpid]] の実行について調べて下さい。}}<br />
<br />
=== systemd ===<br />
<br />
[[systemd]] はサスペンド・ハイバネート・ハイブリッドサスペンドを行うためのネイティブのコマンドを提供しています。詳しくは [[電源管理#systemd による電源管理]] を見て下さい。これは Arch Linux で使われているデフォルトのインターフェースです。<br />
<br />
サスペンド・ハイバネートのフックの設定に関する情報は[[電源管理#スリープフック]]に載っています。{{ic|man systemctl}}, {{ic|man systemd-sleep}}, {{ic|man systemd.special}} もあわせて参照してください。<br />
<br />
=== pm-utils ===<br />
<br />
pm-utils はバックエンドのサスペンド・ハイバネート機能をカプセル化するシェルスクリプトのセットです。サスペンドの前後に行う設定やプロセスをカスタマイズするための様々なフックも入っています。<br />
<br />
[[pm-utils]] の記事を参照してください。<br />
<br />
== ハイバネーション ==<br />
<br />
ハイバネーションを使うには、[[スワップ]]パーティションかスワップファイルを作成する必要があります。そして {{ic|1=resume=}} カーネルパラメータを使ってスワップを指定してください。カーネルパラメータはブートローダで設定します。[[#initramfs の設定|initramfs の設定]]も必要になります。設定によってカーネルは初期ユーザー空間で指定されたスワップからの復帰を試みます。以下ではスワップの作成・カーネルパラメータの設定・initramfs の設定について詳細に説明します。<br />
<br />
{{Note|<br />
* [[ディスク暗号化]]を利用する場合は[[Dm-crypt/スワップの暗号化#suspend-to-disk を使用する]]を見てください。<br />
* {{Pkg|linux-hardened}}はハイバネーションをサポートしていません。詳しくは{{Bug|63648}}を見てください。<br />
}}<br />
<br />
=== スワップパーティション(ファイル)のサイズについて ===<br />
<br />
スワップパーティションが RAM より小さかったとしても、ハイバネートが成功する可能性は高いと思われます。[https://www.kernel.org/doc/Documentation/power/interface.txt カーネルドキュメント] によると:<br />
<br />
: ''{{ic|/sys/power/image_size}} は suspend-to-disk によって作成されるイメージのサイズを制御します。イメージサイズの上限として使われる負ではない整数 (バイト) を示す文字列で書くことが出来ます。suspend-to-disk はイメージサイズがその数字を超えないように出来る限りのことをします。ただし、それが無理だということがわかったら、とにかく出来る限り小さいイメージを使ってサスペンドを試みます。特に、このファイルに "0" と書かれていた場合、サスペンドのイメージは目一杯小さくなります。このファイルを読むと現在のイメージのサイズ制限が表示され、デフォルトでは利用可能な RAM の2/5に設定されています。''<br />
<br />
(スワップパーティションを小さくして) {{ic|/sys/power/image_size}} の値を減らしてサスペンドのイメージを出来る限り小さくすることも、値を増やしてハイバネーションを高速化することも可能です。<br />
<br />
=== 必要なカーネルパラメータ ===<br />
<br />
カーネルパラメータ {{ic|1=resume=''swap_partition''}} を使う必要があります。{{ic|''swap_partition''}} にはカーネルが割り当てたスワップパーティションの名前か、スワップパーティションの [[UUID]] を使うことができます。例:<br />
<br />
* {{ic|1=resume=/dev/sda1}}<br />
* {{ic|1=resume=UUID=4209c845-f495-4c43-8a03-5363dd433153}}<br />
* {{ic|1=resume=/dev/mapper/archVolumeGroup-archLogicVolume}} -- LVM を使う場合の例<br />
<br />
{{ic|resume}} パラメータで使用する命名法は基本的に {{ic|root}} パラメータで使用する命名法と同じにしてください。<br />
<br />
設定は使用している[[ブートローダー]]によって異なります。詳しくは[[カーネルパラメータ]]を参照してください。<br />
<br />
==== スワップファイルにハイバネーション ====<br />
<br />
{{Warning|[[Btrfs#スワップファイル|Btrfs]] はスワップファイルをサポートしていません。この警告に従わない場合、ファイルシステムが破損するおそれがあります。ループデバイスを経由してマウントしているときに Btrfs でスワップファイルを使うと、スワップパフォーマンスが著しく低下してしまいます。}}<br />
<br />
スワップパーティションの代わりにスワップファイルを使うには追加のカーネルパラメータ {{ic|1=resume_offset=''swap_file_offset''}} が必要です。<br />
<br />
{{ic|''swap_file_offset''}} の値は {{ic|filefrag -v ''swap_file''}} を実行することで取得できます。テーブル形式で出力され、必要な値は {{ic|physical_offset}} カラムの一番上の段にあります。例えば:<br />
{{hc|# filefrag -v /swapfile|<nowiki><br />
Filesystem type is: ef53<br />
File size of /swapfile is 4294967296 (1048576 blocks of 4096 bytes)<br />
ext: logical_offset: physical_offset: length: expected: flags:<br />
0: 0.. 0: 38912.. 38912: 1: <br />
1: 1.. 22527: 38913.. 61439: 22527: unwritten<br />
2: 22528.. 53247: 899072.. 929791: 30720: 61440: unwritten<br />
...<br />
</nowiki>}}<br />
<br />
この例では {{ic|''swap_file_offset''}} の値は2つのピリオドが付いている最初の {{ic|38912}} です。<br />
<br />
{{ic|''swap_file_offset''}} の値は {{ic|swap-offset ''swap_file''}} でも取得することができます。''swap-offset'' バイナリは {{AUR|uswsusp-git}} パッケージに含まれています。<br />
<br />
{{Note|<br />
* カーネルパラメータ {{ic|resume}} にはスワップファイル自体ではなく、スワップファイルが含まれているパーティションのデバイスを指定する必要があることに注意してください。カーネルパラメータ {{ic|resume_offset}} は resume デバイス上に存在するスワップファイルの開始位置を示しています。カーネルパラメータを有効化するために、ハイバネーションをする前に再起動が必要です。<br />
* [[uswsusp]] を使う場合、{{ic|resume device}} キーと {{ic|resume offset}} キーを使って {{ic|/etc/suspend.conf}} に上記2つのパラメータを記述してください。この場合再起動は必要ありません。<br />
}}<br />
<br />
{{Tip|スワップファイルを作成する目的が、仮想メモリの拡張ではなくハイバネートがしたいだけの場合、スワップファイルの [[スワップ#Swappiness|Swappiness]] を減らすとよいでしょう。}}<br />
<br />
=== initramfs の設定 ===<br />
<br />
* [[initramfs]] で {{ic|base}} フックを使っている場合 (Arch ではデフォルトで使っています)、{{ic|/etc/mkinitcpio.conf}} に {{ic|resume}} フックを追加する必要があります。ラベルあるいは UUID どちらを使用している場合でもスワップパーティションは udev デバイスノードによって参照されるので、{{ic|resume}} フックは必ず {{ic|filesystems}} の前に追加してください。デフォルトのフック設定に {{ic|resume}} フックを追加すると以下のようになります:<br />
<br />
:{{bc|1=HOOKS="base udev autodetect modconf block '''resume''' filesystems keyboard fsck"}}<br />
<br />
:変更を適用するために [[mkinitcpio#イメージ作成とアクティベーション|initramfs の再生成]]を忘れずに行ってください。<br />
<br />
:{{Note|[[LVM]] を使っている場合は {{ic|resume}} フックを {{ic|lvm2}} の後に追加してください。}}<br />
<br />
* initramfs で {{ic|systemd}} フックを使っている場合は、復帰機構が既に提供されているので、フックを追加する必要はありません。<br />
<br />
== トラブルシューティング ==<br />
<br />
=== ACPI_OS_NAME ===<br />
<br />
'''DSDT table''' を動作するように設定することができます。[[DSDT]] の記事を参照してください。<br />
<br />
=== VAIO ユーザー ===<br />
<br />
{{ic|1=acpi_sleep=nonvs}} カーネルフラグをブートローダに追加してください、これで OK です!<br />
<br />
=== サスペンド/ハイバネートが動作しない、あるいはたまに動作しなくなる ===<br />
<br />
サスペンドやハイバネートをした場合、あるいは復帰した場合に画面が表示されなくなるという報告が多数存在します。ノートパソコンとデスクトップの両方で問題は確認されています。正式な解決方法ではありませんが、古いカーネル、特に LTS カーネルに切り替えることで問題は解決することがあります。<br />
<br />
initramfs からのデバイスの初期化によって画面が表示されなくなっていることもあります。[[Mkinitcpio#MODULES]] に追加したモジュールを削除して initramfs を再生成することで問題が解決するかもしれません。特にグラフィックドライバの[[Kernel_Mode_Setting#Early_KMS_start|モジュール]]は問題を起こしがちです。復帰するまえにデバイスが初期化されると矛盾状態になってシステムがハイバネートから復帰できなくなります。サスペンドからの復帰の場合は関係ありません。サスペンドやハイバネートの問題をデバッグする際のベストプラクティスが [https://01.org/blogs/rzhang/2015/best-practice-debug-linux-suspend/hibernate-issues こちらの記事] に記載されています。<br />
<br />
=== Wake-on-LAN ===<br />
<br />
[[Wake-on-LAN]] が有効になっている場合、コンピュータがハイバネート状態になっていてもネットワークインターフェイスカードによって電力が消費されます。<br />
<br />
=== サスペンドからすぐに復帰する ===<br />
<br />
LynxPoint や LynxPoint-LP チップセットが搭載された Intel Haswell の場合、サスペンドからすぐに復帰してしまうと報告されています。BIOS の ACPI 実装に問題があり起動時に {{ic|xhci_hcd}} モジュールによって ACPI イベントが解釈されてしまうのが原因です。解決策としてカーネルによってケースバイケースで問題のあるシステムがブラックリスト ({{ic|XHCI_SPURIOUS_WAKEUP}}) に追加されています [https://bugzilla.kernel.org/show_bug.cgi?id=66171#c6]。<br />
<br />
サスペンド中に USB デバイスを接続したときなどに ACPI の復帰トリガーが有効になって復帰してしまいます。ブラックリストに追加されるまで一時的な応急処置としては復帰トリガーを無効化する方法があります。以下の設定で USB による復帰を無効化することができます [https://bbs.archlinux.org/viewtopic.php?pid=1575617]。<br />
<br />
現在の設定を確認:<br />
<br />
{{hc|$ cat /proc/acpi/wakeup|<br />
Device S-state Status Sysfs node<br />
...<br />
EHC1 S3 *enabled pci:0000:00:1d.0<br />
EHC2 S3 *enabled pci:0000:00:1a.0<br />
XHC S3 *enabled pci:0000:00:14.0<br />
...<br />
}}<br />
<br />
問題のデバイスは {{ic|EHC1}}, {{ic|EHC1}}, {{ic|XHC}} (USB 3.0) です。状態を変更するには root でデバイス名をファイルに echo してください:<br />
<br />
# echo EHC1 > /proc/acpi/wakeup<br />
# echo EHC2 > /proc/acpi/wakeup<br />
# echo XHC > /proc/acpi/wakeup<br />
<br />
上記のコマンドでサスペンドが再度機能するようになります。ただし、設定は一時的なものなので再起動するたびに設定し直す必要があります。自動化したい場合は [[systemd#ユニットファイル]]を見てください。詳しくは [https://bbs.archlinux.org/viewtopic.php?pid=1575617#p1575617 BBS スレッド] を参照。</div>
Kuuote
https://wiki.archlinux.jp/index.php?title=Ranger&diff=17943
Ranger
2020-10-05T11:04:47Z
<p>Kuuote: 使用方法を追加翻訳(一部意訳してますので問題あれば差し替えをお願いします)</p>
<hr />
<div>{{DISPLAYTITLE:ranger}}<br />
[[Category:ファイルマネージャ]]<br />
[[ar:Ranger]]<br />
[[en:Ranger]]<br />
[[fr:ranger]]<br />
[[zh-hans:Ranger]]<br />
{{Related articles start}}<br />
{{Related|Midnight Commander}}<br />
{{Related|vifm}}<br />
{{Related articles end}}<br />
[http://ranger.nongnu.org/ ranger] は Python で書かれているテキストベースのファイルマネージャです。ディレクトリは3つのカラムに分けて表示されます。キーストロークやブックマーク、マウスやコマンド履歴を使ってディレクトリを移動することができます。選択したファイルは自動的にプレビューが表示されディレクトリは中身が表示されます。<br />
<br />
ranger の特徴: vi スタイルのキーバインド、ブックマーク、選択、タグ、タブ、コマンド履歴、シンボリックリンクを作成可能、複数あるコンソールモード、タスク表示。''ranger'' のコマンドやキーバインドはカスタマイズすることができ、外部スクリプトを呼び出すこともできます。よく似たファイルマネージャに [[Vifm]] があり、2つのペインと vi スタイルのキーバインドを使用しますが、機能の数はやや劣ります。<br />
<br />
== インストール ==<br />
<br />
{{Pkg|ranger}} は[[公式リポジトリ]]から[[インストール]]できます。開発版を使いたい場合は [[AUR]] から {{AUR|ranger-git}} をインストールしてください。<br />
<br />
== 使用方法 ==<br />
<br />
ranger を起動するには、まず[[アプリケーション一覧#ターミナルエミュレータ|ターミナル]]を起動して、そこから {{ic|ranger}} を実行してください。<br />
<br />
{| class="wikitable"<br />
|+<br />
! キー !! コマンド<br />
|-<br />
| {{ic|?}} || マニュアルを開く、キーバインド・コマンド・設定を表示<br />
|-<br />
| {{ic|l}}, {{ic|Enter}} || ファイルを起動<br />
|-<br />
| {{ic|j}}, {{ic|k}} || 現在のディレクトリ内のファイルを選ぶ<br />
|-<br />
| {{ic|h}}, {{ic|l}} || 上または下の階層のディレクトリへ移動<br />
|}<br />
<br />
== 設定 ==<br />
<br />
起動後、''ranger'' は {{ic|~/.config/ranger}} ディレクトリを作成します。デフォルト設定をこのディレクトリにコピーしたいときは次のコマンドを実行してください:<br />
<br />
ranger --copy-config=all<br />
<br />
* {{ic|rc.conf}} - スタートアップコマンドとキーバインド<br />
* {{ic|commands.py}} - {{ic|:}} で起動するコマンド<br />
* {{ic|rifle.conf}} - 特定のファイルを起動した時に使われるアプリケーション<br />
<br />
デフォルトファイルもロードされるので {{ic|rc.conf}} にはデフォルトファイルとの差異部分だけを記述します。{{ic|commands.py}} には、ファイル全体をインクルードしない場合、一番最初に以下の行を記述します:<br />
<br />
from ranger.api.commands import *<br />
<br />
作成したディレクトリ {{ic|~/.Trash/}} に {{ic|DD}} でファイルを移動するキーバインドを追加するには、{{ic|~/.config/ranger/rc.conf}} に以下を追記します:<br />
<br />
map DD shell mv -t /home/${USER}/.Trash %s<br />
<br />
設定に関する詳細は [http://ranger.nongnu.org/ranger.1.html man ranger] を見て下さい。<br />
<br />
=== コマンドの定義 ===<br />
<br />
上記の例の続きに、以下のエントリを {{ic|~/.config/ranger/commands.py}} に追加することでゴミ箱 ({{ic|~/.Trash}}) を空にできます:<br />
<br />
{{bc|<nowiki><br />
class empty(Command):<br />
""":empty<br />
<br />
Empties the trash directory ~/.Trash<br />
"""<br />
<br />
def execute(self):<br />
self.fm.run("rm -rf /home/myname/.Trash/{*,.[^.]*}")<br />
</nowiki>}}<br />
<br />
使用するには {{ic|:empty}} と入力して {{ic|Enter}} を押してください。タブ補完も使えます。<br />
<br />
{{Warning|{{ic|[^.]}} がこのコマンドの本質的部分です。書き忘れると {{ic|..*}} にマッチする全ファイル・ディレクトリ、すなわちホームディレクトリが全て削除されます。}}<br />
<br />
=== カラースキーム ===<br />
<br />
{{ic|~/.config/ranger}} に {{ic|colorschemes}} サブフォルダを作成してください:<br />
<br />
$ mkdir ~/.config/ranger/colorschemes<br />
<br />
それから新しい {{ic|''newscheme''.py}} を上記のフォルダにコピーします。{{ic|~/.config/ranger/rc.conf}} ファイルからデフォルトカラースキームを変更してください:<br />
<br />
set colorscheme ''newscheme''<br />
<br />
=== ファイルの関連付け ===<br />
<br />
{{ic|~/.config/ranger/rifle.conf}} を編集してください。先の行が早く実行されるので、ファイルの先頭に追記するようにしてください。例えば、tex ファイルを {{Pkg|kile}} で開くには以下のエントリを記述します:<br />
<br />
ext tex = kile "$@"<br />
<br />
{{Pkg|xdg-utils}} で全てのファイルを開くようにするには:<br />
<br />
has xdg-open, flag f = xdg-open "$1"<br />
<br />
== ヒントとテクニック ==<br />
<br />
=== 圧縮ファイル ===<br />
<br />
以下のコマンドでは {{Pkg|atool}} を使ってアーカイブの操作を行います。<br />
<br />
==== アーカイブの解凍 ====<br />
<br />
以下のコマンドは圧縮ファイルをコピー (yy) して適切なディレクトリで {{ic|:extracthere}} を実行します:<br />
<br />
{{bc|<nowiki><br />
import os<br />
from ranger.core.loader import CommandLoader<br />
<br />
class extracthere(Command):<br />
def execute(self):<br />
""" Extract copied files to current directory """<br />
copied_files = tuple(self.fm.copy_buffer)<br />
<br />
if not copied_files:<br />
return<br />
<br />
def refresh(_):<br />
cwd = self.fm.get_directory(original_path)<br />
cwd.load_content()<br />
<br />
one_file = copied_files[0]<br />
cwd = self.fm.thisdir<br />
original_path = cwd.path<br />
au_flags = ['-X', cwd.path]<br />
au_flags += self.line.split()[1:]<br />
au_flags += ['-e']<br />
<br />
self.fm.copy_buffer.clear()<br />
self.fm.cut_buffer = False<br />
if len(copied_files) == 1:<br />
descr = "extracting: " + os.path.basename(one_file.path)<br />
else:<br />
descr = "extracting files from: " + os.path.basename(one_file.dirname)<br />
obj = CommandLoader(args=['aunpack'] + au_flags \<br />
+ [f.path for f in copied_files], descr=descr)<br />
<br />
obj.signal_bind('after', refresh)<br />
self.fm.loader.add(obj)<br />
</nowiki>}}<br />
<br />
==== 圧縮 ====<br />
<br />
次のコマンドを使用すると、ユーザーは現在のディレクトリにあるいくつかのファイルをマークしてから {{ic|:compress ''パッケージの名前''}} パッケージ名で圧縮できます。現在のディレクトリの名前を取得し、拡張子に圧縮形式を追加することにより、いくつかの圧縮形式の提案をサポートします。{{pkg|atool}}をインストールする必要があります。インストールされていない場合、アーカイブを作成するときにエラーメッセージが表示されます。<br />
<br />
{{bc|<nowiki><br />
import os<br />
from ranger.core.loader import CommandLoader<br />
<br />
class compress(Command):<br />
def execute(self):<br />
""" Compress marked files to current directory """<br />
cwd = self.fm.thisdir<br />
marked_files = cwd.get_selection()<br />
<br />
if not marked_files:<br />
return<br />
<br />
def refresh(_):<br />
cwd = self.fm.get_directory(original_path)<br />
cwd.load_content()<br />
<br />
original_path = cwd.path<br />
parts = self.line.split()<br />
au_flags = parts[1:]<br />
<br />
descr = "compressing files in: " + os.path.basename(parts[1])<br />
obj = CommandLoader(args=['apack'] + au_flags + \<br />
[os.path.relpath(f.path, cwd.path) for f in marked_files], descr=descr)<br />
<br />
obj.signal_bind('after', refresh)<br />
self.fm.loader.add(obj)<br />
<br />
def tab(self):<br />
""" Complete with current folder name """<br />
<br />
extension = ['.zip', '.tar.gz', '.rar', '.7z']<br />
return ['compress ' + os.path.basename(self.fm.thisdir.path) + ext for ext in extension]<br />
</nowiki>}}<br />
<br />
=== 外付けドライブ ===<br />
<br />
外付けドライブは [[udev]] や [[udisks]] で自動的にマウントさせることができます。{{ic|gm}} (go, media) を押すことで {{ic|/media}} にマウントされたドライブに簡単にアクセスできます。<br />
<br />
=== 隠しファイル ===<br />
<br />
次のコマンドで隠しファイルの表示を切り替えることができます {{ic|:set show_hidden!}} または set :show_hidden true を使用して隠しファイルを表示します。 これを永続的にするには、設定を構成ファイルに追加します。<br />
<br />
{{hc|rc.conf|<nowiki><br />
set show_hidden true<br />
</nowiki>}}<br />
<br />
または、{{ic|zh}} を押して隠しファイルを切り替えることもできます。<br />
<br />
=== イメージのマウント ===<br />
<br />
以下のコマンドではイメージのマウントに [[CDemu]] を使用し、仮想ドライブを特定の場所 (この例では '/media/virtualrom') にマウントするために [[autofs]] などのシステムを利用します。マウントパスはあなたの設定に合わせて変更するようにしてください。<br />
<br />
ranger から cdemud 仮想ドライブにイメージをマウントするには、イメージファイルを選択してコンソールに ':mount' と入力します。実際のマウントには設定によって多少時間がかかるので、カスタムローダーを使ってマウントディレクトリがマウントされるまで待機してからタブ 9 で裏で開くようにします。<br />
<br />
{{bc|<nowiki><br />
import os, time<br />
from ranger.core.loader import Loadable<br />
from ranger.ext.signals import SignalDispatcher<br />
from ranger.ext.shell_escape import *<br />
<br />
class MountLoader(Loadable, SignalDispatcher):<br />
"""<br />
Wait until a directory is mounted<br />
"""<br />
def __init__(self, path):<br />
SignalDispatcher.__init__(self)<br />
descr = "Waiting for dir '" + path + "' to be mounted"<br />
Loadable.__init__(self, self.generate(), descr)<br />
self.path = path<br />
<br />
def generate(self):<br />
available = False<br />
while not available:<br />
try:<br />
if os.path.ismount(self.path):<br />
available = True<br />
except:<br />
pass<br />
yield<br />
time.sleep(0.03)<br />
self.signal_emit('after')<br />
<br />
class mount(Command):<br />
def execute(self):<br />
selected_files = self.fm.thisdir.get_selection()<br />
<br />
if not selected_files:<br />
return<br />
<br />
space = ' '<br />
self.fm.execute_command("cdemu -b system unload 0")<br />
self.fm.execute_command("cdemu -b system load 0 " + \<br />
space.join([shell_escape(f.path) for f in selected_files]))<br />
<br />
mountpath = "/media/virtualrom/"<br />
<br />
def mount_finished(path):<br />
currenttab = self.fm.current_tab<br />
self.fm.tab_open(9, mountpath)<br />
self.fm.tab_open(currenttab)<br />
<br />
obj = MountLoader(mountpath)<br />
obj.signal_bind('after', mount_finished)<br />
self.fm.loader.add(obj)<br />
</nowiki>}}<br />
<br />
=== 現在のフォルダを新しいタブで開く ===<br />
<br />
ホームを新しいタブで開くショートカットは2つ存在します ({{ic|g}}{{ic|n}} と {{ic|Ctrl+n}})。{{ic|Ctrl+n}} のバインドを変更する場合:<br />
{{hc|rc.conf|<nowiki><br />
map <c-n> eval fm.tab_new('%d')<br />
</nowiki>}}<br />
<br />
=== PDF ファイルのプレビュー ===<br />
PDF ファイルを画像に変換することで ranger で PDF ファイルをプレビューできます。Ranger は画像のプレビューを {{ic|~/.cache/ranger/}} に保存します。<br />
<br />
まず、画像プレビューを有効化してください:<br />
<br />
{{hc|~/.config/ranger/rc.conf|<nowiki><br />
# Use one of the supported image preview protocols<br />
set preview_images true<br />
</nowiki>}}<br />
<br />
Ranger は {{Pkg|w3m}} などを使って画像をプレビューします。利用可能な方法については {{ic|~/.config/ranger/rc.conf}} を見てください。<br />
<br />
そして、以下の pdf プレビューコマンドを追加してください:<br />
<br />
{{hc|~/.config/ranger/scope.sh|<nowiki><br />
# Image previews, if enabled in ranger.<br />
if [ "$preview_images" = "True" ]; then<br />
case "$mimetype" in<br />
application/pdf)<br />
pdftoppm -jpeg -singlefile "$path" "${cached//.jpg}" && exit 6;;<br />
esac<br />
fi<br />
</nowiki>}}<br />
<br />
上記の例では {{Pkg|poppler}} の {{ic|pdftoppm}} ユーティリティを使って画像プレビューを作成しています。{{Pkg|ghostscript}} や {{Pkg|imagemagick}} など他の方法も利用可能です。<br />
<br />
=== シェルの小技 ===<br />
<br />
==== パスの同期 ====<br />
<br />
Ranger はシェル[[Bash/関数|関数]] {{ic|/usr/share/doc/ranger/examples/bash_automatic_cd.sh}} を提供しています。{{ic|ranger}} ではなく {{ic|ranger-cd}} を実行すると、最後に閲覧したフォルダに自動的に ''cd'' されます。<br />
<br />
グラフィカルランチャーから Ranger を起動した場合 ({{ic|$TERMCMD -e ranger}} など、TERMCMD は X ターミナル)、{{ic|ranger-cd}} は使えません。実行可能属性を付与したスクリプトを作成して:<br />
<br />
{{hc|ranger-launcher.sh|<nowiki><br />
#!/bin/sh<br />
export RANGERCD=true<br />
$TERMCMD<br />
</nowiki>}}<br />
<br />
シェルの設定の''できるだけ最後''に以下を追加してください:<br />
<br />
{{hc|.''shell''rc|<nowiki><br />
$RANGERCD && unset RANGERCD && ranger-cd<br />
</nowiki>}}<br />
<br />
これで {{ic|RANGERCD}} 変数が設定されている場合のみ {{ic|ranger-cd}} が起動します。この変数を unset するようにしてください。そうしないとターミナルからサブシェルを起動したときに自動的に {{ic|ranger}} が再起動してしまいます。<br />
<br />
==== ranger からシェルを起動 ====<br />
<br />
前の方法を使用すると、最後に参照したパスのシェルに切り替えることができます。ただし、いくつかの理由(多くの開かれたタブ、進行中のコピーなど)のために ranger を終了したくない場合があります。ranger sessionを失うことなく、ranger(デフォルトではS)からシェルを開始できます。残念ながら、シェルは現在のフォルダーに自動的に切り替わりません。繰り返しますが、これは実行可能スクリプトで解決できます。<br />
<br />
{{hc|shellcd|<nowiki><br />
#!/bin/sh<br />
export AUTOCD="$(realpath "$1")"<br />
<br />
$SHELL<br />
</nowiki>}}<br />
<br />
前と同様に、シェル構成の最後にこれを追加します:<br />
<br />
{{hc|shellrc|<nowiki><br />
cd "$AUTOCD"<br />
</nowiki>}}<br />
<br />
これで、レンジャーのシェルバインディングを変更できます:<br />
<br />
{{hc|rc.conf|<br />
map S shell shellcd %d<br />
}}<br />
<br />
もしくは、シェルの history ファイルを利用することもできます。例えば、[[zsh#ディレクトリスタック|zsh]] の場合:<br />
<br />
{{hc|shellcd|<nowiki><br />
## Prepend argument to zsh dirstack.<br />
BUF="$(realpath "$1")<br />
$(grep -v "$(realpath "$1")" "$ZDIRS")"<br />
echo "$BUF" > "$ZDIRS"<br />
<br />
zsh<br />
</nowiki>}}<br />
<br />
ZDIRS はあなたのディレクトリスタックに置き換えてください。<br />
<br />
===== シンプルな方法 =====<br />
<br />
{{hc|rc.conf|<nowiki><br />
map S shell bash -c "cd %d; bash"<br />
</nowiki>}}<br />
上記の設定は他のシェルでも使えます。(デフォルト設定のように) シェルを実行するかわりに、シェルの中で {{ic|cd}} を実行してから、インタラクティブシェルを起動して使用できるようにしています。<br />
<br />
==== ranger が現在のシェルで動いていない場合にのみ ranger の新しいインスタンスを起動 ====<br />
<br />
[[自動起動#シェル|シェルのスタートアップファイル]]に以下を記述してください:<br />
<br />
rg() {<br />
if [ -z "$RANGER_LEVEL" ]<br />
then<br />
ranger<br />
else<br />
exit<br />
fi<br />
}<br />
<br />
{{ic|rg}} を実行して ranger を起動・復帰してください。<br />
<br />
== トラブルシューティング ==<br />
<br />
=== 画像のプレビューでブロックノイズ ===<br />
<br />
カラムのボーダーをなくすと画像プレビューでストライプが見えることがあります [https://bbs.linuxdistrocommunity.com/showthread.php?tid=1051]。{{ic|~/.config/ranger/rc.conf}} に以下を設定:<br />
<br />
set draw_borders true<br />
<br />
== 参照 ==<br />
<br />
* [https://bbs.archlinux.org/viewtopic.php?id=93025 BBS スレッド]<br />
* [http://dotshare.it/category/fms/ranger/ DotShare.it の設定]<br />
* [https://github.com/hut/ranger GitHub]<br />
* [https://www.digitalocean.com/community/tutorials/installing-and-using-ranger-a-terminal-file-manager-on-a-ubuntu-vps Installing and using ranger]<br />
* [https://lists.nongnu.org/mailman/listinfo/ranger-users メーリングリスト]<br />
* [http://bloerg.net/2012/10/17/ranger-file-manager.html Ranger チュートリアル]</div>
Kuuote
https://wiki.archlinux.jp/index.php?title=Lua&diff=17716
Lua
2020-09-10T16:50:28Z
<p>Kuuote: add lua5.4</p>
<hr />
<div>[[Category:プログラミング言語]]<br />
[[en:Lua]]<br />
[[zh-hans:Lua]]<br />
[[Wikipedia:ja:Lua|Lua]] は強力かつ効率的、軽量な埋め込みスクリプト言語です (Lua のウェブサイト [https://www.lua.org/ lua.org] より)。Lua はその性質から [[C]] との相互運用性が高く、他のプログラムの設定や拡張に適しています。基本的な Lua インタプリタのサイズは 250K 未満です。公式実装は [[Wikipedia:ja:ANSI C|ANSI C]] で書かれており、多数のプラットフォームやアーキテクチャで機能します。<br />
<br />
== インストール ==<br />
<br />
複数のバージョンが存在します:<br />
<br />
* {{Pkg|lua}} &mdash; Lua 5.4<br />
* {{Pkg|lua53}} &mdash; Lua 5.3<br />
* {{Pkg|lua52}} &mdash; Lua 5.2<br />
* {{Pkg|lua51}} &mdash; Lua 5.1<br />
<br />
== JIT コンパイルのサポート ==<br />
<br />
[[Wikipedia:ja:実行時コンパイラ|JIT コンパイル]] はソースコードのコンパイルを実行前ではなく実行時に行う手法です。[https://luajit.org/ LuaJIT] は Lua 5.1 を置き換えることができます。LuaJIT は高い性能が必要な状況下に適しています。<br />
<br />
JIT コンパイルのサポートを得るには {{Pkg|luajit}} パッケージを[[インストール]]してください。<br />
<br />
== モジュール ==<br />
<br />
[https://luarocks.org/ LuaRocks] パッケージマネージャは {{Pkg|luarocks}} パッケージでインストールできます。<br />
<br />
また、一部のモジュールは [https://www.archlinux.jp/packages/?&q=lua- 公式リポジトリ] に含まれています。<br />
<br />
== 参照 ==<br />
<br />
* [https://www.lua.org/manual/ Lua リファレンスマニュアル]</div>
Kuuote
https://wiki.archlinux.jp/index.php?title=%E3%83%AA%E3%83%A0%E3%83%BC%E3%83%90%E3%83%96%E3%83%AB%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E3%81%AB_Arch_Linux_%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&diff=16516
リムーバブルメディアに Arch Linux をインストール
2020-06-20T07:22:09Z
<p>Kuuote: 32bit版は廃止されているため、アーキテクチャの項目を削除</p>
<hr />
<div>[[Category:Arch の入手とインストール]]<br />
[[en:Installing Arch Linux on a USB key]]<br />
[[es:Installing Arch Linux on a USB key]]<br />
[[it:Installing Arch Linux on a USB key]]<br />
[[zh-hans:Installing Arch Linux on a USB key]]<br />
{{Related articles start}}<br />
{{Related|ビギナーズガイド}}<br />
{{Related|インストールガイド}}<br />
{{Related|一般的な推奨事項}}<br />
{{Related|一般的なトラブルシューティング}}<br />
{{Related articles end}}<br />
このページでは標準的な Arch のインストールを USB キー (または"フラッシュドライブ") で行う方法を説明しています。[[USB インストールメディア]]で説明している LiveUSB の作り方と違って、HDD に通常インストールするのと同じように USB フラッシュドライブにインストールを行います。<br />
<br />
== インストール ==<br />
<br />
{{Note|最低でも 2 GiB のストレージ容量が必要です。パッケージの数は控えめにして、ストレージ用に空き容量を残します。}}<br />
USB スティックに Arch をインストールする方法は様々ありますが、一番シンプルなのは Arch からインストールする方法です:<br />
<br />
* 既に Arch を実行している場合、{{Pkg|arch-install-scripts}} を[[インストール]]して iso からインストールするのと同じように[[インストールガイド]]に従って下さい。ただし {{ic|/dev/sda}} を使用する代わりに、インストールする前に {{ic|$ lsblk}} を使って USB キーの {{ic|/dev/sd*}} の名前を確認します。<br />
{{Warning|誤って {{ic|/dev/sda}} をフォーマットすると、ハードドライブにあるものを全て削除してしまうことになります。}}<br />
* Arch Linux CD/USB を使って USB キーに Arch をインストールすることもできます。CD/USB を起動して[[インストールガイド]]に従って下さい。ライブ USB から起動する場合、インストールは別の USB スティックに行う必要があります。<br />
* もしくは、別の Linux コンピュータが使える場合 (Arch である必要はありません)、[[既存の Linux からインストール]]にしたがって、設定セクションまで進んでください。<br />
<br />
* Windows や Mac で VirtualBox をダウンロードしている場合、VirtualBox Extension をインストールして、USB ドライブを arch が動いている仮想マシンに追加して、USB ドライブにインストールを行なって下さい。<br />
<br />
=== インストール時の設定 ===<br />
<br />
基本的には[[インストールガイド]]のとおりに行いますが、以下の部分が異なります:<br />
<br />
* cfdisk が "Partition ends in the final partial cylinder" fatal error で終了してしまう場合、残された方法はドライブ上の全てのパーティションを消去することだけです。別のターミナルを開いて ({{ic|Alt+F2}})、{{ic|fdisk /dev/''sdX''}} と入力し ({{ic|''sdX''}} はあなたの使用している usb ドライブに置き換えてください)、パーティションテーブルを表示 (p) して、問題ないか確認をし、パーティションテーブルを削除 (d) してから変更を書き込んでください (w)。そして cfdisk に戻ります。<br />
* ファイルシステムを選択する前に [[SSD]] の wiki 記事の[[SSD#SSD の読み書きを最小化するヒント|読み書きを最小化するヒント]]を読むことを強く推奨します。結論としては、[http://fenidik.blogspot.com/2010/03/ext4-disable-journal.html ジャーナルを無効にした ext4] が良いでしょう (ただしジャーナルを無効化するとデータを消失する危険性が高まります)。{{ic|# mkfs.ext4 -O "^has_journal" /dev/sdXX}} で作成できます。フラッシュが書き込みを行える回数には限りがあり、ジャーナリングファイルシステムは、ジャーナルを更新するたびに回数を減らしてしまうということを覚えてください。同じ理由から、スワップパーティションは作成しないのがベストです。USB ハードドライブへのインストールには影響がありません。<br />
* 初期 RAM ディスクを作成 ({{ic|# mkinitcpio -p linux}}) する前に、{{ic|/etc/mkinitcpio.conf}} の HOOKS の {{ic|udev}} のすぐ後に {{ic|block}} フックを追加してください。初期ユーザー空間で適切なモジュールをロードするために必要です。<br />
* UFD デバイスをクロスプラットフォームなリムーバブルドライブとして使い続けたい場合、(NTFS や exFAT など) 適当なファイルシステムのパーティションを作成します。データパーティションはデバイスの1番目のパーティションにする必要があります。Windows はリムーバブルデバイスには1つのパーティションしかないと想定しており、そうでない場合、EFI システムパーティションを自動的にマウントしてしまいます。{{Pkg|dosfstools}} や {{Pkg|ntfs-3g}} を忘れずにインストールしてください。UFD デバイスのリムーバブルメディアビットを反転させるツールはオンラインで使うことができます。これによってオペレーティングシステムに UFD デバイスを外付けのハードディスクとして扱わせたり、選択したパーティションスキームを使用することができます。<br />
{{Warning|UFD デバイスのリムーバブルメディアビットは反転できないことがあり、使用できないデバイスで無理に反転しようとすると壊れてしまう可能性があります。リムーバブルメディアの反転は推奨しません。}}<br />
<br />
== 設定 ==<br />
<br />
* {{ic|/etc/fstab}} に USB キーの {{ic|/}} などのパーティションの適切な情報を記述してください。複数のマシンで USB キーを起動する場合、ハードディスクのデバイス番号は変わってしまう可能性があります。そのため UUID やラベルを使用することを推奨します:<br />
<br />
パーティションの正しい UUID を取得するには {{ic|blkid}} を実行します。<br />
<br />
{{Note|<br />
* When GRUB is installed on the USB key, the key will always be {{ic|hd0,0}}.<br />
* It seems that current versions of GRUB will automatically default to using uuid. The following directions are for GRUB legacy.<br />
}}<br />
<br />
=== GRUB legacy ===<br />
<br />
GRUB legacy の設定ファイルである {{ic|menu.lst}} を以下のように設定する必要があります:<br />
<br />
{{ic|/dev/sda''X''}} を使用:<br />
<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro<br />
initrd /boot/initramfs-linux.img<br />
<br />
ラベルを使う場合 {{ic|menu.lst}} は以下のようになります:<br />
<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-linux root=/dev/disk/by-label/'''Arch''' ro<br />
initrd /boot/initramfs-linux.img<br />
<br />
UUID の場合:<br />
<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-linux root=/dev/disk/by-uuid/3a9f8929-627b-4667-9db4-388c4eaaf9fa ro<br />
initrd /boot/initramfs-linux.img<br />
<br />
=== GRUB ===<br />
<br />
UEFI の GPT を使う場合、[[GRUB#UEFI システム]] の指示に従って {{ic|--removable}} オプションを付けるようにしてください。そうしないと既存の GRUB が破壊される可能性があります。コマンドは以下のようになります:<br />
<br />
# grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=grub '''--removable''' --recheck<br />
<br />
=== Syslinux ===<br />
<br />
{{ic|/dev/sda''X''}} を使用:<br />
<br />
LABEL Arch<br />
MENU LABEL Arch Linux<br />
LINUX ../vmlinuz-linux<br />
APPEND root=/dev/sdax ro<br />
INITRD ../initramfs-linux.img<br />
<br />
UUID を使用:<br />
<br />
LABEL Arch<br />
MENU LABEL Arch Linux<br />
LINUX ../vmlinuz-linux<br />
APPEND root=UUID=3a9f8929-627b-4667-9db4-388c4eaaf9fa ro<br />
INITRD ../initramfs-linux.img<br />
<br />
== ヒントとテクニック ==<br />
<br />
=== 複数のマシンで USB インストールを使う ===<br />
<br />
==== インプットドライバー ====<br />
<br />
ノートパソコンを使う (またはタッチスクリーンを使用する) 場合、タッチパッドやタッチスクリーンを使用するには {{Pkg|xf86-input-synaptics}} パッケージが必要になります。<br />
<br />
タッチパッドの設定方法や問題のトラブルシューティングについては、[[Touchpad Synaptics]] の記事を見てください。<br />
<br />
==== ビデオドライバー ====<br />
<br />
{{Note|USB キーに Arch Linux をインストールするような場合にプロプライエタリのビデオドライバーを使用するのは推奨されません。}}<br />
<br />
ほとんどの GPU で動作するように {{Pkg|xf86-video-vesa}}, {{Pkg|xf86-video-ati}}, {{Pkg|xf86-video-intel}}, {{Pkg|xf86-video-nouveau}} をインストールしてください。<br />
<br />
==== 永続的なブロックデバイスの命名 ====<br />
<br />
[[fstab]] とブートローダーの設定では [[UUID]] を使うことが推奨されます。詳しくは[[永続的なブロックデバイスの命名]]を見て下さい。<br />
<br />
また、USB キーのカスタムシンボリックリンクを作成する udev ルールを作成することもできます。fstab やブートローダーの設定ではシンボリックリンクを使うようにします。詳しくは [[udev#固定デバイス名の設定]] を見て下さい。<br />
<br />
==== カーネルパラメータ ====<br />
<br />
Intel のビデオカードなどを使っている場合に、黒画面や "no signal" エラーが表示されないように、KMS は無効化したほうが良いでしょう。KMS を無効化するには、カーネルパラメータに {{ic|nomodeset}} を追加します。詳しくは[[カーネルパラメータ]]を参照してください。<br />
<br />
{{Warning|[[Xorg]] ドライバーによっては KMS が無効になっていると動作しないことがあります。詳しくはそれぞれのドライバーのページを見て下さい。特に Nouveau はディスプレイのの解像度を正しく認識するために KMS を必要とします。{{ic|nomodeset}} カーネルパラメータを追加する場合、Nvidia のビデオカードが搭載されたマシンを使うときはディスプレイの解像度を手動で調整する必要があります。詳しくは [[Xrandr]] を参照。}}<br />
<br />
==== USB-3 メディアから起動 ====<br />
<br />
[http://www.wyae.de/docs/boot-usb3/] を見て下さい。<br />
<br />
=== 互換性 ===<br />
<br />
フォールバックイメージを使うことで互換性を最大限に高めることができます。<br />
<br />
=== ディスクアクセスの最小化 ===<br />
<br />
* カスタム設定ファイルを作成するなどして、ジャーナルを RAM に保存するように [[Systemd#Journal|journald]] を設定すると良いでしょう:<br />
<br />
{{hc|/etc/systemd/journald.conf.d/usbstick.conf|2=<br />
[Journal]<br />
Storage=volatile<br />
RuntimeMaxUse=30M<br />
}}<br />
<br />
* ウェブブラウザなどのアプリケーションで {{ic|fsync}} と関連するシステムコールを無効化するには、{{Pkg|libeatmydata}} の ''eatmydata'' コマンドを使ってシステムコールを無効化できます:<br />
<br />
$ eatmydata firefox<br />
<br />
== 参照 ==<br />
<br />
* [[VirtualBox]]<br />
* [[ソリッドステートドライブ]]</div>
Kuuote
https://wiki.archlinux.jp/index.php?title=%E4%B8%80%E8%88%AC%E7%9A%84%E3%81%AA%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0&diff=16513
一般的なトラブルシューティング
2020-06-19T13:21:50Z
<p>Kuuote: 変換ミスの修正</p>
<hr />
<div>[[Category:システム管理]]<br />
[[Category:システムリカバリ]]<br />
[[en:General troubleshooting]]<br />
[[es:General troubleshooting]]<br />
[[ru:General troubleshooting]]<br />
[[zh-hans:General troubleshooting]]<br />
{{Related articles start}}<br />
{{Related|バグ報告ガイドライン}}<br />
{{Related|ステップバイステップデバッグガイド}}<br />
{{Related|デバッグ - トレースを取得}}<br />
{{Related|IRC 共同デバッグ}}<br />
{{Related articles end}}<br />
<br />
この記事では一般的なトラブルシューティングの方法を説明しています。特定のアプリケーションの問題については、そのプログラムの wiki ページを参照してください。<br />
<br />
== 基本手順 ==<br />
<br />
=== 注意事項 ===<br />
<br />
抱えている問題を解決するには、問題のシステムがどう機能しているのかを根本的に理解することが不可欠です。どうやって動いているのか、またエラーを起こさずに動作させるには何が必要なのか?質問に答えるのが用意ではないという場合、問題が発生している機能に関する [[メインページ|Archwiki]] の記事を見ることを強く推奨します。問題のシステムを理解すれば、問題を突き止めるのが楽になるでしょう。<br />
<br />
=== チェックリスト ===<br />
<br />
システムが機能しないときは以下の質問を考えてみてください。各質問の下には、なぜ質問に答えなければならないのか、詳しいデータを入手したりログやジャーナルを確認するにはどのツールを使えばいいのかを載せています。<br />
<br />
# 何が問題ですか?<br />
#: 出来る限り正確に把握してください。特定の情報を確認するときに、混乱したり横道にそれるのを防ぐためです。<br />
# エラーメッセージは存在しますか?<br />
#: 問題に関連するエラーメッセージを含んでいる出力を全て、{{ic|$HOME/issue.log}} などのファイルにコピーアンドペーストしてください。例えば、[[mkinitcpio]] コマンドの出力を {{ic|$HOME/issue.log}} に書き出すには以下のようにします:<br />
#: {{bc|$ mkinitcpio -p linux >> $HOME/issue.log''}}<br />
# 問題を再現できますか?<br />
#: 正確に、かつ手順毎に、再現に必要な操作やコマンドを抽出してください。<br />
# 問題が発生し始めたのはいつからで、問題がなかったときから何を変えましたか?<br />
#:アップデートによって問題が発生したのであれば、アップデートしたパッケージを全て挙げてください。バージョン番号や、[[pacman]].log に出力されたテキスト ({{ic|/var/log/pacman.log}}) も重要です。また、[[systemd]] の systemctl ツールを使って問題のアプリケーションを使うのに必要なサービスの状態を確認してください。例えば、以下の [[Systemd#systemctl の基本的な使い方|systemd]] コマンドは {{ic|$HOME/issue.log}} にサービスの状態を書き込みます:<br />
#: {{bc|$ systemctl status dhcpcd@eth0.service >> $HOME/issue.log}}<br />
#: {{Note|{{ic|'''>>'''}} を使うことで {{ic|$HOME/issue.log}} 内のテキストが上書きされないようにしています。}}<br />
<br />
=== 問題の特定 ===<br />
<br />
問題を解決しようとするとき、以下のようなアプローチを取ってはいけません:<br />
<br />
''アプリケーション X が動作しない。''<br />
<br />
そうではなくて、正確に観察をしましょう:<br />
<br />
''A または B の状態のときにアプリケーション X を使って作業 Y を行うと Z というエラーが発生する。''<br />
<br />
=== 他者のサポート ===<br />
<br />
全ての情報はあなたの目の前にあります。あなたのシステムで何が起きてるのか一番良く知ってるのはあなたのはずです。適切な修正を試みて下さい。<br />
<br />
他者のサポートが必要なときは、[https://bbs.archlinux.jp フォーラム] や irc.freenode.net の IRC #archlinux で得ることができるでしょう。<br />
<br />
助けを求めるときは、あなたが大事だと考えた部分だけでなく、ログや出力などの情報を全て投稿してください。以下のような情報が対象です:<br />
<br />
* コマンドの完全な出力。<br />
* systemd の {{ic|journalctl}} からの出力。{{ic|1=systemd.log_level=debug}} ブートパラメータを使うことでさらに詳しい出力を得ることができます。<br />
* ログファイル ({{ic|/var/log}} を確認してください)。<br />
* 関連する設定ファイル。<br />
* 関連するドライバー。<br />
* 関連するパッケージのバージョン。<br />
* カーネル: {{ic|dmesg}}。起動時の問題の場合、最後に表示された10行分程度の出力。場合によってはさらに多くの出力。<br />
* ネットワーク: 関連するコマンドや設定ファイルの実際の出力。<br />
* Xorg: {{ic|/var/log/Xorg.0.log}} や、問題のあるログを上書きした場合は前のログ。<br />
* Pacman: アップグレードによって問題が発生したのであれば {{ic|/var/log/pacman.log}}。<br />
<br />
情報を投稿するときはオンラインの pastebin を使うと良いでしょう。{{pkg|pbpst}} または {{pkg|gist}} パッケージを[[インストール]]することで情報を自動的にアップロードできます。例えば、systemd のジャーナルをアップロードするには:<br />
<br />
# journalctl -xb | pbpst -S<br />
<br />
リンクが出力されるのでフォーラムや IRC に貼り付けてください。<br />
<br />
質問を投稿する前に、[http://www.ranvis.com/articles/smart-questions.ja.html 賢い質問のしかた] や[[行動規範]]も読んでください。<br />
<br />
== 起動時の問題 ==<br />
<br />
[[ブートプロセス]]の問題を調べるときは[[カーネルパラメータ]]を変更して、システムを再起動します。<br />
<br />
システムが起動できない場合、[https://www.archlinux.jp/download/ ライブイメージ] から起動して既存の環境に [[Change Root]] してください。<br />
<br />
=== コンソールメッセージ ===<br />
<br />
ブートプロセスが完了すると、画面の表示は一度消去されてログインプロンプトが表示されます。ユーザーは init の出力やエラーメッセージを読むことができません。以下のセクションに書かれている方法を使うことでエラーが読めるようになります。<br />
<br />
どのオプションを使用した場合でも、起動後に {{ic|dmesg}} を使用したり {{ic|journalctl -b}} を実行することで起動時からのカーネルメッセージを表示することは可能です。<br />
<br />
==== フロー制御 ====<br />
<br />
仮想端末 (vc) を含む、ほとんど全てのターミナルエミュレータに適用される基本的な制御です:<br />
* {{ic|Ctrl+S}} を押して出力を停止<br />
* {{ic|Ctrl+Q}} で復帰<br />
<br />
{{ic|write()}} のコールがブロックされるため、出力が停止されるだけでなく、ターミナルに出力しようとしているプログラムも停止されます。''init'' がフリーズしているように見える場合、システムコンソールが停止していないか確認してください。<br />
<br />
既に表示されているエラーメッセージを見る方法は [[Getty#tty1 にブートメッセージを残す]]を参照。<br />
<br />
==== スクロールバック ====<br />
<br />
ビデオアダプタと表示端末の間に、スクロールバックバッファと呼ばれるバッファが作成されることで、テキストコンソールの画面から出てしまったテキストを遡って表示するスクロールバックが可能になっています。デフォルトでは、{{ic|Shift+PageUp}} と {{ic|Shift+PageDown}} のキーの組み合わせでバッファを上下にスクロールできます。<br />
<br />
上限までスクロールしても情報が十分得られない場合、スクロールバックバッファを拡張して、保存できる出力の量を増やす必要があります。{{ic|1=fbcon=scrollback:Nk}} [[カーネルパラメータ]]でカーネルのフレームバッファコンソール (fbcon) を設定することで拡張できます。{{ic|N}} を使用したいバッファサイズ (キロバイト) に置き換えてください。デフォルトのサイズは 32k です。<br />
<br />
上記の設定が反映されない場合、フレームバッファコンソールが正しく有効になっていません。[https://www.kernel.org/doc/Documentation/fb/fbcon.txt Framebuffer Console ドキュメント] をみて他のパラメータを設定したり、あるいはフレームバッファドライバーを変更してください。<br />
<br />
==== デバッグ出力 ====<br />
<br />
ほとんどのカーネルメッセージは起動時には表示されません。様々なカーネルパラメータを設定することでメッセージを表示させることができます:<br />
<br />
* {{ic|debug}} はカーネルと [[systemd]] のデバッグメッセージを有効にします。<br />
* {{ic|ignore_loglevel}} は強制的に全てのカーネルメッセージを表示します。<br />
<br />
特定のケースでは、他のパラメータを使用する場合もあります:<br />
* {{ic|1=earlyprintk=vga,keep}} はブートプロセスの初期段階でカーネルメッセージを表示します。出力が表示される前にカーネルがクラッシュしてしまう場合に使用してください。[[EFI]] 環境では {{ic|vga}} を {{ic|efi}} に変える必要があります。<br />
* {{ic|1=log_buf_len=16M}} はカーネルのメッセージバッファを大きくすることで (16MB)、デバッグ出力が上書きされないようにします。<br />
<br />
{{ic|bootmem_debug}} や {{ic|sched_debug}} など、特定のサブシステムのデバッグを有効にするデバッグパラメータも複数存在します。詳しくは [https://www.kernel.org/doc/Documentation/kernel-parameters.txt カーネルパラメータのドキュメント] を見てください。<br />
<br />
{{Note|見たいところまでブート時の出力をスクロールバックできない場合、[[#スクロールバック|スクロールバックバッファ]]のサイズを大きくしてください。}}<br />
<br />
=== リカバリシェル ===<br />
<br />
デーモンによるエラーや、fstab の記述が間違っている、またはディスプレイマネージャや Xorg に問題が発生していて、起動できない場合、シングルユーザー[[systemd#ターゲット|ランレベル]]を使うことで問題を修正できることがあります。シングルユーザーモードでは起動後に root シェルだけを表示します。リカバリシェルを起動するカーネルパラメータは複数存在しますが、どれも {{ic|exit}} で通常シェルに戻り、カーネルが元の状態に復帰します:<br />
* {{ic|rescue}} は root ファイルシステムが読み書きできる状態で再マウントされたすぐ後にシェルを起動します。<br />
* {{ic|emergency}} は更に早く、ファイルシステムがマウントされる前にシェルを起動します。<br />
* (何らかの理由で上記のパラメータが使えない場合) {{ic|1=init=/bin/sh}} は init プログラムを root シェルに変えます。{{ic|rescue}} と {{ic|emergency}} はどちらも [[systemd]] に依存しますが、{{ic|1=init=/bin/sh}} はたとえ ''systemd'' が壊れても使えます。<br />
<br />
また、[[カーネルパラメータ]]に {{ic|systemd.debug-shell}} を追加するか、あるいは {{ic|debug-shell.service}} を[[有効化]]することで {{ic|tty9}} に root シェルを追加することもできます (Ctrl+Alt+F9 でアクセス可能)。root シェルが開きっぱなしになっているとセキュリティ上危険なので、修復が終わったらサービスは無効化してください。<br />
<br />
=== Intel のビデオカードで画面が表示されない ===<br />
<br />
おそらく [[Kernel Mode Setting]] の問題が原因です。[[Kernel Mode Setting#モードセッティングを無効にする|モードセッティングを無効にする]]か[[Intel Graphics#KMS Issue: コンソールの画面が狭い|ビデオポートを変更]]してみてください。<br />
<br />
=== カーネルのロード中に止まってしまう ===<br />
<br />
{{ic|1=acpi=off}} [[カーネルパラメータ]]を追加して ACPI を無効化してみてください。<br />
<br />
=== カーネルモジュールのデバッグ ===<br />
<br />
[[カーネルモジュール#情報を取得]]を見てください。<br />
<br />
=== ハードウェアのデバッグ ===<br />
<br />
[[udev#デバッグ出力]]を見てください。<br />
<br />
== パッケージ管理 ==<br />
<br />
一般的な問題については [[Pacman#トラブルシューティング]]を、PGP 鍵に関する問題は [[pacman-key#トラブルシューティング]]を見てください。<br />
<br />
== fuser ==<br />
<br />
''fuser'' はファイルやファイルシステム、TCP/UDP ポートなどのリソースを使ってプロセスを確認するためのコマンドラインユーティリティです。<br />
<br />
''fuser'' は {{Pkg|psmisc}} パッケージに入っており、このパッケージは {{Pkg|base}} グループの一部として既にインストールされているはずです。<br />
<br />
== セッションのパーミッション ==<br />
<br />
{{Note|ローカルセッションを動作させるには init システムとして [[systemd]] を使う必要があります。systemd は polkit のパーミッションや様々なデバイスの ACL を使うのに必須です ({{ic|/usr/lib/udev/rules.d/70-uaccess.rules}} や [http://enotty.pipebreaker.pl/2012/05/23/linux-automatic-user-acl-management/] を参照)。}}<br />
<br />
まず、X の中に有効なローカルセッションがあることを確認してください:<br />
<br />
$ loginctl show-session $XDG_SESSION_ID<br />
<br />
このコマンドの出力に {{ic|1=Remote=no}} と {{ic|1=Active=yes}} が含まれていなければなりません。含まれていない場合は、X がログインを行った tty と同一の tty で動作していることを確認してください。logind セッションを維持するために tty が同一である必要があります。このことはデフォルトの {{ic|/etc/X11/xinit/xserverrc}} によって管理されています。<br />
<br />
D-Bus セッションも X と一緒に起動する必要があります。詳しくは [[D-Bus#ユーザーセッションの起動]]を見てください。<br />
<br />
基本的な [[polkit]] のアクションはそれ以上の設定を必要としませんが、ローカルセッションだけでなく他の認証を必要とする polkit アクションも存在します。認証するには polkit 認証エージェントを実行する必要があります。詳しくは [[polkit#認証エージェント]]を見て下さい。<br />
<br />
== 共有ライブラリのロード時にエラーが発生する ==<br />
<br />
プログラムを使用しようとすると、以下のようなエラーが出力される場合:<br />
<br />
error while loading shared libraries: libusb-0.1.so.4: cannot open shared object file: No such file or directory<br />
<br />
[[pacman]] や [[pkgfile]] を使って存在しないライブラリが入っているパッケージはどれか検索してください:<br />
<br />
{{hc|$ pacman -Fs libusb-0.1.so.4|<br />
extra/libusb-compat 0.1.5-1<br />
usr/lib/libusb-0.1.so.4<br />
}}<br />
<br />
上記の場合、{{Pkg|libusb-compat}} パッケージを[[インストール]]してください。<br />
<br />
インストールしたプログラムのパッケージの [[PKGBUILD]] に依存パッケージとしてライブラリが記載されていないという可能性もあります。公式パッケージの場合、[[バグ報告ガイドライン|バグとして報告]]してください。[[AUR]] のパッケージの場合、AUR のウェブサイトからメンテナに報告してください。<br />
<br />
== file: could not find any magic files! ==<br />
<br />
''例:'' パッケージのアップデートやインストールを行った後に以下のエラーが表示される:<br />
# file: could not find any magic files!<br />
上記が表示されるときはシステムが破損しています。問題のあるパッケージを再コンパイル・再インストールしようとしても無駄です。また、[[initramfs]] を再生成しようとすると以下のように出力されます:<br />
# mkinitcpio -p linux<br />
==> Building image from preset: 'default'<br />
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img<br />
file: could not find any magic files!<br />
==> ERROR: invalid kernel specifier: `/boot/vmlinuz-linux'<br />
==> Building image from preset: 'fallback'<br />
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect<br />
file: could not find any magic files!<br />
@==> ERROR: invalid kernel specifier: `/boot/vmlinuz-linux'<br />
<br />
大抵の場合、前にインストールしたアプリケーションによって {{ic|/etc/ld.so.conf.d/}} に作成された設定ファイルや {{ic|/etc/ld.so.conf}} に加えられた変更に問題があります。以下の手順で解決できます:<br />
#Arch Linux のライブ CD / インストールメディアを起動。<br />
#ルートパーティション ({{ic|'''/'''}}) を {{ic|/mnt}} にマウントして [[Change Root#arch-chroot を使う|arch-chroot]] を使ってシステムに [[chroot]]。<br />
{{Note|[[Change Root#arch-chroot を使う|arch-chroot]] では {{ic|/boot}} パーティションのマウントはユーザーが行う必要があります。}}<br />
#{{ic|/etc/ld.so.conf}} を編集して問題のある行を削除する。<br />
#{{ic|/etc/ld.so.conf.d/}} ディレクトリ内のファイルを確認して問題のあるファイルを削除する。<br />
#[[initramfs]] を再生成:<br />
# mkinitcpio -p linux<br />
#再起動する。<br />
#起動したら、問題のあるパッケージを再インストール:<br />
# pacman -S <package><br />
<br />
== 参照 ==<br />
<br />
;一般<br />
<br />
*[http://www.maximumpc.com/article/features/linux_troubleshooting_guide_fix_most_common_problems Fix the Most Common Problems]<br />
*[https://www.reddit.com/r/archlinux/comments/tjjwr/archlinux_a_howto_in_troubleshooting_for_newcomers/ A how-to in troubleshooting for newcomers]<br />
<br />
;起動の問題<br />
<br />
* [http://www.memtest.org/ Memtest86+]<br />
* [http://wiki.ultimatebootcd.com/index.php?title=Tools List of Tools for UBCD] - memtest のように menu.lst に追加できます。<br />
* Wikipedia の [[Wikipedia:BIOS Boot partition|BIOS Boot partition]] のページ<br />
* [https://fedoraproject.org/wiki/QA/Sysrq QA/Sysrq] - sysrq の使用方法<br />
* systemd のドキュメント: [https://freedesktop.org/wiki/Software/systemd/Debugging#Debug_Logging_to_a_Serial_Console Debug Logging to a Serial Console]<br />
* [https://web.archive.org/web/20120217124742/http://www.lesswatts.org/projects/acpi/debug.php How to Isolate Linux ACPI Issues]</div>
Kuuote
https://wiki.archlinux.jp/index.php?title=%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E4%B8%80%E8%A6%A7/%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88&diff=15664
アプリケーション一覧/ドキュメント
2020-02-23T22:17:57Z
<p>Kuuote: Visual Studio Codeのパッケージは公式にあるので書き換え</p>
<hr />
<div><noinclude><br />
[[Category:アプリケーション]]<br />
[[en:List of applications/Documents]]<br />
[[es:List of applications/Documents]]<br />
[[it:List of applications/Documents]]<br />
[[ru:List of applications/Documents]]<br />
[[zh-hans:List of applications/Documents]]<br />
[[zh-hant:List of applications/Documents]]<br />
{{List of Applications navigation}}<br />
</noinclude><br />
== ドキュメント ==<br />
=== オフィススイート ===<br />
{{Wikipedia/ja|オフィススイートの比較}}<br />
<br />
* {{App|[[Wikipedia:ja:Calligra Suite|Calligra]]|活発に開発されている KOffice ([[KDE]] のオフィススイート) のフォーク。OpenOffice.org のほとんどの機能を持っていてスマートフォン版 (Calligra Mobile) やタブレット版 (Calligra Active) もあります。|http://www.calligra-suite.org/|{{Pkg|calligra}}}}<br />
* {{App|[[LibreOffice]]|活発に開発されている OpenOffice.org のフォーク。|https://www.libreoffice.org/|{{Pkg|libreoffice-still}} または {{Pkg|libreoffice-fresh}}}}<br />
* {{App|[[OpenOffice]]|オープンソースのオフィススイート。ワードプロセッサ、スプレッドシート、プレゼンテーション、グラフィック、データベースなど (現在は Apache ライセンス)。|http://www.openoffice.org/|{{AUR|openoffice}}}}<br />
* {{App|[[Unoconv]]|Libreoffice ベースのドキュメントコンバーター。|http://dag.wiee.rs/home-made/unoconv/|{{Pkg|unoconv}}}}<br />
* {{App|[[Wikipedia:SoftMaker Office|SoftMaker Office]]|軽量で機能豊富な Microsoft Office 互換のオフィススイート。ワードプロセッサ、スプレッドシート、プレゼンテーショングラフィックソフトウェアが付属。|http://www.freeoffice.com/|{{AUR|freeoffice}}}}<br />
* {{App|[[Wikipedia:ja:Kingsoft Office|WPS Office]]|プロプライエタリなオフィススイート。旧名 Kingsoft Office。|http://www.wps.com/|{{AUR|wps-office}}}}<br />
<br />
=== ワードプロセッサ ===<br />
{{Wikipedia|Comparison of word processors}}<br />
<br />
* {{App|[[Abiword]]|フル機能のワードプロセッサ。|http://www.abisource.com/|{{Pkg|abiword}}}}<br />
* {{App|Antiword|MS Word リーダー。|http://www.winfield.demon.nl/|{{Pkg|antiword}}}}<br />
* {{App|[[Wikipedia:ja:BlueGriffon|BlueGriffon]]|World Wide Web 用の新しい WYSIWYG コンテンツエディタ。|http://www.bluegriffon.com/|{{Pkg|bluegriffon}}}}<br />
* {{App|[[Wikipedia:Calligra Words|Calligra Words]]|Calligra スイートに含まれているパワフルなワードプロセッサ。|https://www.calligra.org/words/|{{Pkg|calligra}}}}<br />
* {{App|gLabels|ラベルや名刺を作るためのプログラム。|http://glabels.org/|{{Pkg|glabels}}}}<br />
* {{App|[[Wikipedia:KompoZer|KompoZer]]|Dreamweaver スタイルの WYSIWYG ウェブエディタ。Nvu 非公式バグフィックスリリース版。|http://kompozer.net/|{{Pkg|kompozer}}{{Broken package link|{{aur-mirror|kompozer}}}}}}<br />
* {{App|[[LibreOffice|LibreOffice Writer]]|LibreOffice スイートに含まれているフル機能のワードプロセッサ。|https://www.libreoffice.org/|{{Pkg|libreoffice-still}} または {{Pkg|libreoffice-fresh}}}}<br />
* {{App|[[OpenOffice.org|OpenOffice.org Writer]]|OpenOffice.org スイートに含まれているフル機能のワードプロセッサ。|http://www.openoffice.org/|{{AUR|openoffice}}}}<br />
* {{App|[[Wikipedia:ja:Scribus|Scribus]]|デスクトップパブリッシングプログラム。|http://www.scribus.net/canvas/Scribus|{{Pkg|scribus}}}}<br />
* {{App|[[Wikipedia:SeaMonkey#Composer|SeaMonkey Composer]]|SeaMonkey スイートに含まれているパワフルでシンプルな HTML エディタ。|http://www.seamonkey-project.org/|{{Pkg|seamonkey}}}}<br />
* {{App|[[Wikipedia:Ted (word processor)|Ted]]|使いやすい GTK+ ベースのリッチテキストプロセッサ (脚注をサポート)。|http://www.nllgg.nl/Ted/|{{AUR|ted}}}}<br />
<br />
=== マークアップ言語 ===<br />
<br />
[[Wikipedia:Comparison of document markup languages]] も参照。<br />
<br />
* {{App|[[Wikipedia:AsciiDoc|asciidoc]]|人間が読めるテキスト文章フォーマット。Arch では ''pacman'' の man ページを生成するのに使われています [https://www.archlinux.org/pacman/pacman.8.html]。|http://asciidoc.org/|{{Pkg|asciidoc}}}}<br />
* {{App|Asciidoctor|Ruby による asciidoc の実装。様々な機能が追加されています。|http://asciidoctor.org/|{{Pkg|asciidoctor}}}}<br />
* {{App|[[Wikipedia:ja:Markdown|Markdown]]|Text-to-HTML 変換ツール。シンプルなプレーンテキストフォーマットを使用。|http://daringfireball.net/projects/markdown|{{Pkg|discount}}}}<br />
* {{App|Pandoc|あるマークアップ言語で書かれたものを様々なフォーマットに変換できるツール (Markdown をサポート)。|http://johnmacfarlane.net/pandoc|{{Pkg|pandoc}}}}<br />
* {{App|[[Wikipedia:Sphinx_(documentation_generator)|Sphinx]]|[[Wikipedia:ReStructuredText|reStructuredText]] によるドキュメント生成システム。複数のフォーマットで出力可能 (Python プロジェクトのためのドキュメントシステム)。|http://sphinx-doc.org|{{Pkg|python-sphinx}}}}<br />
* {{App|[[Wikipedia:Txt2tags|txt2tags]]|すごくわかりやすい、KISS-準拠の軽量な人間に読めるマークアップ言語。リッチフォーマットコンテンツをプレーンテキストファイルから作成。|http://txt2tags.sourceforge.net|{{Pkg|txt2tags}}}}<br />
<br />
=== スプレッドシート ===<br />
{{Wikipedia|Comparison of spreadsheet software}}<br />
<br />
* {{App|[[Wikipedia:Calligra Sheets|Calligra Sheets]]|Calligra スイートに含まれているパワフルな表計算アプリケーション。|https://www.calligra.org/sheets/|{{Pkg|calligra}}}}<br />
* {{App|[[Gnumeric]]|GNOME デスクトップの一部になっているスプレッドシートプログラム。|http://www.gnumeric.org/|{{Pkg|gnumeric}}}}<br />
* {{App|[[LibreOffice|LibreOffice Calc]]|LibreOffice スイートに含まれているフル機能の表計算アプリケーション。|https://www.libreoffice.org/features/calc/|{{Pkg|libreoffice-still}} または {{Pkg|libreoffice-fresh}}}}<br />
* {{App|[[OpenOffice.org|OpenOffice.org Calc]]|OpenOffice.org スイートに含まれているフル機能の表計算アプリケーション。|http://openoffice.org/product/calc.html|{{AUR|openoffice}}}}<br />
* {{App|Pyspread|Python プログラミング言語で書かれた新しいスプレッドシートアプリケーション。|http://manns.github.io/pyspread/index.html|{{AUR|pyspread}}}}<br />
* {{App|sc|curses ベースの軽量スプレッドシート。|http://ibiblio.org/pub/linux/apps/financial/spreadsheet/!INDEX.html|{{Pkg|sc}}}}<br />
* {{App|sc-im|sc ベースのスプレッドシートプログラム。|https://github.com/andmarti1424/sc-im/|{{AUR|sc-im}}}}<br />
<br />
=== 科学論文 ===<br />
<br />
[[TeX Live|TeX]] やその仲間を使うことで、科学論文・記事・ジャーナルを簡単に作成することができます。<br />
<br />
{{Wikipedia|Comparison of TeX editors}}<br />
<br />
* {{App|[[Wikipedia:AUCTEX|AUCTeX]]|Emacs で TeX ファイルを作成・フォーマットするための拡張性のあるパッケージ。|https://www.gnu.org/software/auctex/|{{AUR|auctex}}}}<br />
* {{App|EqualX|リアルタイムプレビューができる LaTeX 方程式エディタ。|http://equalx.sourceforge.net/index.html|{{AUR|equalx}}}}<br />
* {{App|gedit-latex|gedit にコード補完を追加して LaTeX 文章をコンパイルしたり BibTeX 目録を管理できるようにする。|http://www.gnome.org/|{{AUR|gedit-latex}}}}<br />
* {{App|[[Wikipedia:Gummi (software)|Gummi]]|軽量な GTK+ ベースの TeX/LaTeX エディタ。連続的なプレビューモード、統合された BibTeX サポート、拡張性のあるスニペットインターフェイスとマルチドキュメントサポートが特徴。|https://github.com/alexandervdm/gummi/|{{Pkg|gummi}}}}<br />
* {{App|[[Wikipedia:JabRef|JabRef]]|BibTeX やその他のビブリオグラフィを管理するための Java GUI フロントエンド。|http://jabref.sourceforge.net/index.php|{{AUR|jabref}} {{AUR|jabref-git}}}}<br />
* {{App|[[Wikipedia:ja:Kile|Kile]]|多くの機能を持っているユーザーフレンドリーな KDE デスクトップ用 TeX/LaTeX エディタ。|http://kile.sourceforge.net/|{{Pkg|kile}}}}<br />
* {{App|Ktikz|[http://pgf.sourceforge.net/ TikZ/PGF] で簡単に図式を作れる GUI。|http://www.hackenberger.at/blog/ktikz-editor-for-the-tikz-language/|{{Pkg|ktikz}}}}<br />
* {{App|[[Wikipedia:LaTeXila|LaTeXila]]|GNOME デスクトップの LaTeX エディタで、コード補完とコンパイル、プロジェクトの管理に対応。|https://projects.gnome.org/latexila/|{{Pkg|latexila}}{{Broken package link|置換パッケージ: {{Pkg|gnome-latex}}}}}}<br />
* {{App|[[Lout]]|軽量なドキュメント整形システム。LaTeX と同じようにドキュメントの高水準記述を読み込んで PostScript を生成します。|http://savannah.nongnu.org/projects/lout|{{pkg|lout}}}}<br />
* {{App|[[Wikipedia:ja:LyX|LyX]]|単純に外観にあわせて書くのではなく (WYSIWYG) 文章の構造を意識させるドキュメントプロセッサ。|http://www.lyx.org/|{{Pkg|lyx}}}}<br />
* {{App|[[Wikipedia:ja:GNU TeXmacs|TeXmacs]]|科学者用に特別な機能がある WYSIWYW 編集プラットフォーム。|http://www.texmacs.org/|{{Pkg|texmacs}}}}<br />
* {{App|[[Wikipedia:Texmaker|Texmaker]]|クロスプラットフォームの、軽量で使いやすい LaTeX IDE。LaTeX で文章を作成するのに必要な多数のツールが、たった一つのアプリケーションに全て統合されています。|http://www.xm1math.net/texmaker/index.html|{{Pkg|texmaker}}}}<br />
* {{App|[[Wikipedia:TeXstudio|TeXstudio]]|TeXMaker のフォークで、bibtex アイテムのコード補完、文法チェック、複数の LaTeX を実行する必要の自動検出などをサポート。|http://texstudio.sourceforge.net/|{{pkg|texstudio}}}}<br />
* {{App|[[Vim|Vim-LaTeX-suite]]|vim 用の LaTeX 環境。|http://vim-latex.sourceforge.net/|{{Pkg|vim-latexsuite}}}}<br />
* {{App|[[Vim|Vimtex]]|[https://github.com/LaTeX-Box-Team/LaTeX-Box LaTeX-Box] のフォーク。自動的な折りたたみやオムニ補完、latexmk のコンパイルなどが使える vim プラグイン。|https://github.com/lervag/vimtex/|}}<br />
* {{App|[[Wikipedia:ja:Zotero|Zotero]]|研究資料の収拾、管理、引用、共有に役立つフリーで使いやすいツールです。スタンドアロンのバージョンと Firefox のアドオンが存在します。|http://www.zotero.org/support/3.0/|{{AUR|zotero}}}}<br />
<br />
=== 翻訳・地域化 ===<br />
* {{App|[[Wikipedia:ja:Apertium|Apertium]]|言語データを含む、フリーのオープンソースなルールベース機械翻訳プラットフォーム。次のフォーマットをサポート: HTML, Microsoft Office 2007 XML, OpenDocument, TMX, MediaWiki など。|http://apertium.org/|{{AUR|apertium}}}}<br />
* {{App|[[Wikipedia:Gtranslator|Gtranslator]]|GNOME の gettext po ファイルエディタ。gettext po ファイルの全ての形式を扱い便利な機能が含まれています。|https://wiki.gnome.org/Apps/Gtranslator|{{Pkg|gtranslator}}}}<br />
* {{App|Lokalize|ソフトウェア翻訳のための標準 [[KDE]] ツール。PO ファイルの編集機能に加えて、用語集・翻訳メモリ・プロジェクト管理などをサポート。|https://userbase.kde.org/Lokalize|{{Pkg|lokalize}}}}<br />
* {{App|[[Wikipedia:Moses (machine translation)|Moses]]|統計に基づく機械翻訳ツール(言語データは含まれていません)。|http://statmt.org/moses|{{AUR|mosesdecoder}} {{AUR|mosesdecoder-git}}}}<br />
* {{App|[[Wikipedia:ja:OmegaT|OmegaT]]|一般的な翻訳支援ツール。翻訳メモリなどの多くの機能を持ち Google 翻訳からのサジェストも可能。次のフォーマットをサポート: HTML, Microsoft Office 2007 XML, OpenDocument, XLIFF/Okapi, MediaWiki, plain text, TMX など。|http://omegat.org|{{AUR|omegat}}}}<br />
* {{App|[[Wikipedia:ja:Poedit|Poedit]]|シンプルな gettext/po ベースの翻訳ツール。|http://poedit.net|{{Pkg|poedit}}}}<br />
* {{App|Pology|gettext/po-ファイル を扱うための Python ツールのセット。|https://techbase.kde.org/Localization/Tools/Pology|{{AUR|pology}}}}<br />
* {{App|[[Wikipedia:ja:Virtaal|Virtaal]]|[[Wikipedia:ja:Translate Toolkit|Translate Toolkit]] ベースの、ソフトウェアなどの文章を翻訳するためのエディタ。次のフォーマットをサポート: [[Wikipedia:ja:gettext|gettext]], [[Wikipedia:ja:XLIFF|XLIFF]] , TMX, TBX, [[Wikipedia:WordFast|Wordfast]], Qt Linguist , Qt Phrase Book, [[Wikipedia:ja:OmegaT|OmegaT glossary]] など。[[Wikipedia:ja:Apertium|Apertium]], [[Wikipedia:ja:Google翻訳|Google Translate]], [[Wikipedia:ja:Bing Translator|Bing Translator]], [[Wikipedia:Moses (machine translation)|Moses]] などからのサジェストを表示することも可能。|http://virtaal.translatehouse.org/|{{AUR|virtaal}}}}<br />
<br />
=== テキストエディタ ===<br />
{{Wikipedia|Comparison of text editors}}<br />
<br />
==== コンソール ====<br />
* {{App|e3|依存パッケージのない、アセンブリで書かれた小さなエディタ。|http://sites.google.com/site/e3editor/|{{Pkg|e3}}}}<br />
* {{App|ee|クラシックな curse ベースのテキストエディタ。HP-UX で誕生し、FreeBSD で使われています。|http://www.users.qwest.net/~hmahon/|{{aur|ee-editor}}}}<br />
* {{App|dex|ctags やコンパイラエラーのパースをサポートしている小さくて使いやすいテキストエディタ。|https://github.com/tihirvon/dex|{{AUR|dex-editor-git}}}}<br />
* {{App|[[Emacs|Emacs-nox]]|拡張性がありカスタマイズが多用でドキュメント豊富なリアルタイムディスプレイエディタ。X11 サポートなし。|https://www.gnu.org/software/emacs/emacs.html|{{Pkg|emacs-nox}}}}<br />
* {{App|[[Wikipedia:JED (text editor)|JED]]|[[Wikipedia:S-Lang (programming library)|S-Lang ライブラリ]]を使って拡張するテキストエディタ。|http://jedsoft.org/jed/|{{AUR|jed}}}}<br />
* {{App|[[Joe]] (Joe's Own Editor)|使いやすいように設計されている端末ベースのテキストエディタ。|http://joe-editor.sourceforge.net/|{{Pkg|joe}}}}<br />
* {{App|[[Wikipedia:Midnight Commander|mcedit]]|Midnight Commander ファイルマネージャに付属している便利なテキストエディタ。|http://www.ibiblio.org/mc/|{{Pkg|mc}}}}<br />
* {{App|micro|近代的で直感的なターミナルベースのテキストエディタ。Go で書かれておりプラグインで拡張できます。|https://micro-editor.github.io|{{AUR|micro}}}}<br />
* {{App|[[Wikipedia:MicroEMACS|MicroEmacs]]|Ncurses ベースのテキストエディタ。コンソールバージョン (me -n) と X-window バージョン (me) があります。|http://www.jasspa.com/|{{AUR|jasspa-me}}}}<br />
* {{App|[[Wikipedia:mg (editor)|mg]]|小型で高速、ポータブルな Emacs 互換エディタ。|http://homepage.boetes.org/software/mg|{{Pkg|mg}}}}<br />
* {{App|mp|Minimum Profit はプログラマ向けのテキストエディタです。vi や emacs のような六本足のテキストエディタから足を洗いたい人向け。|http://triptico.com/software/mp.html|{{AUR|mp}}}}<br />
* {{App|[[nano]]|テキストエディタpicoをベースとしたコンソールテキストエディタ。画面上にキー操作が表示されます。|http://nano-editor.org/|{{Pkg|nano}}}}<br />
* {{App|Ne|Windows ライクなキーバインドを使用するミニマリストテキストエディタ。|http://ne.di.unimi.it/|{{AUR|ne}}}}<br />
* {{App|Slap|Sublime ライクなターミナルベースのテキストエディタ。|https://github.com/slap-editor/slap|{{AUR|slap}}}}<br />
* {{App|Tilde|Windows ライクなキーバインドを備えた直感的なテキストエディタ。|http://os.ghalkes.nl/tilde/|{{AUR|tilde}}}}<br />
* {{App|[[Wikipedia:Vile (editor)|vile]]|''vi'' ライクなキーバインドを使用する軽量な Emacs クローン。|http://invisible-island.net/vile/vile.html|{{AUR|vile}}}}<br />
* {{App|[[Wikipedia:Zile (editor)|Zile]]|軽量な Emacs クローン。|https://www.gnu.org/software/zile/|{{Pkg|zile}}}}<br />
<br />
=====[[Vi]] テキストエディタ=====<br />
* {{App|Amp|[[Rust]] で書かれたテキストエディタで、Vim のコア機能をシンプルにして、近代的なテキストエディタに求められる機能をバンドルすることを目標としています。|https://amp.rs|{{AUR|amp}}}}<br />
* {{App|[[Kakoune]]|モーダルエディタ。キーストロークが少なく、選択ベースでマルチカーソル編集を使うことができ、直交デザインを取っています。|https://github.com/mawww/kakoune|{{aur|kakoune-git}}}}<br />
* {{App|[[Neovim]]|21世紀の Vim 再誕。|http://neovim.io/|{{Pkg|neovim}}}}<br />
* {{App|[[Vi]]|オリジナルの ex/vi テキストエディタ。|http://ex-vi.sourceforge.net/|{{Pkg|vi}}}}<br />
* {{App|[[Vim]] (Vi IMproved)|標準の Unix エディタである 'vi' に多くの機能を追加した先進的なテキストエディタ。|http://www.vim.org/|{{Pkg|vim}}}}<br />
* {{App|Vis|モダンでレガシーフリー、単純ながら効率的な vim ライクなエディタ。|http://www.brain-dump.org/projects/vis/|{{Pkg|vis}}}}<br />
<br />
==== グラフィカル ====<br />
* {{App|[[Wikipedia:ja:Acme|Acme]]|Rob Pike によって開発されている Plan 9 OS 向けの最小主義の柔軟性のあるプログラミング環境。|http://acme.cat-v.org|{{Pkg|plan9port}}}}<br />
* {{App|[[Atom]]|GitHub によって開発されている待望のテキストエディタ。Node.js で書かれたプラグインのサポート、[[Git]] の制御が組み込まれています。|https://atom.io|{{Pkg|atom}}}}<br />
* {{App|Beaver|モジュラー・ライトウェイト・スタイリッシュに設計された GTK+ エディタ。|http://beaver-editor.sourceforge.net/|{{Pkg|beaver}}}}<br />
* {{App|[[Wikipedia:ja:Brackets|Brackets]]|オープンソースのコードエディタ。JavaScript, HTML, CSS で書かれています。|http://brackets.io/|{{AUR|brackets}}}}<br />
* {{App|FeatherPad|ダークテーマをネイティブで搭載しタブ・印刷・シンタックスハイライトをサポートするミニマルな Qt5 のプレーンテキストエディタ。|https://github.com/tsujan/FeatherPad|{{AUR|featherpad}}}}<br />
* {{App|[[Wikipedia:ja:Geany|Geany]]|統合開発環境の基本的な機能を備えた GTK2 ツールキットのテキストエディタ。TeX 文章に対応。|https://www.geany.org|{{Pkg|geany}}}}<br />
* {{App|[[Gedit]]|GNOME デスクトップの GTK+ エディタ。シンタックスハイライト、自動インデント、パターンマッチなどの機能があり、さらに機能を追加するための多数のプラグインが存在します。|https://wiki.gnome.org/Apps/Gedit|{{Pkg|gedit}}}}<br />
* {{App|[[Emacs|GNU Emacs]]|多少威圧的だが凄まじい拡張性を持つテキストエディタ。大量の拡張が存在します。|https://www.gnu.org/software/emacs/|{{Pkg|emacs}}}}<br />
* {{App|[[gVim]]|Vim のグラフィカルインターフェース。|http://vim.org/|{{Pkg|gvim}}}}<br />
* {{App|Jedit|プログラマーのためのテキストエディタ、Java で書かれています。|http://www.jedit.org/|{{Pkg|jedit}}}}<br />
* {{App|[[Wikipedia:JuffEd|JuffEd]]|Qt で書かれた、シンタックスハイライトのできるシンプルなタブテキストエディタ。|http://juffed.com/en/index.html|{{AUR|juffed}}}}<br />
* {{App|[[Wikipedia:ja:Kate|Kate]]|KDE デスクトップの MDI とファイルシステムブラウザがついたフル機能のプログラマー用エディタ。|https://kate-editor.org/|{{Pkg|kate}}}}<br />
* {{App|[[Wikipedia:ja:KWrite|KWrite]]|Kate のウィジェットとしても使われている KDE デスクトップの軽量なテキストエディタ。|https://www.kde.org/applications/utilities/kwrite|{{Pkg|kwrite}}}}<br />
* {{App|[[Wikipedia:ja:Leafpad|Leafpad]]|シンプルさを強調した GTK+ のメモ帳クローン。|http://tarot.freeshell.org/leafpad/|{{Pkg|leafpad}}}}<br />
* {{App|L3afpad|シンプルなテキストエディタ。Leafpad のフォークで、GTK+ 3 をサポート。|https://github.com/stevenhoneyman/l3afpad|{{Pkg|l3afpad}}}}<br />
* {{App|[[w:Light Table (software)|LightTable]]|近代的なオープンソースのテキストエディタ。|http://lighttable.com|{{AUR|lighttable-bin}} または {{AUR|lighttable-git}}}}<br />
* {{App|medit|プログラミング用テキストエディタ。|http://mooedit.sourceforge.net/|{{AUR|medit}}}}<br />
* {{App|[[Wikipedia:ja:Xfce|Mousepad]]|Xfce デスクトップ環境の軽快なテキストエディタ。|https://www.xfce.org|{{Pkg|mousepad}}}}<br />
* {{App|[[Wikipedia:LessTif|Nedit]]|Motif 環境のテキストエディタ。|http://www.nedit.org|{{Pkg|nedit}}}}<br />
* {{App|Notepadqq|Qt ベースで Notepad++ ライクなテキストエディタ。100以上の言語のシンタックスハイライトをサポート。|http://notepadqq.altervista.org/s/|{{Pkg|notepadqq}}}}<br />
* {{App|[[MATE|Pluma]]|MATE のパワフルなテキストエディタ。|http://mate-desktop.org|{{Pkg|pluma}}}}<br />
* {{App|[[Wikipedia:PyRoom|PyRoom]]|遊びの少ない書くことにこだわった PyGTK テキストエディタ。有名な WriteRoom のクローン。|http://pyroom.org/|{{AUR|pyroom}}}}<br />
* {{App|QSciTE|SciTE テキスト・コードエディタの Qt クローン。|https://code.google.com/archive/p/qscite/|{{AUR|qscite}}}}<br />
* {{App|QXmlEdit|シンプルな Qt XML エディタと XSD ビューア。|http://qxmledit.org/|{{AUR|qxmledit}}}}<br />
* {{App|[[Wikipedia:Sam (text editor)|Sam]]|グラフィカルユーザーインターフェースのある最小主義のテキストエディタ。Rob Pike によって開発されており、パワフルなコマンド言語、リモート編集機能などがある。|http://sam.cat-v.org|{{Pkg|plan9port}} or {{Pkg|9base}}}}<br />
* {{App|[[SciTE]]|プログラムのビルド・実行を容易くする一般的に使いやすいエディタ。|http://scintilla.org/SciTE.html|{{AUR|scite}}}}<br />
* {{App|Scribes|シンプリシティとパワーを併せ持つ究極最小主義のテキストエディタ。|http://scribes.sourceforge.net|{{AUR|scribes}}}}<br />
* {{App|[[Wikipedia:ja:Sublime Text|Sublime Text 2]]|多くの先進的な機能やプラグインを持ちながら軽快に動作するクローズドソースの C++ と Python ベースのエディタ。|https://www.sublimetext.com|{{AUR|sublime-text2}}}}<br />
* {{App|[[Wikipedia:ja:Sublime Text|Sublime Text 3]]|クローズドソースの C++ と Python ベースのエディタ。先進的な機能やプラグインが多数存在しながら軽量で外観も綺麗です。|https://www.sublimetext.com|{{AUR|sublime-text-dev}}}}<br />
* {{App|Tea|Qt ベースの高機能なテキストエディタ。|http://semiletov.org/tea/|{{AUR|tea}}}}<br />
* {{App|[[Textadept]]|Lua で拡張できる機能豊富なテキストエディタ。Scintilla をベースとしており C で書かれています。|https://foicica.com/textadept/|{{AUR|textadept}}}}<br />
* {{App|[[Visual Studio Code]]|近代的なウェブ・クラウドアプリケーションをビルド・デバッグするためのエディタ。|https://code.visualstudio.com|{{Pkg|code}}}}<br />
* {{App|XEdit|X Window System のシンプルなテキストエディタ。|https://www.x.org/wiki/|{{Pkg|xorg-xedit}}}}<br />
<br />
=====共同テキストエディタ=====<br />
* {{App|[[Gobby]]|複数の文章を一つのセッションで、マルチユーザーのチャットを使って編集できる共同作業エディタ。|https://gobby.github.io|{{Pkg|gobby}}}}<br />
<br />
=== 文章リーダー・ビューア ===<br />
<br />
==== 電子書籍 ====<br />
* {{App|Bookworm|Elementary OS の電子書籍リーダー。epub, pdf, mobi, cbr をサポート。|https://babluboy.github.io/bookworm/|{{Pkg|bookworm}}}}<br />
* {{App|[[Wikipedia:ja:Calibre|Calibre]]|電子書籍ライブラリ管理アプリケーション、様々な電子書籍リーダーとの同期やフォーマット変換も可能。サポートしているフォーマットは CBZ, CBR, CBC, CHM, DJVU, EPUB, FictionBook, HTML, HTMLZ, LIT, LRF, Mobipocket, ODT, PDF, PRC, PDB, PML, RB, RTF, SNB, TCR, TXT, TXTZ など。|https://calibre-ebook.com/|{{Pkg|calibre}}}}<br />
* {{App|Cool Reader|多くのフォーマットをサポートしている電子書籍ビューア。サポートしているのは EPUB (DRM フリー), FictionBook, TXT, RTF, HTML, CHM, TCR など。|https://sourceforge.net/projects/crengine/|{{AUR|coolreader3-git}}}}<br />
* {{App|epub|curses EPUB リーダー。Python と BeautifulSoup を使用。|https://pypi.python.org/pypi/epub|{{AUR|python-epub}}}}<br />
* {{App|[[Wikipedia:FBReader|FBReader]]|多くのフォーマットをサポートしている電子書籍ビューア。サポートしているのは EPUB, FictionBook, HTML, plucker, PalmDoc, zTxt, TCR, CHM, RTF, OEB, Mobipocket (DRM フリー), TXT など。|https://fbreader.org/|{{Pkg|fbreader}}}}<br />
* {{App|[[Wikipedia:Sigil (application)|Sigil]]|WYSIWYG ebook エディタ。|https://sigil-ebook.com/|{{pkg|sigil}}}}<br />
<br />
==== PDF と DjVu ====<br />
<br />
{{Note|1=[[Wikipedia:Portable_Document_Format#Interactive_elements|PDF フォーム]] のサポートについて:<br />
* {{AUR|acroread}} は AcroForms と XFA フォームの両方を PDF ファイルに保存できます。<br />
* {{Pkg|evince}} や {{Pkg|okular}} など Poppler ベースのリーダーは AcroForms には対応していますが、XFA フォームには完全には対応していません [https://bugs.freedesktop.org/show_bug.cgi?id=18935] [https://bugs.launchpad.net/ubuntu/+source/poppler/+bug/321720]。<br />
* CJK (中国語, 日本語, 韓国語) を {{Pkg|evince}} や {{Pkg|okular}} などの Poppler ベースのリーダーで使うには、{{Pkg|poppler-data}} をインストールしてください。poppler-data は poppler の任意依存パッケージであり、evince や okular の依存パッケージとして直接インストールされることはありません。<br />
}}<br />
<br />
{{Wikipedia/ja|PDFソフトウェアの一覧}}<br />
{{Wikipedia/ja|DjVu}}<br />
<br />
===== コンソール =====<br />
* {{App|fbgs|linux フレームバッファコンソールで使える貧者のための PostScript/pdf ビューア。|https://www.kraxel.org/blog/linux/fbida/|{{Pkg|fbida}}}}<br />
* {{App|fbpdf|MuPDF ベースの小さなフレームバッファ PDF ビューア、[[Vim]] キーバインドを備え、C で書かれています。|http://repo.or.cz/w/fbpdf.git|{{AUR|fbpdf-git}}}}<br />
* {{App|jfbview|フレームバッファ PDF 画像ビューア。Vim ライクのコントロール、zoom-to-fit、TOC (outline) ビュー などの機能を持ち、マルチスレッドによる高速レンダリングと非同期のキャッシュをサポート。|https://seasonofcode.com/pages/jfbview.html|{{AUR|jfbview}}}}<br />
<br />
===== グラフィカル =====<br />
{{Note|[[アプリケーション一覧/インターネット#ウェブブラウザ|ウェブブラウザ]]の中には PDF ファイルの表示をサポートしているものがあります。}}<br />
<br />
* {{App|acroread|Adobe によって提供されている PDF ファイルビューア (クローズドソース)。|https://www.adobe.com/products/reader.html|{{AUR|acroread}}}}<br />
* {{App|apvlv|[[Vim]] キーバインドを備えた軽量な PDF/DjVu/UMD/TXT ビューア。|http://naihe2010.github.io/apvlv/|{{AUR|apvlv}}}}<br />
* {{App|Atril|MATE のシンプルなマルチページ文章ビューア。|https://github.com/mate-desktop/atril|{{Pkg|atril}}}}<br />
* {{App|ePDFView|Poppler と GTK+ ライブラリを使っているフリーで軽量の PDF ドキュメントビューア。開発は停止しています。|http://freecode.com/projects/epdfview/|{{Pkg|epdfview}}}}<br />
* {{App|[[Evince]]|複数の文章フォーマットに対応したドキュメントビューア。PDF, PostScript, DjVu, TIFF, DVI をサポート。|https://wiki.gnome.org/Apps/Evince|{{Pkg|evince}}}}<br />
* {{App|[[Wikipedia:ja:Foxit Reader|Foxit Reader]]|小さくて (Acrobat に比べて) 高速な PDF ビューア。|https://www.foxitsoftware.com/pdf-reader/|{{AUR|foxitreader}}}}<br />
* {{App|gv|Ghostscript インタプリタのグラフィカルユーザーインターフェース。PostScript や PDF ドキュメントの表示ができます。|https://www.gnu.org/software/gv/|{{Pkg|gv}}}}<br />
* {{App|[[llpp]]|MuPDF ベースの非常に高速な PDF リーダー。ページスクロール、テキスト全文検索をサポート。|http://repo.or.cz/w/llpp.git|{{AUR|llpp-git}}}}<br />
* {{App|Master PDF Editor|機能的なプロプライエタリ PDF エディタ。非商用利用は無料です (クローズドソース)。|https://code-industry.net/free-pdf-editor/|{{AUR|masterpdfeditor}}}}<br />
* {{App|[[MuPDF]]|非常に高速な PDF, XPS, EPUB ビューアと Portable C で書かれたツールキット。CJK フォントをサポート。|https://mupdf.com|{{Pkg|mupdf}}}}<br />
* {{App|[[Wikipedia:ja:Okular|Okular]]|KDE 用のビューア。|https://okular.kde.org/|{{Pkg|okular}}}}<br />
* {{App|PDF Chain|PDF ドキュメントを操作 (結合・分割・ウォーターマーク・ファイル添付など) できるグラフィカルインターフェイス。|http://pdfchain.sourceforge.net/|{{AUR|pdfchain}}}}<br />
* {{App|PdfMod|ページの並び替え・回転・削除や、ドキュメントから画像をエクスポート、タイトル・目次・キーワードの編集、ドラッグアンドドロップによるドキュメントの結合などができます。|https://wiki.gnome.org/Apps/PdfMod|{{Pkg|pdfmod}}}}<br />
* {{App|PDF Shuffler|PDF ドキュメントを合併・分割・回転・入れ替えできます。Python と GTK2 を使用。|https://sourceforge.net/projects/pdfshuffler/|{{Pkg|pdfshuffler}}{{Broken package link|パッケージが存在しません}}}}<br />
* {{App|PDF Studio|Adobe Acrobat と同じようなオールインワン PDF エディタ (プロプライエタリ)。|https://www.qoppa.com/pdfstudio/|{{AUR|pdfstudio}}}}<br />
* {{App|qpdfview|Poppler と Qt ライブラリを使っているタブ式 PDF ビューア。|https://launchpad.net/qpdfview|{{Pkg|qpdfview}}}}<br />
* {{App|[[Wikipedia:Xournal|Xournal]]|pdf ビューア・メモアプリケーション。|http://xournal.sourceforge.net/|{{AUR|xournal}}}}<br />
* {{App|[[Wikipedia:ja:Xpdf|Xpdf]]|LZW をデコードして暗号化された PDF を読むことができるビューア。|http://www.xpdfreader.com/|{{Pkg|xpdf}} と {{AUR|gsfonts-type1}}}}<br />
* {{App|[[Zathura]]|細かくカスタマイズ可能で機能的な PDF/DjVu/PostScript/ComicBook ビューア (プラグインベース).|https://pwmt.org/projects/zathura/|{{Pkg|zathura}} {{pkg|zathura-pdf-mupdf}} {{pkg|zathura-djvu}}}}<br />
<br />
==== ターミナルページャ ====<br />
<br />
{{Wikipedia/ja|ページャ}}<br />
<br />
* [[Wikipedia:ja:more (UNIX)|more]] &mdash; シンプルで軽量なページャ。 {{Pkg|util-linux}} パッケージの一部。<br />
* {{App|[[less]]|more に似たプログラムだが、ファイルの一部を読み込むように前方/後方へのスクローリングを行うサポート付き。|https://www.gnu.org/software/less|{{Pkg|less}}}}<br />
* {{App|[[Wikipedia:Most_(Unix)|most]]|マルチウィンドウ機能、左/右へのスクローリング、及び色付きをサポートしたページャ。|http://www.jedsoft.org/most/|{{Pkg|most}}}}<br />
* {{App|[[Midnight Commander|mcview]]|マウスと色付きをサポートしたページャ。 midnight commander にバンドルされています。|http://midnight-commander.org/|{{Pkg|mc}}}}<br />
* {{App|vimpager|vim をページャにするためのスクリプト。その結果、カラースキーマやマウスサポート、スクリーンの分断などの vim の様々な特徴が使用出来ます。|https://github.com/rkitover/vimpager|{{Pkg|vimpager}}}}<br />
<br />
==== CHM ====<br />
{{Wikipedia/ja|Microsoft Compiled HTML Help}}<br />
* {{App|Archmage|CHM 形式のファイルのリーダーおよび逆コンパイラ。|https://github.com/dottedmag/archmage|{{AUR|archmage}}}}<br />
* {{App|ChmSee|xulrunner ベースの CHM ビューア。|https://code.google.com/archive/p/chmsee/|{{AUR|chmsee}}}}<br />
* {{App|Kchmviewer|chmlib を使う、xchm からもアイデアを拝借している Qt ベースの CHM ビューア。[[KDE]] には依存していませんが、統合するようにコンパイルすることもできます。|http://www.ulduzsoft.com/linux/kchmviewer/|{{Pkg|kchmviewer}}}}<br />
* {{App|[[Wikipedia:xCHM|xCHM]]|chmlib ベースの軽量な CHM ビューア。|http://xchm.sourceforge.net/|{{Pkg|xchm}}}}<br />
<br />
==== 漫画ビューア ====<br />
<br />
* {{App|[[Wikipedia:Comix_(software)|Comix]]|漫画アーカイブを読むのに作られた GTK2 画像ビューア。ライブラリマネージャも付属しています。開発は2009年に中止され、MComix に移行しました。|http://comix.sourceforge.net/|{{AUR|comix}}}}<br />
* {{App|[[Wikipedia:MComix|MComix]]|漫画アーカイブを読むのに作られた GTK2 画像ビューア (Comix のフォーク)。ライブラリマネージャも付属。|https://sourceforge.net/projects/mcomix/|{{Pkg|mcomix}}}}<br />
* {{App|QComicBook|C++ と Qt4 で書かれた軽量な漫画本ビューア。|http://qcomicbook.org/|{{AUR|qcomicbook}}}}<br />
* {{App|YACReader|C++ と Qt5 で書かれたコミックビューア。付属している YACReaderLibrary でコミックを管理できます。|http://yacreader.com/|{{AUR|yacreader}}}}<br />
<br />
=== スキャニングソフトウェア ===<br />
<br />
[[Sane#フロントエンドのインストール]] を参照。<br />
<br />
=== OCR ソフトウェア ===<br />
{{Wikipedia|Comparison of optical character recognition software}}<br />
<br />
==== エンジン ====<br />
<br />
* {{App|CuneiForm|Cognitive Technologies によって開発されオープンソース化されたコマンドラインの OCR システム。サポートしている言語: eng, ger, fra, rus, swe, spa, ita, ruseng, ukr, srp, hrv, pol, dan, por, dut, cze, rum, hun, bul, slo, lav, lit, est, tur。|https://launchpad.net/cuneiform-linux|{{Pkg|cuneiform}}}}<br />
* {{App|GOCR/JOCR|バーコード認識もサポートする OCR エンジン。|http://jocr.sourceforge.net/|{{Pkg|gocr}}}}<br />
* {{App|Ocrad|特徴抽出法に基づく OCR プログラム。|https://www.gnu.org/software/ocrad/|{{Pkg|ocrad}}}}<br />
* {{App|Tesseract|正確なオープンソースの OCR エンジン。パッケージは分割されており、言語ごとにデータファイルをインストールする必要があります (例えば {{Pkg|tesseract-data-eng}})。|https://github.com/tesseract-ocr|{{Pkg|tesseract}}}}<br />
<br />
==== レイアウト解析とユーザーインターフェイス ====<br />
<br />
* {{App|gImageReader|Tesseract のグラフィカル GTK フロントエンド。|http://gimagereader.sourceforge.net/|{{AUR|gimagereader}}{{Broken package link|パッケージが存在しません}}}}<br />
* {{App|gscan2pdf|スキャンして OCR エンジンを実行して、ポストプロセス処理を施して、ドキュメントを作成。|http://gscan2pdf.sourceforge.net/|{{Pkg|gscan2pdf}}}}<br />
* {{App|OCRFeeder|ドキュメント解析と翻訳を行う Gnome の Python GUI。OCR エンジンとして CuneiForm, GOCR, Ocrad, Tesseract を使用可能。PDF や画像ファイルをインポートして HTML や OpenDocument にエクスポートできる。|https://wiki.gnome.org/Apps/OCRFeeder|{{Pkg|ocrfeeder}}}}<br />
* {{App|OCRopy|OCR ''プラットフォーム''、ドキュメントレイアウトや自然言語モデルを解析するモジュールが存在します (Tesseract や独自のエンジンを使用可能)。|https://github.com/tmbdev/ocropy|{{AUR|ocropy}}}}<br />
* {{App|[[YAGF]]|Linux プラットフォームの CuneiForm テキスト認識プログラムのグラフィカルインターフェイス。|http://symmetrica.net/cuneiform-linux/yagf-en.html|{{AUR|yagf}}}}<br />
<br />
=== メモ管理 ===<br />
{{Wikipedia|Comparison of notetaking software}}<br />
<br />
==== コンソール ====<br />
* {{App|deft|Emacs の中でメモを管理。|http://jblevins.org/projects/deft/}}<br />
* {{App|hnb (hierarchical notebook)|XML フォーマットを使って様々な種類のデータ(アドレス、to-do リスト、アイデア、ブックレビューなど)をひとつに管理するプログラム。|http://hnb.sourceforge.net/|{{AUR|hnb}}}}<br />
* {{App|pynote|コマンドラインでメモを管理します。データは人間が読める JSON ファイルで保存し、バージョン管理を提供。|https://pypi.python.org/pypi/pynote|{{AUR|pynote}}}}<br />
<br />
==== グラフィカル ====<br />
* {{App|[[Wikipedia:BasKet Note Pads|BasKet]]|ノートの作成・管理・共有をするアプリケーション。スクラップブックのように様々なタイプの情報を管理できます。to-do リスト、リンク、画像など。|https://userbase.kde.org/BasKet|{{Pkg|basket}}}}<br />
* {{App|Cherrytree|階層式のノート作成アプリケーション。リッチテキストやシンタックスハイライトの機能があり、ひとつの XML か sqlite ファイルにデータを保存します。|http://giuspen.com/cherrytree/|{{AUR|cherrytree}}}}<br />
* {{App|[[Wikipedia:Gnote|Gnote]]|Tomboy の実験的な C++ 移植。|https://wiki.gnome.org/Apps/Gnote|{{Pkg|gnote}}}}<br />
* {{App|KeepNote|クロスプラットフォームの GTK+ メモ作成アプリケーション。リッチテキストフォーマット。|http://keepnote.org|{{AUR|keepnote}}}}<br />
* {{App|KNotes|コンピュータ上で付箋を書くことができるプログラム。|https://www.kde.org/applications/utilities/knotes/|{{Pkg|knotes}}}}<br />
* {{App|Laverna|Markdown エディタを搭載し暗号化をサポートする JavaScript メモ帳アプリケーション。Evernote のオープンソース版。|https://laverna.cc/|{{AUR|laverna}}}}<br />
* {{App|[[Wikipedia:org-mode|org-mode]]|ノート用の [[Emacs]] モード。プロジェクトのプランニングとオーサリング。|http://orgmode.org|{{AUR|emacs-org-mode}}}}<br />
* {{App|nixnote|Evernote のサードパーティ製オープンソースアプリケーション。旧名 Nevernote。|http://www.sourceforge.net/projects/nevernote|{{aur|nixnote2}}}}<br />
* {{app|[[Wikipedia:QOwnNotes|QOwnNotes]]|オープンソースのメモ帳・ToDo リストマネージャ。Markdown をサポートし任意で ownCloud と統合させることができます。qt5 を使用。|http://www.qownnotes.org/|{{aur|qownnotes}}}}<br />
* {{App|RedNotebook|フォーマット・タグ付け・エントリ検索ができる近代的なジャーナル。|http://rednotebook.sourceforge.net/|{{aur|rednotebook}}}}<br />
* {{App|[[Wikipedia:ja:Tomboy (ソフトウェア)|Tomboy]]|wiki のようなリンクシステムでメモを繋げることができる Linux と Unix 用のデスクトップメモアプリケーション。|https://wiki.gnome.org/Apps/Tomboy|{{Pkg|tomboy}}{{Broken package link|パッケージが存在しません}}}}<br />
* {{App|wiznote|オープンソースのクロスプラットフォームクラウドノート管理クライアント。|http://www.wiznote.com/|{{Pkg|wiznote}}}}<br />
* {{App|[[zim]]|wiki のコンセプトをデスクトップに取り入れるを目指している WYSIWYG テキストエディタ。|http://zim-wiki.org/|{{Pkg|zim}}}}<br />
* {{App|znotes|シンプルなインターフェイスによるノート管理のたけの軽量クロスプラットフォームアプリケーション。Qt4 ライブラリを使用。|http://znotes.sourceforge.net/|{{aur|znotes}}}}<br />
<br />
=== マインドマップツール ===<br />
<br />
* {{App|FreeMind|Java で書かれたフリーのマインドマップソフトウェア。|http://freemind.sourceforge.net|{{Pkg|freemind}}}}<br />
* {{App|Freeplane|仕事場・学校・家庭などで物事を考えたり情報を共有したりするのに使うフリー・オープンソースのソフトウェアアプリケーション。マインドマップや情報の解析にも利用できます。|http://freeplane.sourceforge.net|{{AUR|freeplane}}}}<br />
* {{App|Labyrinth|軽量なマインドマップツール。画像のインポートや描画をサポート。|https://github.com/labyrinth-team/labyrinth|{{AUR|labyrinth}}}}<br />
* {{App|Semantik|KDE のマインドマップアプリケーション。|https://waf.io/semantik.html|{{AUR|semantik}}}}<br />
* {{App|TreeSheets|スプレッドシート・マインドマップ・アウトライナー・PIM・テキストエディタ・データベースを全て置き換えるソフトウェア。|http://strlen.com/treesheets/|{{AUR|treesheets-git}}}}<br />
* {{App|View Your Mind|思考内容のマップを作成するツール。創造性・効率性を改善できます。時間管理やタスクの処理に使ったり、複雑なものを解きほぐしたり、アイデアを並べてみたりすることが可能。|http://www.insilmaril.de/vym/|{{Pkg|vym}}}}<br />
* {{App|Visual Understanding Environment|教育・学習・研究を支援するデジタルな資料を管理・統合するための柔軟なツール。|http://vue.tufts.edu|{{AUR|vue}}}}<br />
* {{App|XMind|ブレインストーミング・マインドマップアプリケーション。様々な視覚化スタイルを使って、ウェブサイトで作成したマインドマップを共有できます。|http://www.xmind.net|{{AUR|xmind}}}}<br />
<br />
=== 文字セレクタ ===<br />
<br />
* {{app|GNOME Characters|GNOME の文字マップアプリケーション。|https://wiki.gnome.org/Design/Apps/CharacterMap|{{Pkg|gnome-characters}}}}<br />
* {{app|gucharmap|GTK+ 3 文字セレクタ。GNOME デスクトップに付属。|https://wiki.gnome.org/Apps/Gucharmap|{{pkg|gucharmap}}}}<br />
* {{app|kdeutils-kcharselect|インストールされているフォントから特殊文字を選択するためのツール。特殊文字をクリップボードにコピー。KDE に付属。|https://utils.kde.org/projects/kcharselect/|{{Pkg|kcharselect}}}}<br />
<br />
=== 手書きメモ ===<br />
* {{app|Write|手書きのワードプロセッサ。|http://www.styluslabs.com/|{{AUR|write_stylus}}}}<br />
* {{app|Gournal|タブレット PC でメモを取るためのアプリケーション。Perl で書かれています。|http://www.adebenham.com/old-stuff/gournal/|{{AUR|gournal}}}}<br />
* {{App|Xournal|手書きでメモを書いたり、スケッチしたり、日記を付けるためのアプリケーション。|http://xournal.sourceforge.net/|{{AUR|xournal}}}}<br />
* {{app|Xournal++|C++ による Xournal の改良版。|https://github.com/xournalpp/xournalpp|{{AUR|xournalpp-git}}}}<br />
<br />
=== 参照文献マネージャ ===<br />
<br />
* {{App|Bibus|参照文献インデックスを作成して OpenOffice.org/LibreOffice に直接挿入することができる参照文献データベース。|http://bibus-biblio.sourceforge.net|{{AUR|bibus}}}}<br />
* {{App|DocEar|学術文献を検索・管理・作成するための学術文献スイート。マインドマップソフトウェアの Freeplane とリファレンスマネージャの JabRef から作られています。|https://www.docear.org|{{AUR|docear}}}}<br />
* {{App|JabRef|BibTeX やその他のビブリオグラフィを管理するための Java GUI フロントエンド。|http://jabref.sourceforge.net/index.php|{{AUR|jabref}} {{AUR|jabref-git}}}}<br />
* {{App|Zotero|研究資料の収拾、管理、引用、共有に役立つフリーで使いやすいツールです。スタンドアロンのバージョンと Firefox のアドオンが存在します。|http://www.zotero.org/support/3.0/|{{AUR|zotero}}}}<br />
<br />
=== バーコードジェネレータ・リーダー ===<br />
<br />
==== コンソール ====<br />
<br />
* {{App|barcode|テキスト文字列をバーコードに変換するツール。|https://www.gnu.org/software/barcode/|{{Pkg|barcode}}}}<br />
* {{App|iec16022|DataMatrix と呼ばれる 2D バーコードを生成。|https://datenfreihafen.org/projects/iec16022.html|{{Pkg|iec16022}}}}<br />
* {{App|qrencode|QR コードでデータをエンコードするための C ライブラリとコマンドラインツール。|https://fukuchi.org/works/qrencode/|{{Pkg|qrencode}}}}<br />
* {{App|ZBar|様々なソースからバーコードを読み込むアプリケーションとライブラリ。|http://zbar.sourceforge.net/|{{Pkg|zbar}}}}<br />
* {{App|Zint|50以上の規格に対応しているバーコードエンコーディングライブラリ・コマンドラインツール。|http://zint.org.uk/|{{Pkg|zint}}}}<br />
<br />
==== グラフィカル ====<br />
<br />
* {{App|gLabels|ラベルや名刺を作成するためのプログラム。バーコードの作成もサポート。|http://glabels.org/|{{Pkg|glabels}}}}<br />
* {{App|Qreator|あなた自身の QR コードを生成。|http://davidplanella.org/project-showcase/qreator/|{{Pkg|qreator}}}}<br />
* {{App|QtQR|QR コードジェネレータ・デコーダー。|https://launchpad.net/qr-tools|{{AUR|qtqr}}}}<br />
* {{App|Zint Barcode Studio|バーコードジェネレータ GUI。|http://zint.org.uk/|{{Pkg|zint-qt}}}}</div>
Kuuote