LilyPond の基本的なコマンド ライン オプション

以下のオプションがサポートされます。

-d, --define-default=var[=val]

LilyPond の高度なコマンド ライン オプション を参照してください。

-e, --evaluate=expr

.ly ファイルを解析する前に Scheme expr を評価します。複数の -e オプションが与えられた場合、それらは順番に評価されます。

Scheme 表記は guile-user モジュールの中で評価されます。そのため、expr の中で (define-public a 42) のような定義を使いたいのならば、コマンド ラインで以下を使用して、

lilypond -e '(define-public a 42)'

.ly ファイルの先頭に以下を含めます.

#(use-modules (guile-user))

Note: Windows ユーザはシングル クォートではなく、ダブル クォートを使う必要があります。

-E, --eps

EPS ファイルを生成します。

このオプションは LilyPond のコマンドラインオプションに --ps, と -dlilypond-book-output, を指定するのと同じです。

-f, --format=format

(主な)出力ファイルのフォーマットを指定します。format の選択肢は ps, pdf, または png です。

例: lilypond -fpng foo.ly

svg フォーマットや eps フォーマットを出力するには -dbackend オプションを用います。 LilyPond の高度なコマンド ライン オプション を参照してください。

-h, --help

使用方法の要約を表示します。

-H, --header=field

ヘッダ フィールドをファイル BASENAME.field に吐き出します。

例えば、 foo.ly という入力ファイルが以下の内容を含んでいる場合、

\header { title = "bar" }
\score { c1 }

コマンド

lilypond -H title foo.ly

を実行すると、文字列 bar を含んだプレーンテキストファイル foo.title が作られます。

-i, --init=file

init ファイルとして file をセットします (デフォルト: init.ly)。

-I, --include=directory

directory を入力ファイルのサーチ パスに相対パスとして追加します。デフォルトではカレントディレクトリのみが検索されます。

複数の -I オプションを与えることができます。検索はカレントディレクトリから開始され、入力ファイルが見つからない場合は、最初の -I で指定されたディレクトリ、そして二番目の -I で指定されたディレクトリ、というように検索します。

Note: チルド記号 (~) を -I と共に使用すると、シェルによっては予期しない結果をもたらす場合があります。

Windows ユーザは、ディレクトリのパスの最後にスラッシュを含める必要があります。

-j, --jail=user,group,jail,dir

[このオプションは OS が chroot 機能をサポートする場合のみ有効です。特に、 Windows はサポートしていません。]

lilypond を chroot jail 環境で実行します。(訳者: chroot jail 環境とはセキュリティのためにカレント プロセスに対してルート ディレクトリの位置を変更すること。)

--jail オプションは、Web サーバ経由で LilyPond 譜刻を提供する時や LilyPond が外部ソースから送られてきたコマンドを実行する時に、--dsafe よりも自由度の高い代替手段を提供します。 (LilyPond の高度なコマンド ライン オプション を参照してください。)

--jail オプションはコンパイル プロセスの開始直前に lilypond のルート ディレクトリを jail に変更します。それから、ユーザとグループを usergroup に変更して、カレント ディレクトリを dir に変更します。これにより、jail (牢獄) から抜け出せないことを (少なくとも理論上は) 保証します。--jail を指定した lilypond の実行は root (ユーザ名) として行う必要があります。通常、これは sudo を用いた安全な方法で行います。

jail のセットアップは比較的複雑な問題です。LilyPond がソースをコンパイルするのに必要とされるものすべてを jail の内部 で見つけられるということを保証しなければならないからです。一般的なセットアップには以下の項目が含まれます:

専用のファイルシステムをセットアップする

noexec, nodev, nosuid などのセーフ オプションでマウントするための専用ファイルシステムを作成すべきです。こうすることで、LilyPond から実行可能形式ファイルを実行したり、デバイスに直接書き込むことは不可能になります。専用のパーティションを作成することを望まないのなら、適当なサイズのファイルを作成し、それを使用してループ デバイス (ループバック デバイス) をマウントしてください。専用ファイルシステムはさらに、LilyPond が許可されたディスク容量以上には書き込めないということを保証します。

専用のユーザをセットアップする

