【Ubuntu Desktop】Albert と CopyQ でクリップボード履歴を管理する
結論
Ubuntu でも Mac の Alfred のようなクリップボード履歴機能を使いたいなら、Albert と CopyQ を組み合わせると良い。
やったこと
Alfred Powerpack に入っている Clipboard History がとても便利で、これ無しでは生きられない体になってしまったので Ubuntu でもなるべく近いクリップボード環境を目指す。
Albert
まずは Linux 用ランチャーの Albert をインストール。
Ubuntu 20.04 向けのコマンドが載っているのでそれを使う。
ansible playbook だとこんな感じ。
- name: Add Albert GPG key apt_key: url: https://download.opensuse.org/repositories/home:manuelschneid3r/xUbuntu_20.04/Release.key become: yes - name: Add apt repository apt_repository: repo: "deb http://download.opensuse.org/repositories/home:/manuelschneid3r/xUbuntu_20.04/ /" filename: home:manuelschneid3r become: yes - name: Install Albert apt: name: - albert state: present become: yes
インストールしたらツールバー的なところにアイコンが出てくるはずなので、設定画面を開いてホットキーとか見た目とかいろいろ調整する。
また Albert は python で拡張機能を作れるらしく、公式で諸々込みのリポジトリを公開してくれているのでついでに入れる。
(ちなみに後述する CopyQ 用の拡張機能もすでに用意されていてとても便利)
特定のパスに配置するだけで良いらしい。
- name: Install Albert python extentions repository git: repo: https://github.com/albertlauncher/python.git dest: "{{ ansible_env.HOME }}/.local/share/albert/org.albert.extension.python/modules"
CopyQ
次に Linux 向けクリップボードマネージャーの CopyQ をインストールする。
他にもいろんな種類のツールがあるが、Albert 拡張機能が対応していたのとインストールの楽さで CopyQ を採用した。
$ sudo apt-get install copyq
でインストールできる。
(最新版を使いたい人のために PPA も用意してくれている)
CLI で操作したりショートカットで履歴画面を呼び出したりできるらしいが基本的に Albert 経由でしか使わないので別に覚えなくて良い。
念のため設定画面で自動起動になっていることを確認する。
Albert Extensions
Albert から CopyQ を呼び出せるように拡張機能を設定する。
CopyQ にチェックをつけるだけで cq
で履歴が表示されるようになる。
余談だが、Albert はデフォルトだとアプリの起動のみで画面切り替えには対応していない。
依存パッケージの wmctrl を入れての上の Extentions で Window Switcher を有効にすると画面の切り替えもできるようになる。
$ sudo apt-get install wmctrl
正直 Alfred 自体そこまで使いこなせていないので他の機能をどの程度 Albert で再現できるかはわからないが、クリップボード履歴機能に関してはかなり近い形で再現できたのかなと思う。
Ansible Playbook
最終的な ansible playbook はこのような形になった。
- name: Add Albert GPG key apt_key: url: https://download.opensuse.org/repositories/home:manuelschneid3r/xUbuntu_20.04/Release.key become: yes - name: Add apt repository apt_repository: repo: "deb http://download.opensuse.org/repositories/home:/manuelschneid3r/xUbuntu_20.04/ /" filename: home:manuelschneid3r become: yes - name: Install Albert and CopyQ apt: name: - albert - copyq - wmctrl # for window_switcher.py state: present become: yes - name: Install Albert python extentions repository git: repo: https://github.com/albertlauncher/python.git dest: "{{ ansible_env.HOME }}/.local/share/albert/org.albert.extension.python/modules"