ThinkPad ドック

From ArchWiki
Jump to navigation Jump to search

関連記事

Lenovo と IBM から ThinkPad のブランドで製造されているビジネスノートパソコンには、ドッキングステーションと接続して ThinkPad をデスクトップ PC として使えるようにするためのプロプライエタリな接続端子が備わっています。

ドッキングステーションは2通りの方法で機能します:

  • 受動的なポートリプリケータ (能動部品なし)
  • 能動的なドック (USB ハブや USB 3.0 コントローラなどの能動部品)

上記のどちらも GNOMEKDE は何も設定しなくても動作するようになっており特別なソフトウェアを必要としません。GNOME や KDE を使っていない場合は dockd を使用する方法があります。

ノート: Quadro M2200 のような近年の珍しい NVIDIA グラフィックは dockd で動作しないことがあります。NVIDIA ドライバーにバグがあり、カーネルクラッシュが起こされるためです。GitHub の Issue #3 を見てください。
ノート: GNOMEKDE でないデスクトップ環境を使い、Thunderbolt コネクタで繋いでいるときは、ドックを使う前に Thunderbolt デバイスのユーザー認証が必要かもしれません。bolttbtAUR が認証に利用できます。詳細は Thunderbolt を参照してください。

dockd を使う

KDEGNOME 以外でドックを利用するにはモニターを自動で切り替えるドックデーモンをインストールする必要があります。dockdAUR はモニター設定を自動で切り替えることができる軽量デスクトップ用に開発されたドックデーモンです。

警告: dockd は coreboot や libreboot と互換ではありません。

dockdAUR パッケージをインストールしてください。

ノート: 使用しているデスクトップ環境がディスプレイを自動的に切り替えてくれる場合、dockd を使う必要はありません。
警告: dockd の依存パッケージである libthinkpadAURacpid を必要とします。dockd をインストールしたら必ず acpid を起動・有効化してください。

ノートパソコンをドックに接続・切断したときのディスプレイ設定をデーモンに知らせる必要があるため、使用する前に先にデーモンの設定を行います。

  • ThinkPad をドックに接続してください。
  • デスクトップ環境のインターフェイスや xrandr を使ってディスプレイのレイアウトや解像度を設定してください。
  • ThinkPad をドックに接続したときのプロファイルを書き込みます:
# dockd --config docked
  • ThinkPad をドックから取り外してください。
  • デスクトップ環境のインターフェイスや xrandr を使って内蔵パネルの解像度やリフレッシュレートを設定してください。
  • ThinkPad をドックから切断したときのプロファイルを書き込みます:
# dockd --config undocked
# systemctl enable acpid
# systemctl start acpid
  • i3 を使っている場合、XDG 自動起動がサポートされておらず、手動で自動起動を設定する必要があります:
~/.config/i3/config
exec --no-startup-id dockd --daemon
  • 一度ログアウトしてからログインしなおしてください。

これでデーモンの設定は完了です。ThinkPad をドックに接続すればデーモンによって外部ディスプレイに自動的に切り替わります。

ノート: 出力モードが自動で切り替わらない場合、使用しているシステムあるいは設定がサポートされていません。GitHub に issue を開いて、使用している ThinkPad やドックのモデル、journalctl の出力を報告してください。
警告: モニターの設定や解像度を変更した場合、デーモンを再度設定する必要があります。

ドック接続・取り外し時のフック

dockd 1.21 時点では、ThinkPad をドックに接続したときと取り外しされたときのフックを定義できます。

例えば、WiFi を接続時に無効に、取り外し時に有効にするには:

ノート: dockd は root 権限では実行されず、フックの内容はユーザー権限で実行できなければなりません。
/etc/dockd/dock.hook
nmcli radio wifi off
/etc/dockd/undock.hook
nmcli radio wifi on

参照