jail 内部で LilyPond を実行する際、低い権限を持つ専用のユーザとグループ (仮に lily/lily とします) で行うべきです。このユーザが書き込み可能なディレクトリが 1 つだけ存在すべきであり、それを dir に渡します。

jail の準備をする

LilyPond は実行中にいくつかのファイルを読み込む必要があります。それらのファイルをすべて jail にコピーしておきます。それらのファイルが本当のルート ファイル システムで存在しているパスと同じパスにコピーします。LilyPond インストールの内容すべて (例えば、/usr/share/lilypond) をコピーすべきです。

問題が発生した場合、その原因を突き止める最も簡単な方法は strace を使って LilyPond を実行することです。これによりどのファイルが見当たらないのかがわかります。

LilyPond を実行する

noexec でマウントされた jail の中では、外部プログラムを実行することは一切できません。そのため、外部プログラムを必要としないバックエンドで LilyPond を実行しなければなりません。すでに述べたように、jail モードでの LilyPond の実行はスーパーユーザ権限で行われなければならず (もちろん、その権限はすぐに外されます)、たぶん sudo を使います。LilyPond が使用可能な CPU 時間を数秒に制限する (例えば、ulimit -t を使って) というのも良い方法です。さらに、OS がサポートしているのなら、割り当て可能なメモリ容量を制限するというのも良い方法です。chroot jail 環境で LilyPond を実行する も参照してください。

-l, --loglevel=level

コンソール出力の饒舌さを level にセットします。取り得る値は以下の通りです:

NONE

何も出力しません。エラー メッセージさえも出力しません。

ERROR

エラー メッセージだけを出力します。警告や進捗メッセージは出力しません。

WARN

警告とエラー メッセージを出力し、進捗メッセージは出力しません。

BASIC

基本的な進捗メッセージ (成功メッセージ)、警告、それにエラー メッセージを出力します。

PROGRESS

すべての進捗メッセージ、警告とエラー メッセージを出力します。

INFO

進捗メッセージ、警告、エラーそれに追加の実行情報を出力します。 これがデフォルトです。

DEBUG

饒舌なデバッグ出力を含む、出力可能なメッセージをすべて出力します。

-o, --output=file
-o, --output=folder

デフォルトの出力ファイルとして file をセットします。セットした名前のフォルダが存在する場合、 folder に入力ファイルから取ったファイル名で出力されます。どちらの場合にも適切な接尾辞が追加されます (つまり、PDF ならば拡張子 .pdf が追加されます)。

-O, --pspdfopt=key

key へ PS/PDF 最適化を設定します。選択肢は:

size

非常に小さい PS/EPS/PDF ドキュメントを生成します。 これがデフォルトです。

LilyPond の Scheme コマンドラインオプション -dmusic-font-encodings='#f'-dgs-never-embed-fonts='#f' を指定した場合と同じです。

TeX

pdfTeX, LuaTeX, XeTeX ドキュメントにインクルードされるのに最適化されたファイルを生成します。

LilyPond の Scheme コマンドラインオプション -dmusic-font-encodings='#t'-dgs-never-embed-fonts='#f' を指定した場合と同じです。

TeX-GS

LilyPond によって生成された PDF を TeX ドキュメントに複数インクルードしたい場合は、このオプションを使い、TeX によって生成された PDF を Ghostscript で後処理してください。

LilyPond の Scheme コマンドラインオプション -dmusic-font-encodings='#t'-dgs-never-embed-fonts='#t' を指定した場合と同じです。

--ps

PostScript を生成します。このオプションは -fps と同じです。

--png

各ページの図を PNG フォーマットで生成します。このオプションは -fpng と同じです。

画像の解像度を N DPI に設定するには以下のようにします。

-dresolution=N
--pdf

PDF を生成します。これがデフォルトで、-fpdf と同じです。

-s, --silent

進行状況を表示せず、エラーメッセージのみ表示します。これは -lERROR と同じです。

-v, --version

バージョン情報を表示します。

-V, --verbose

冗長表示モードにします: 読み込むすべてのファイルのフル パスを表示して、時間情報などを表示します。これは -lDEBUG と同じです。

-w, --warranty

GNU LilyPond の保証責任を表示します。(GNU LilyPond には保証責任はありません!)


GNU LilyPond – アプリケーション使用方法 v2.25.22 (development-branch).