「Transmission」の版間の差分
細 (文字列「[[zh-CN:」を「[[zh-hans:」に置換) |
(他言語へのリンクを更新) |
||
(4人の利用者による、間の32版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category: |
+ | [[Category:BitTorrent]] |
[[de:Transmission]] |
[[de:Transmission]] |
||
[[en:Transmission]] |
[[en:Transmission]] |
||
− | [[ |
+ | [[es:Transmission]] |
− | [[ |
+ | [[ru:Transmission]] |
+ | [[uk:Transmission]] |
||
[[zh-hans:Transmission]] |
[[zh-hans:Transmission]] |
||
− | [http://www.transmissionbt.com/ Transmission] は軽量でクロスプラットフォームの BitTorrent クライアントで |
+ | [http://www.transmissionbt.com/ Transmission] は軽量でクロスプラットフォームの BitTorrent クライアントです。 |
− | |||
== インストール == |
== インストール == |
||
− | [[公式リポジトリ]]には複数の選択肢があります: |
||
− | * {{Pkg|transmission-cli}} - [[Wikipedia:Command-line interface|CLI]] とウェブクライアント (http://localhost:9091) インターフェイスが付属するデーモン。 |
||
− | * {{Pkg|transmission-remote-cli}} - デーモンの Curses インターフェイス。 |
||
− | * {{Pkg|transmission-gtk}} - GTK3 パッケージ。 |
||
− | * {{Pkg|transmission-qt}} - Qt5 パッケージ。 |
||
+ | Transmission を [[インストール]] するために、いくつかのパッケージが用意されています。 |
||
− | {{Note|The GTK client cannot connect to the daemon, so users wishing to use the daemon will need to consider using the Qt package for a GUI or the remote-cli package for a curses-based GUI.}} |
||
+ | |||
+ | * {{Pkg|transmission-cli}} - デーモン、CLI、および [[Transmission#Web インターフェイス|Web インターフェイス]] 付き。 |
||
+ | * {{Pkg|transmission-gtk}} - [[GTK]] 3 パッケージ。 |
||
+ | * {{Pkg|transmission-qt}} - [[Qt]] 5 パッケージ。 |
||
+ | * {{AUR|tremc}} or {{AUR|tremc-git}} – デーモン用の curses インターフェース。 |
||
+ | * {{AUR|stig}} / {{AUR|stig-git}} デーモン用の curses インターフェース。 |
||
+ | * {{Pkg|transmission-remote-gtk}} デーモン用の [[GTK]] 3 グラフィカルインターフェイス。 |
||
== GUI バージョンの設定 == |
== GUI バージョンの設定 == |
||
− | Both GUI versions, ''transmission-gtk'' and ''transmission-qt'', can function autonomously without a formal back-end daemon. |
||
+ | GUI の ''transmission-gtk'' と ''transmission-qt'' はどちらもバックエンドデーモンを必要としません。 |
||
− | GUI versions are configured to work out-of-the-box, but the user may wish to change some of the settings. The default path to the GUI configuration files is {{ic|~/.config/transmission}}. |
||
+ | GUI バージョンは特に何も設定しなくても動作するようになっていますが、設定を変えたい場合、GUI の設定ファイルのデフォルトパスは {{ic|~/.config/transmission}} です。 |
||
− | A guide to configuration options can be found on the Transmission web site: https://trac.transmissionbt.com/wiki/EditConfigFiles#Options. |
||
+ | |||
+ | 設定オプションのガイドが Transmission の [https://github.com/transmission/transmission/wiki/Editing-Configuration-Files Github] に記載されています。 |
||
+ | |||
+ | === GTK+ の一時的な見た目の修正 === |
||
+ | |||
+ | GTK+ 3.18 では、transmission-gtk で黒い縁がランダムで表示されることがあります。{{ic|gtk.css}} を以下のように編集することで表示しないようにすることが可能です: |
||
+ | |||
+ | {{hc|~/.config/gtk-3.0/gtk.css| |
||
+ | .tr-workarea .overshoot, |
||
+ | .tr-workarea .undershoot { border: none; } |
||
+ | }} |
||
== Transmission-daemon と CLI == |
== Transmission-daemon と CLI == |
||
27行目: | 39行目: | ||
''transmission-cli'' のコマンド: |
''transmission-cli'' のコマンド: |
||
:''transmission-daemon'': デーモンを起動。 |
:''transmission-daemon'': デーモンを起動。 |
||
− | :''transmission-remote'': |
+ | :''transmission-remote'': デーモンの [[Wikipedia:Command-line interface|CLI]] を起動。デーモンで実行したいコマンドを後に付けます。 |
+ | :''transmission-cli'': (transmission-remote のため非推奨) torrent を手動でダウンロードするための ''transmission'' のローカルインスタンスを起動。 |
||
− | :''transmission-remote-cli'': (requires {{Pkg|transmission-remote-cli}}) starts the [[Wikipedia:curses (programming library)|curses]] interface for the daemon, whether local or remote. |
||
+ | :''transmission-show'': 指定した torrent ファイルの情報を返します。 |
||
− | :''transmission-cli'': starts a non-daemonized local instance of ''transmission'', for manually downloading a torrent. |
||
− | :''transmission- |
+ | :''transmission-create'': 新しい torrent を作成。 |
− | :''transmission- |
+ | :''transmission-edit'': トラッカーのアナウンス URL を追加・削除・置換。 |
+ | :''tremc'': ({{AUR|tremc-git}} が必要) ローカルかリモートかにかかわらず、デーモンの [https://ja.wikipedia.org/wiki/Curses curses (プログラミングライブラリ)] インタフェースを起動します。 |
||
− | :''transmission-edit'': add, delete, or replace a tracker's announce URL. |
||
=== デーモンの起動と停止 === |
=== デーモンの起動と停止 === |
||
[[#ユーザーの選択]] で説明されているように、{{ic|transmission}} デーモンは以下の方法で実行できます: |
[[#ユーザーの選択]] で説明されているように、{{ic|transmission}} デーモンは以下の方法で実行できます: |
||
+ | * [[systemd#ユニットを使う|systemd]] を使って ''transmission'' ユーザーとして {{ic|transmission.service}} を起動・有効化 ([[#ユーザーの選択]]で書かれているようにしてユーザーは変更できます)。 |
||
− | * As the user {{ic|transmission}}, by running as root: {{bc|# transmission-daemon}} The daemon can then be stopped with: {{bc|# killall transmission-daemon}} |
||
− | * |
+ | * 通常のユーザーで以下のコマンドを実行: {{bc|$ transmission-daemon}} デーモンは以下のコマンドで停止できます: {{bc|$ killall transmission-daemon}} |
+ | デーモンを起動すると ''transmission'' の設定ファイルが自動的に作成されます。[[#デーモンの設定]]を参照してください。 |
||
− | * [[systemd#ユニットを使う|systemctl]] を使って {{ic|transmission}} サービスを起動 (停止) した場合 [[#ユーザーの選択]] で設定したユーザーが使われます。''systemd'' サービスの名前は {{ic|transmission}} であり {{ic|transmission-daemon}} ではありません。 |
||
+ | transmission は ''transmission-remote'' コマンドを使って停止することもできます: |
||
− | デーモンを起動すると ''transmission'' の設定ファイルが作成されます。[[#デーモンの設定]] を見て下さい。 |
||
− | |||
− | An alternative option to stop the {{ic|transmission}} daemon is to use the ''transmission-remote'' command: |
||
$ transmission-remote --exit |
$ transmission-remote --exit |
||
− | + | === ジャーナルのログ出力を減らす === |
|
− | システムの起動時に {{ic|transmission}} デーモンが実行されるようにするには、[[systemd#ユニットを使う|systemd]] を使います。 |
||
+ | transmission-daemon を起動すると大量のジャーナルのエントリが生成されます。以下のようなラッパースクリプトを使って起動することで出力を減らすことが可能です: |
||
− | Note that the name for the ''systemd'' service is {{ic|transmission}}, not {{ic|transmission-daemon}}. |
||
+ | {{hc|transwrap.sh|<nowiki> |
||
+ | #!/bin/zsh |
||
+ | killall transmission-daemon 2> /dev/null |
||
+ | transmission-daemon --foreground --log-info 2>&1 | while read line; do |
||
+ | echo $line | |
||
+ | grep -v "announcer.c:\|platform.c:\|announce done (tr-dht.c:" | |
||
+ | grep -v "Saved.*variant.c:" | |
||
+ | while read line; do |
||
+ | echo $line | grep -q "Queued for verification (verify.c:" && |
||
+ | notify-send --app-name="Transmission Started" "${line#* * }" |
||
+ | echo $line | grep -q "changed from .Incomplete. to .Complete." && |
||
+ | notify-send --app-name="Transmission Complete" "${line#* * }" |
||
+ | echo $line | systemd-cat --identifier="TransWrap" --priority=5 |
||
+ | done 2>&1 > /dev/null |
||
+ | done&disown</nowiki>}} |
||
+ | === ネットワークに接続された時に起動 === |
||
− | The daemon is started after {{ic|network.service}} was initialised. However, if you enable the service {{ic|dhcpcd}} as opposed to the device-specific service, such as {{ic|dhcpcd@enp1s0.service}} for example, it may happen that Transmission is started too early and cannot bind to the network interface. Thus, the web interface is unreachable. A possible solution is to add the {{ic|Requires}} line to the unit's [[systemd#Editing provided unit files|configuration file]]: |
||
+ | ==== Netctl ==== |
||
− | {{hc|/etc/systemd/system/transmission.service.d/fixdep.conf|2= |
||
− | [Unit] |
||
− | Requires=network.target |
||
− | }} |
||
+ | 場合によっては特定のネットワークだけで transmission を実行したいということがあります。以下のスクリプトは接続を確認してから transmission-daemon の起動に進みます: |
||
− | ==== ネットワークに接続された時に起動 ==== |
||
+ | {{hc|/etc/netctl/hooks/90-transmission.sh|<nowiki> |
||
− | ===== Wicd ===== |
||
− | Create a [[#デーモンの起動と停止|start script]] in folder {{ic|/etc/wicd/scripts/postconnect}}, and a [[#デーモンの起動と停止|stop script]] in folder {{ic|/etc/wicd/scripts/predisconnect}}. Remember to make them executable. For example: |
||
− | |||
− | {{hc|/etc/wicd/scripts/postconnect/transmission|2= |
||
#!/bin/bash |
#!/bin/bash |
||
+ | # The SSIDs for which we enable this. |
||
− | /usr/bin/transmission-daemon |
||
+ | declare -A ssids=( |
||
− | }} |
||
+ | ["network_1"]=y |
||
− | {{hc|/etc/wicd/scripts/predisconnect/transmission|2= |
||
+ | ["network_2"]=y |
||
− | #!/bin/bash |
||
+ | ) |
||
+ | if [[ ${ssids[$SSID]} ]]; then |
||
− | killall transmission-daemon |
||
+ | case $ACTION in |
||
− | }} |
||
+ | CONNECT|REESTABLISHED) |
||
+ | # Need to wait, otherwise doesn't seem to bind to 9091. |
||
+ | sleep 30 |
||
+ | systemctl start transmission |
||
+ | ;; |
||
+ | *) |
||
+ | systemctl stop transmission |
||
+ | ;; |
||
+ | esac |
||
+ | fi</nowiki>}} |
||
=== ユーザーの選択 === |
=== ユーザーの選択 === |
||
80行目: | 109行目: | ||
*別のユーザーで動かす、デフォルトは {{ic|transmission}} (セキュリティが良くなるので推奨)。 |
*別のユーザーで動かす、デフォルトは {{ic|transmission}} (セキュリティが良くなるので推奨)。 |
||
+ | デフォルトでは ''transmission'' は {{ic|transmission}} ユーザーとグループを作成してホームファイルを {{ic|/var/lib/transmission/}} に設定して {{ic|transmission}} ユーザーで動作します。これによってセキュリティが守られ、''transmission'' やダウンロードしたファイルは {{ic|/var/lib/transmission/}} の外側のファイルにアクセスできなくなります。transmission を設定・操作したりダウンロードファイルにアクセスするには ([[sudo]] を使用するなどして) "root" 権限が必要になります。 |
||
− | By default, ''transmission'' creates a user and a group {{ic|transmission}}, with its home files at {{ic|/var/lib/transmission/}}, and runs as this "user". This is a security precaution, so ''transmission'', and its downloads, have no access to files outside of {{ic|/var/lib/transmission/}}. Configuration, operation, and access to downloads needs to be done with "root" privileges (e.g. by using [[sudo]]). |
||
*ユーザーの下で動かす |
*ユーザーの下で動かす |
||
91行目: | 120行目: | ||
=== デーモンの設定 === |
=== デーモンの設定 === |
||
+ | |||
[[#デーモンの起動と停止|デーモンを起動]]して設定ファイルを作成してください。 |
[[#デーモンの起動と停止|デーモンを起動]]して設定ファイルを作成してください。 |
||
− | * |
+ | * {{ic|transmission}} ユーザーで Transmission を起動した場合、設定ファイルは {{ic|/var/lib/transmission/.config/transmission-daemon/settings.json}} に作られます。 |
− | * |
+ | * 通常ユーザーで Transmission を起動した場合、設定ファイルは {{ic|~/.config/transmission-daemon/settings.json}} に作られます。 |
+ | デーモンは Transmission クライアントを使用するか、デーモンに含まれているウェブインターフェイスに http://localhost:9091 からブラウザでアクセスすることで設定できます。 |
||
− | One can customize the daemon by using a Transmission client or using the included web interface accessible via http://localhost:9091 in a supported browser. |
||
+ | 設定オプションのガイドが Transmission のウェブサイトに存在します: https://github.com/transmission/transmission/wiki/Editing-Configuration-Files |
||
− | A guide to configuration options can be found on the Transmission web site: https://trac.transmissionbt.com/wiki/EditConfigFiles#Options |
||
+ | {{Note| |
||
− | {{Note|If you want to edit the configuration manually using a text editor, [[#Starting and stopping the daemon|stop the daemon]] first; otherwise, it would overwrite its configuration file when it closes. |
||
+ | * テキストエディタを使って設定を手動で編集したい場合、先に[[#デーモンの起動と停止|デーモンを停止]]してください。そうしないと Transmission の終了時に設定ファイルが上書きされてしまいます。 |
||
− | }} |
||
+ | * また、{{ic|kill -s SIGHUP `pidof transmission-daemon`}} を実行することで SIGHUP によってデーモンから設定をリロードさせることが可能です。 |
||
− | {{Note|Alternatively, the daemon can be instructed to reload its configuration with SIGHUP, by running {{ic|kill -s SIGHUP `pidof transmission-daemon`}}. |
||
}} |
}} |
||
+ | {{ic|transmission}} ユーザーで動作させる場合、適切なパーミッションで共有のダウンロードディレクトリを作成して {{ic|transmission}} ユーザーとシステムユーザーの両方がアクセスできるように設定して、設定ファイルもそれにあわせて修正することを推奨します。例: |
||
− | A recommendation for those running under username {{ic|transmission}} is to create a shared download directory with the correct permissions to allow access to both the {{ic|transmission}} user and system users, and then to update the configuration file accordingly. For example: |
||
# mkdir /mnt/data/torrents |
# mkdir /mnt/data/torrents |
||
# chown -R facade:transmission /mnt/data/torrents |
# chown -R facade:transmission /mnt/data/torrents |
||
# chmod -R 775 /mnt/data/torrents |
# chmod -R 775 /mnt/data/torrents |
||
+ | 上記のコマンドを実行すると {{ic|/mnt/data/torrents}} にシステムユーザーの {{ic|facade}} と {{ic|transmission}} ユーザーの属している {{ic|transmission}} グループからアクセスできるようになります。どこからも読み書きできるように権限を設定することは極力控えてください (ディレクトリを ''777'' に ''chmod'' しないでください)。かわりに、適切なディレクトリに積雪なユーザー・グループのパーミッションを付与してください。 |
||
− | Now {{ic|/mnt/data/torrents}} will be accessible for the system user {{ic|facade}} and for the {{ic|transmission}} group to which the {{ic|transmission}} user belongs. Making the target directory world read/writable is highly discouraged (i.e. do not ''chmod'' the directory to ''777''). Instead, give individual users/groups appropriate permissions to the appropriate directories. |
||
− | {{Note| |
+ | {{Note|{{ic|nofail}} オプションの付いた {{ic|/etc/fstab}} エントリなど、リムーバブルデバイスに {{ic|/mnt/data/torrents}} を配置した場合、Transmission はファイルを見つけられないとエラーを吐きます。{{ic|/etc/systemd/system/transmission.service.d/transmission.conf}} の {{ic|[Unit]}} セクションに {{ic|1=RequiresMountsFor=/mnt/data/torrents}} を追加することで問題は解決します。}} |
+ | |||
+ | 逆に、ユーザーを {{ic|transmission}} グループに追加 ({{ic|#usermod -a -G transmission yourusername}}) して、{{ic|transmission}} グループのメンバーが読み書きできるように {{ic|/var/lib/transmission}} と {{ic|/var/lib/transmission/Downloads}} ディレクトリのパーミッションを設定するという方法もあります。 |
||
+ | |||
+ | ==== ホストのホワイトリスト ==== |
||
+ | |||
+ | サーバーのホスト名を使用してネットワーク経由で Transmission デーモンにアクセスする場合は、このホスト名を {{ic|settings.json}} の {{ic|rpc-host-whitelist}} に追加する必要があります。そうしないとサーバーにアクセスするときに "421 Misdirected Request" エラーが発生します。 サーバーの IP アドレスを使用してデーモンに接続する場合これは必要ありません。 |
||
==== 監視ディレクトリ ==== |
==== 監視ディレクトリ ==== |
||
− | + | フォルダから .torrent ファイルを自動的に追加したいのに、設定ファイルの {{ic|watch-dir}} と {{ic|watch-dir-enabled}} オプションが機能しない場合、{{ic|-c /path/to/watch/dir}} フラグを付けて transmission デーモンを起動してみてください。 |
|
+ | systemd を使用している場合、[[systemd#ユニットファイルの編集]]に記述されているようにして {{ic|transmission.service}} ユニットを編集してください。 |
||
− | If you're using systemd, edit the unit file located at {{ic|/lib/systemd/system/transmission.service}}. |
||
+ | |||
+ | ==== CLI サンプル ==== |
||
+ | |||
+ | ダウンロード完了した torrent を全て削除したい場合、ユーザー名とパスワードを指定して以下のコマンドを実行します: |
||
+ | |||
+ | # transmission-remote -n 'username:password' -l | grep 100% | awk '{print $1}'| paste -d, -s | xargs -i transmission-remote -t {} -r |
||
+ | |||
+ | すでにダウンロードされている torrent をシードします: |
||
+ | |||
+ | # transmission-remote [HOST] --torrent=example.torrent -a example.torrent --verify --download-dir=/dir/to/folder --start |
||
+ | |||
+ | ==== IPv6 を有効にする ==== |
||
+ | |||
+ | デフォルトでは、デーモンは IPv4 接続のみを待機します。 IPv6 接続もリッスンするには、{{ic|settings.json}} で {{ic|rpc-bind-address}} オプションを {{ic|"::"}} に変更します。 |
||
+ | |||
+ | == 通知 == |
||
+ | |||
+ | transmission-daemon を停止し、これらを {{ic|.config/transmission-daemon/settings.json}} に追加します: |
||
+ | |||
+ | "script-torrent-added-enabled": true, |
||
+ | "script-torrent-added-filename": "path/to/transmission-handler.sh", |
||
+ | "script-torrent-done-enabled": true, |
||
+ | "script-torrent-done-filename": "path/to/transmission-handler.sh", |
||
+ | |||
+ | {{hc|transmission-handler.sh|<nowiki> |
||
+ | #!/bin/bash |
||
+ | |||
+ | percentage=$(transmission-remote -t $TR_TORRENT_ID -l | awk -v ID="$TR_TORRENT_ID" '$0 ~ ID{print $2}') |
||
+ | |||
+ | if [ $percentage != "100%" ] |
||
+ | then |
||
+ | notify-send --app-name="Transmission Started" "Transmission: started $TR_TORRENT_NAME" |
||
+ | else |
||
+ | notify-send --app-name="Transmission Complete" "Transmission: downloaded $TR_TORRENT_NAME" |
||
+ | fi |
||
+ | </nowiki>}} |
||
+ | |||
+ | == Web インターフェイス == |
||
+ | |||
+ | === GUI 方式 === |
||
+ | |||
+ | Transmission をインストールすると、 Web インターフェイスを簡単に設定できます。必要なのは、'''編集''' メニューをクリックして、''設定'' を選択することだけです。 ''リモート'' タブをクリックし、 ''リモート接続を許可'' を有効にします。 |
||
+ | |||
+ | ここで、デフォルトのリスニング・ポートを9091から変更できます。 |
||
+ | |||
+ | ''認証を利用'' を確認し、認証を使用できるようにユーザー名とパスワードを入力します。 |
||
+ | |||
+ | セキュリティを強化するには、 '''以下のIPアドレスのみを許可''' を有効にして、任意の IP アドレスからのアクセスを制限します。 |
||
+ | |||
+ | これで、デフォルトの '''Web ブラウザを開く''' をクリックするか、サポートされている Web ブラウザで手動で {{ic|http://''TARGET_IP_ADDRESS'':''PORT''}} にアクセスして、 Web インターフェイスを起動する準備ができます。 |
||
+ | |||
+ | リスニング・ポートを変更していない場合、デフォルトは9091です。この場合、リンクは {{Ic|http://localhost:9091}} になります。 |
||
+ | {{Note|{{Pkg|transmission-cli}} をインストールする必要があることに注意してください}} |
||
+ | |||
+ | === CLI 方式 === |
||
+ | |||
+ | Web インタフェースを設定するのにグラフィカルインタフェースは必要ありませんが、デーモンはまったく同じオプションを提供します。フラグを指定しなくても、 Web インターフェイスにアクセスできます。[[#デーモンの設定]] を参照してください。 |
||
+ | |||
+ | ただし、前のセクションで説明した内容はすべて指定できます。 |
||
+ | |||
+ | {{bc|$transmission-daemon--auth-username arch--password linux--port 9091--allowed "127.0.0.1"}} これは、 {{bc|$ transmission-daemon -t -u arch -v linux -p 9091 -a "127.0.0.1"}} と同じです。 |
||
+ | |||
+ | === オプションの Web UI テーマ === |
||
+ | |||
+ | ウェブアプリのデフォルトのユーザーインターフェースが気に入らない場合、このシンプルな CSS テーマを使ってみてください。 |
||
+ | |||
+ | https://git.eigenlab.org/sbiego/transmission-web-soft-theme |
||
+ | |||
+ | また、デフォルトの UI と共存できる完全な置き換え機能もあります。 |
||
+ | |||
+ | https://github.com/ronggang/transmission-web-control |
||
+ | |||
+ | == makepkg DLAGENT としての使用法 == |
||
+ | |||
+ | Transmission は {{AUR|transmission-dlagent}} ダウンロードエージェントを使えば [[makepkg]] のマグネットダウンロードエージェントとして使うことができます。 |
||
+ | |||
+ | Magnet URIs はプレフィックスを {{ic|magnet:?}} から {{ic|magnet://}} に変更する必要があります。 |
||
+ | |||
+ | == トラブルシューティング == |
||
+ | |||
+ | ==== ネットワーク経由でデーモンにアクセスできない ==== |
||
+ | |||
+ | デーモンは {{ic|network.service}} が初期化された後に起動します。しかしながら、({{ic|dhcpcd@enp1s0.service}} などのようにデバイスを指定せずに) {{ic|dhcpcd}} サービスを有効にしている場合、Transmission の方が早く起動してネットワークインターフェイスが使えないという状況になることがあります。その場合、ウェブインターフェイスにアクセスできなくなります。解決するにはユニットの [[systemd#ユニットファイルの編集|設定ファイル]] に {{ic|Requires}} 行を追加してください: |
||
+ | |||
+ | {{hc|/etc/systemd/system/transmission.service.d/fixdep.conf|2= |
||
+ | [Unit] |
||
+ | Requires=network.target |
||
+ | }} |
||
+ | |||
+ | ==== Web インターフェースにアクセスできない ==== |
||
+ | |||
+ | {{bc|404: Not Found |
||
+ | |||
+ | Couldn't find Transmission's web interface files! |
||
+ | |||
+ | Users: to tell Transmission where to look, set the TRANSMISSION_WEB_HOME environment variable to the folder where the web interface's index.html is located. |
||
+ | |||
+ | Package Builders: to set a custom default at compile time, #define PACKAGE_DATA_DIR in libtransmission/platform.c or tweak tr_getClutchDir () by hand.}} |
||
+ | |||
+ | グラフィカルインターフェイスを使用している場合でも、Web インターフェイスが機能するためには、{{Pkg|transmission-cli}} をインストールする必要があります。 |
||
+ | |||
+ | ==== 送受信バッファの設定に失敗しました ==== |
||
+ | |||
+ | 送信時に、起動時に次のいずれかのメッセージがジャーナルに表示される場合があります: |
||
+ | |||
+ | UDP Failed to set receive buffer: requested 4194304, got 425984 |
||
+ | UDP Failed to set send buffer: requested 1048576, got 425984 |
||
+ | |||
+ | これらは、 [[sysctl]] で {{ic|1=net.core.rmem_max=4194304}} および {{ic|1=net.core.wmem_max=1048576}} を設定することで修正できます。 |
||
+ | |||
+ | === transmission-remote が頻繁にタイムアウトになるか、Web インターフェイスが応答しなくなる === |
||
+ | |||
+ | Transmission はディスク IO を非同期的に処理しないため、大量の書き込みを行うと応答しなくなります。[https://github.com/transmission/transmission/issues/2462] を参照してください。転送のダウンロードディレクトリを、HDD の代わりに SSD など、より高速なストレージに置くことを検討してください。 |
||
+ | |||
+ | === transmission-gtk でトレイアイコンがありません === |
||
+ | |||
+ | GTK 4 バージョンのトレイアイコンは [https://github.com/transmission/transmission/Discussions/5065 今のところ機能していません] GTK 3 バージョン {{AUR|transmission-gtk3}} を使用するオプションがあります。 |
||
+ | |||
+ | === 401: Unauthorized === |
||
+ | |||
+ | Web インターフェースのユーザー名とパスワードを設定した後に {{ic|transmission-remote}} を使用すると、次のエラーが表示される場合があります。 |
||
+ | |||
+ | {{bc|< h1>401: Unauthorized\</h1>Unauthorized User}} |
||
+ | |||
+ | これは、ユーザー名とパスワードが設定されているために発生します。この後、{{ic|transmission-remote}} からのコマンドは全て認証される必要があります。こちらを参照してください: [https://stackoverflow.com/a/29712044 transmission-remote コマンドが Unauthorized user でエラーになる] |
||
== 参照 == |
== 参照 == |
||
+ | |||
− | *[https://trac.transmissionbt.com/wiki Transmission wiki] |
||
− | *[https://trac.transmissionbt.com/wiki |
+ | * [https://trac.transmissionbt.com/wiki Transmission wiki (old)] |
+ | * [https://github.com/transmission/transmission/blob/main/docs/README.md GitHub 上の Transmission ドキュメント] |
||
+ | * [https://github.com/transmission/transmission/blob/main/docs/Headless-Usage.md ヘッドレスでの使用法] |
2023年12月7日 (木) 07:29時点における最新版
Transmission は軽量でクロスプラットフォームの BitTorrent クライアントです。
目次
インストール
Transmission を インストール するために、いくつかのパッケージが用意されています。
- transmission-cli - デーモン、CLI、および Web インターフェイス 付き。
- transmission-gtk - GTK 3 パッケージ。
- transmission-qt - Qt 5 パッケージ。
- tremcAUR or tremc-gitAUR – デーモン用の curses インターフェース。
- stigAUR / stig-gitAUR デーモン用の curses インターフェース。
- transmission-remote-gtk デーモン用の GTK 3 グラフィカルインターフェイス。
GUI バージョンの設定
GUI の transmission-gtk と transmission-qt はどちらもバックエンドデーモンを必要としません。
GUI バージョンは特に何も設定しなくても動作するようになっていますが、設定を変えたい場合、GUI の設定ファイルのデフォルトパスは ~/.config/transmission
です。
設定オプションのガイドが Transmission の Github に記載されています。
GTK+ の一時的な見た目の修正
GTK+ 3.18 では、transmission-gtk で黒い縁がランダムで表示されることがあります。gtk.css
を以下のように編集することで表示しないようにすることが可能です:
~/.config/gtk-3.0/gtk.css
.tr-workarea .overshoot, .tr-workarea .undershoot { border: none; }
Transmission-daemon と CLI
transmission-cli のコマンド:
- transmission-daemon: デーモンを起動。
- transmission-remote: デーモンの CLI を起動。デーモンで実行したいコマンドを後に付けます。
- transmission-cli: (transmission-remote のため非推奨) torrent を手動でダウンロードするための transmission のローカルインスタンスを起動。
- transmission-show: 指定した torrent ファイルの情報を返します。
- transmission-create: 新しい torrent を作成。
- transmission-edit: トラッカーのアナウンス URL を追加・削除・置換。
- tremc: (tremc-gitAUR が必要) ローカルかリモートかにかかわらず、デーモンの curses (プログラミングライブラリ) インタフェースを起動します。
デーモンの起動と停止
#ユーザーの選択 で説明されているように、transmission
デーモンは以下の方法で実行できます:
- 通常のユーザーで以下のコマンドを実行:
$ transmission-daemon
デーモンは以下のコマンドで停止できます:$ killall transmission-daemon
デーモンを起動すると transmission の設定ファイルが自動的に作成されます。#デーモンの設定を参照してください。
transmission は transmission-remote コマンドを使って停止することもできます:
$ transmission-remote --exit
ジャーナルのログ出力を減らす
transmission-daemon を起動すると大量のジャーナルのエントリが生成されます。以下のようなラッパースクリプトを使って起動することで出力を減らすことが可能です:
transwrap.sh
#!/bin/zsh killall transmission-daemon 2> /dev/null transmission-daemon --foreground --log-info 2>&1 | while read line; do echo $line | grep -v "announcer.c:\|platform.c:\|announce done (tr-dht.c:" | grep -v "Saved.*variant.c:" | while read line; do echo $line | grep -q "Queued for verification (verify.c:" && notify-send --app-name="Transmission Started" "${line#* * }" echo $line | grep -q "changed from .Incomplete. to .Complete." && notify-send --app-name="Transmission Complete" "${line#* * }" echo $line | systemd-cat --identifier="TransWrap" --priority=5 done 2>&1 > /dev/null done&disown
ネットワークに接続された時に起動
Netctl
場合によっては特定のネットワークだけで transmission を実行したいということがあります。以下のスクリプトは接続を確認してから transmission-daemon の起動に進みます:
/etc/netctl/hooks/90-transmission.sh
#!/bin/bash # The SSIDs for which we enable this. declare -A ssids=( ["network_1"]=y ["network_2"]=y ) if [[ ${ssids[$SSID]} ]]; then case $ACTION in CONNECT|REESTABLISHED) # Need to wait, otherwise doesn't seem to bind to 9091. sleep 30 systemctl start transmission ;; *) systemctl stop transmission ;; esac fi
ユーザーの選択
transmission
を動かす方法を選択してください:
- 別のユーザーで動かす、デフォルトは
transmission
(セキュリティが良くなるので推奨)。
デフォルトでは transmission は transmission
ユーザーとグループを作成してホームファイルを /var/lib/transmission/
に設定して transmission
ユーザーで動作します。これによってセキュリティが守られ、transmission やダウンロードしたファイルは /var/lib/transmission/
の外側のファイルにアクセスできなくなります。transmission を設定・操作したりダウンロードファイルにアクセスするには (sudo を使用するなどして) "root" 権限が必要になります。
- ユーザーの下で動かす
セットアップするには、サービスファイルを上書きしてユーザー名を指定してください:
/etc/systemd/system/transmission.service.d/username.conf
[Service] User=your_username
デーモンの設定
デーモンを起動して設定ファイルを作成してください。
transmission
ユーザーで Transmission を起動した場合、設定ファイルは/var/lib/transmission/.config/transmission-daemon/settings.json
に作られます。
- 通常ユーザーで Transmission を起動した場合、設定ファイルは
~/.config/transmission-daemon/settings.json
に作られます。
デーモンは Transmission クライアントを使用するか、デーモンに含まれているウェブインターフェイスに http://localhost:9091 からブラウザでアクセスすることで設定できます。
設定オプションのガイドが Transmission のウェブサイトに存在します: https://github.com/transmission/transmission/wiki/Editing-Configuration-Files
transmission
ユーザーで動作させる場合、適切なパーミッションで共有のダウンロードディレクトリを作成して transmission
ユーザーとシステムユーザーの両方がアクセスできるように設定して、設定ファイルもそれにあわせて修正することを推奨します。例:
# mkdir /mnt/data/torrents # chown -R facade:transmission /mnt/data/torrents # chmod -R 775 /mnt/data/torrents
上記のコマンドを実行すると /mnt/data/torrents
にシステムユーザーの facade
と transmission
ユーザーの属している transmission
グループからアクセスできるようになります。どこからも読み書きできるように権限を設定することは極力控えてください (ディレクトリを 777 に chmod しないでください)。かわりに、適切なディレクトリに積雪なユーザー・グループのパーミッションを付与してください。
逆に、ユーザーを transmission
グループに追加 (#usermod -a -G transmission yourusername
) して、transmission
グループのメンバーが読み書きできるように /var/lib/transmission
と /var/lib/transmission/Downloads
ディレクトリのパーミッションを設定するという方法もあります。
ホストのホワイトリスト
サーバーのホスト名を使用してネットワーク経由で Transmission デーモンにアクセスする場合は、このホスト名を settings.json
の rpc-host-whitelist
に追加する必要があります。そうしないとサーバーにアクセスするときに "421 Misdirected Request" エラーが発生します。 サーバーの IP アドレスを使用してデーモンに接続する場合これは必要ありません。
監視ディレクトリ
フォルダから .torrent ファイルを自動的に追加したいのに、設定ファイルの watch-dir
と watch-dir-enabled
オプションが機能しない場合、-c /path/to/watch/dir
フラグを付けて transmission デーモンを起動してみてください。
systemd を使用している場合、systemd#ユニットファイルの編集に記述されているようにして transmission.service
ユニットを編集してください。
CLI サンプル
ダウンロード完了した torrent を全て削除したい場合、ユーザー名とパスワードを指定して以下のコマンドを実行します:
# transmission-remote -n 'username:password' -l | grep 100% | awk '{print $1}'| paste -d, -s | xargs -i transmission-remote -t {} -r
すでにダウンロードされている torrent をシードします:
# transmission-remote [HOST] --torrent=example.torrent -a example.torrent --verify --download-dir=/dir/to/folder --start
IPv6 を有効にする
デフォルトでは、デーモンは IPv4 接続のみを待機します。 IPv6 接続もリッスンするには、settings.json
で rpc-bind-address
オプションを "::"
に変更します。
通知
transmission-daemon を停止し、これらを .config/transmission-daemon/settings.json
に追加します:
"script-torrent-added-enabled": true, "script-torrent-added-filename": "path/to/transmission-handler.sh", "script-torrent-done-enabled": true, "script-torrent-done-filename": "path/to/transmission-handler.sh",
transmission-handler.sh
#!/bin/bash percentage=$(transmission-remote -t $TR_TORRENT_ID -l | awk -v ID="$TR_TORRENT_ID" '$0 ~ ID{print $2}') if [ $percentage != "100%" ] then notify-send --app-name="Transmission Started" "Transmission: started $TR_TORRENT_NAME" else notify-send --app-name="Transmission Complete" "Transmission: downloaded $TR_TORRENT_NAME" fi
Web インターフェイス
GUI 方式
Transmission をインストールすると、 Web インターフェイスを簡単に設定できます。必要なのは、編集 メニューをクリックして、設定 を選択することだけです。 リモート タブをクリックし、 リモート接続を許可 を有効にします。
ここで、デフォルトのリスニング・ポートを9091から変更できます。
認証を利用 を確認し、認証を使用できるようにユーザー名とパスワードを入力します。
セキュリティを強化するには、 以下のIPアドレスのみを許可 を有効にして、任意の IP アドレスからのアクセスを制限します。
これで、デフォルトの Web ブラウザを開く をクリックするか、サポートされている Web ブラウザで手動で http://TARGET_IP_ADDRESS:PORT
にアクセスして、 Web インターフェイスを起動する準備ができます。
リスニング・ポートを変更していない場合、デフォルトは9091です。この場合、リンクは http://localhost:9091
になります。
CLI 方式
Web インタフェースを設定するのにグラフィカルインタフェースは必要ありませんが、デーモンはまったく同じオプションを提供します。フラグを指定しなくても、 Web インターフェイスにアクセスできます。#デーモンの設定 を参照してください。
ただし、前のセクションで説明した内容はすべて指定できます。
$transmission-daemon--auth-username arch--password linux--port 9091--allowed "127.0.0.1"
これは、
$ transmission-daemon -t -u arch -v linux -p 9091 -a "127.0.0.1"
と同じです。
オプションの Web UI テーマ
ウェブアプリのデフォルトのユーザーインターフェースが気に入らない場合、このシンプルな CSS テーマを使ってみてください。
https://git.eigenlab.org/sbiego/transmission-web-soft-theme
また、デフォルトの UI と共存できる完全な置き換え機能もあります。
https://github.com/ronggang/transmission-web-control
makepkg DLAGENT としての使用法
Transmission は transmission-dlagentAUR ダウンロードエージェントを使えば makepkg のマグネットダウンロードエージェントとして使うことができます。
Magnet URIs はプレフィックスを magnet:?
から magnet://
に変更する必要があります。
トラブルシューティング
ネットワーク経由でデーモンにアクセスできない
デーモンは network.service
が初期化された後に起動します。しかしながら、(dhcpcd@enp1s0.service
などのようにデバイスを指定せずに) dhcpcd
サービスを有効にしている場合、Transmission の方が早く起動してネットワークインターフェイスが使えないという状況になることがあります。その場合、ウェブインターフェイスにアクセスできなくなります。解決するにはユニットの 設定ファイル に Requires
行を追加してください:
/etc/systemd/system/transmission.service.d/fixdep.conf
[Unit] Requires=network.target
Web インターフェースにアクセスできない
404: Not Found Couldn't find Transmission's web interface files! Users: to tell Transmission where to look, set the TRANSMISSION_WEB_HOME environment variable to the folder where the web interface's index.html is located. Package Builders: to set a custom default at compile time, #define PACKAGE_DATA_DIR in libtransmission/platform.c or tweak tr_getClutchDir () by hand.
グラフィカルインターフェイスを使用している場合でも、Web インターフェイスが機能するためには、transmission-cli をインストールする必要があります。
送受信バッファの設定に失敗しました
送信時に、起動時に次のいずれかのメッセージがジャーナルに表示される場合があります:
UDP Failed to set receive buffer: requested 4194304, got 425984 UDP Failed to set send buffer: requested 1048576, got 425984
これらは、 sysctl で net.core.rmem_max=4194304
および net.core.wmem_max=1048576
を設定することで修正できます。
transmission-remote が頻繁にタイムアウトになるか、Web インターフェイスが応答しなくなる
Transmission はディスク IO を非同期的に処理しないため、大量の書き込みを行うと応答しなくなります。[1] を参照してください。転送のダウンロードディレクトリを、HDD の代わりに SSD など、より高速なストレージに置くことを検討してください。
transmission-gtk でトレイアイコンがありません
GTK 4 バージョンのトレイアイコンは 今のところ機能していません GTK 3 バージョン transmission-gtk3AUR を使用するオプションがあります。
401: Unauthorized
Web インターフェースのユーザー名とパスワードを設定した後に transmission-remote
を使用すると、次のエラーが表示される場合があります。
< h1>401: Unauthorized\Unauthorized User
これは、ユーザー名とパスワードが設定されているために発生します。この後、transmission-remote
からのコマンドは全て認証される必要があります。こちらを参照してください: transmission-remote コマンドが Unauthorized user でエラーになる