「Transmission」の版間の差分
Kusakata.bot (トーク | 投稿記録) (update Pkg/AUR templates) |
Kusakata.bot (トーク | 投稿記録) 細 (文字列「リムーバルデバイス」を「リムーバブルデバイス」に置換) |
||
155行目: | 155行目: | ||
上記のコマンドを実行すると {{ic|/mnt/data/torrents}} にシステムユーザーの {{ic|facade}} と {{ic|transmission}} ユーザーの属している {{ic|transmission}} グループからアクセスできるようになります。どこからも読み書きできるように権限を設定することは極力控えてください (ディレクトリを ''777'' に ''chmod'' しないでください)。かわりに、適切なディレクトリに積雪なユーザー・グループのパーミッションを付与してください。 |
上記のコマンドを実行すると {{ic|/mnt/data/torrents}} にシステムユーザーの {{ic|facade}} と {{ic|transmission}} ユーザーの属している {{ic|transmission}} グループからアクセスできるようになります。どこからも読み書きできるように権限を設定することは極力控えてください (ディレクトリを ''777'' に ''chmod'' しないでください)。かわりに、適切なディレクトリに積雪なユーザー・グループのパーミッションを付与してください。 |
||
− | {{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}} を追加することで問題は解決します。}} |
+ | {{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}} ディレクトリのパーミッションを設定するという方法もあります。 |
逆に、ユーザーを {{ic|transmission}} グループに追加 ({{ic|#usermod -a -G transmission yourusername}}) して、{{ic|transmission}} グループのメンバーが読み書きできるように {{ic|/var/lib/transmission}} と {{ic|/var/lib/transmission/Downloads}} ディレクトリのパーミッションを設定するという方法もあります。 |
2018年1月31日 (水) 21:02時点における版
Transmission は軽量でクロスプラットフォームの BitTorrent クライアントです。多くの Linux ディストリビューションでデフォルトの BitTorrent クライアントとして使われています。
目次
インストール
公式リポジトリには複数の選択肢があります:
- transmission-cli - CLI とウェブクライアント (http://localhost:9091) インターフェイスが付属するデーモン。
- transmission-remote-cli[リンク切れ: アーカイブ: aur-mirror] - デーモンの Curses インターフェイス。
- transmission-gtk - GTK+ 3 パッケージ。
- transmission-qt - Qt5 パッケージ。
GUI バージョンの設定
GUI の transmission-gtk と transmission-qt はどちらもバックエンドデーモンを必要としません。
GUI バージョンは特に何も設定しなくても動作するようになっていますが、設定を変えたいと思うときもあるでしょう。GUI の設定ファイルのデフォルトパスは ~/.config/transmission
です。
設定オプションのガイドが Transmission のウェブサイトに記載されています: https://github.com/transmission/transmission/wiki/Editing-Configuration-Files 。
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-remote-cli: デーモンの curses インターフェイスを起動 (transmission-remote-cli[リンク切れ: アーカイブ: aur-mirror] が必要です)。
- transmission-cli (廃止): torrent を手動でダウンロードするための transmission のローカルインスタンスを起動。
- transmission-show: 指定した torrent ファイルの情報を返します。
- transmission-create: 新しい torrent を作成。
- transmission-edit: トラッカーのアナウンス URL を追加・削除・置換。
デーモンの起動と停止
#ユーザーの選択 で説明されているように、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
Wicd
/etc/wicd/scripts/postconnect
フォルダに起動スクリプトを、/etc/wicd/scripts/predisconnect
フォルダに停止スクリプトを作成してください。作成したスクリプトには実行可能属性を付与してください。例:
/etc/wicd/scripts/postconnect/transmission
#!/bin/bash systemctl start transmission
/etc/wicd/scripts/predisconnect/transmission
#!/bin/bash systemctl stop transmission
ユーザーの選択
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
ディレクトリのパーミッションを設定するという方法もあります。
監視ディレクトリ
フォルダから .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
トラブルシューティング
ネットワーク経由でデーモンにアクセスできない
デーモンは network.service
が初期化された後に起動します。しかしながら、(dhcpcd@enp1s0.service
などのようにデバイスを指定せずに) dhcpcd
サービスを有効にしている場合、Transmission の方が早く起動してネットワークインターフェイスが使えないという状況になることがあります。その場合、ウェブインターフェイスにアクセスできなくなります。解決するにはユニットの設定ファイルに Requires
行を追加してください:
/etc/systemd/system/transmission.service.d/fixdep.conf
[Unit] Requires=network.target