インストール - クリップボード

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

クリップボードは、システム上のクリップボードに保存された全ての履歴を保持するユーティリティやツールのことである。

ここでは、様々なクリップボードマネージャとインストール手順を記載する。


CopyQ

CopyQとは

CopyQは強力なクリップボードマネージャであり、データの保存、エントリの編集したり、暗号化等をすることができる。
ここでは、CopyQのインストール方法を記載する。

CopyQのインストール

Windows

CopyQのGithubにアクセスして、Windows向けのEXEファイルをダウンロードする。 ダウンロードしたファイルをダブルクリックしてインストールする。

RHEL / SUSE
  • パッケージ管理システムからインストール
# RHEL
sudo dnf install copyq


  • ソースコードからインストール

CopyQの依存関係のライブラリをインストールするため、以下のコマンドを実行する。

# RHEL

## Qt 5を使用する場合
sudo dnf install cmake extra-cmake-modules gcc-c++ git libXfixes-devel libXtst-devel libSM-devel \
                 qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtsvg-devel qt5-qttools-devel qt5-qtwayland-devel qt5-qtx11extras-devel \
                 libqt5-qtbase-private-headers-devel wayland-devel

## Qt 6を使用する場合
sudo dnf install cmake extra-cmake-modules gcc-c++         \
                 libSM-devel libXfixes-devel libXtst-devel \
                 kf6-knotifications-devel kf6-kstatusnotifieritem-devel \
                 qt6-qtbase-devel qt6-qtbase-private-devel qt6-qtdeclarative-devel qt6-qtsvg-devel \
                 qt6-qttools-devel qt6-qtwayland-devel wayland-devel

# SUSE

## Qt 5を使用する場合
sudo zypper install cmake extra-cmake-modules gcc-c++ git libXfixes-devel libXtst-devel libSM-devel knotifications-devel \
                    libqt5-qtbase-devel libqt5-qtdeclarative-devel libqt5-qtsvg-devel libqt5-qttools-devel libqt5-qtwayland-devel libqt5-qtx11extras-devel \
                    libqt5-qtwayland-devel wayland-devel wayland-protocols-devel \
                    libQt5Core-private-headers-devel libQt5DBus-private-headers-devel libQt5Gui-private-headers-devel

## Qt 6を使用する場合
sudo zypper install cmake extra-cmake-modules gcc-c++ git libXfixes-devel libXtst-devel libSM-devel knotifications-devel            \
                    qt6-base-devel qt6-declarative-devel qt6-svg-devel qt6-tools-devel qt6-wayland-devel                            \
                    qt6-core-devel qt6-core-private-devel qt6-gui-devel qt6-gui-private-devel qt6-dbus-devel qt6-dbus-private-devel \
                    libqt5-qtwayland-devel wayland-devel wayland-protocols-devel


CopyQのGithubにアクセスして、CopyQのソースコードをダウンロードする。
または、git cloneコマンドを実行して、CopyQのソースコードをダウンロードする。

git clone https://github.com/hluk/CopyQ.git
cd CopyQ


Qtの公式WebサイトからQtをインストールしている場合、環境変数にQtライブラリのパスを追加する必要がある。

export PATH="/<Qtのインストールディレクトリ>/<Qtのバージョン>/gcc_64/bin:$PATH"
export LD_LIBRARY_PATH="/<Qtのインストールディレクトリ>/<Qtのバージョン>/gcc_64/bin:$LD_LIBRARY_PATH"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(pkg-config --variable pc_path pkg-config)"
export PKG_CONFIG_PATH="/<Qtのインストールディレクトリ>/<Qtのバージョン>/gcc_64/lib/pkgconfig:$PKG_CONFIG_PATH"


CopyQをビルドおよびインストールする。

mkdir build && cd build

cmake .. -DCMAKE_BUILD_TYPE=Release                           \
         -DCMAKE_INSTALL_PREFIX=<CopyQのインストールディレクトリ> \
         -DCMAKE_C_COMPILER=<gcc実行ファイルのパス>              \  # GCCコンパイラを指定する場合
         -DCMAKE_CXX_COMPILER=<g++実行ファイルのパス>            \  # G++コンパイラを指定する場合
         -DWITH_QT6=ON                                        \  # Qt 6を使用する場合
         ..

make -j $(nproc)
make install


  • RPMファイルからインストール (SUSEのみ)

CopyQのGithubにアクセスして、SUSE向けのrpmファイルをダウンロードする。
ダウンロードしたファイルにおいて、以下のコマンドを実行してインストールする。

sudo zypper install ./copyq_<バージョン>_openSUSE_.*.rpm


次に、/<CopyQのインストールディレクトリ>/binディレクトリに、CopyQの起動用のラッパーシェルスクリプトを作成する。

vi /<CopyQのインストールディレクトリ>/bin/copyq.sh


 # /<CopyQのインストールディレクトリ>/bin/copyq.shファイル
 
 #!/usr/bin/env sh
 
 appname="copyq"
 
 # use -f to make the readlink path absolute
 dirname="$(dirname -- "$(readlink -f -- "${0}")" )"
 
 if [ "$dirname" = "." ]; then
    dirname="$PWD/$dirname"
 fi
 
 cd $dirname
 
 # Initialize interpreter path
 export LD_LIBRARY_PATH="${dirname}/../lib:$LD_LIBRARY_PATH"
 #export LD_LIBRARY_PATH="/<Qtのインストールディレクトリ>/<Qtのバージョン>/gcc_64/lib:$LD_LIBRARY_PATH"
 
 # Run CopyQ binary
 "$dirname/$appname" "$@"


CopyQのデスクトップエントリファイルを作成する。

vi ~/.local/share/applications/com.github.hluk.copyq.desktop


 # ~/.local/share/applications/com.github.hluk.copyq.desktop
 
 [Desktop Entry]
 Name=CopyQ
 GenericName=Clipboard Manager
 Comment=A cut & paste history utility
 Exec=/<CopyQのインストールディレクトリ>/bin/copyq.sh --start-server show
 Icon=copyq
 
 # Workaround / fix for issue #1526 that prevents a proper autostart of the tray icon in GNOME
 X-GNOME-Autostart-Delay=3
 
 # The rest is taken from Klipper application.
 Type=Application
 GenericName[ja]=クリップボードツール
 Comment[ja]=カット&ペースト履歴ユーティリティ
 Categories=Qt;KDE;Utility;
 Terminal=false
 X-KDE-autostart-after=panel
 X-KDE-StartupNotify=false
 X-KDE-UniqueApplet=true


CopyQの自動起動ファイルを作成する。

vi ~/.config/autostart/copyq.desktop


 # ~/.config/autostart/copyq.desktopファイル
 
 [Desktop Entry]
 Type=Application
 Name=CopyQ (User Build)
 GenericName=Clipboard Manager
 Comment=A cut & paste history utility
 Path=
 TryExec=/<CopyQのインストールディレクトリ>/bin/copyq.sh
 Exec=QT_SCREEN_SCALE_FACTORS=1 /<CopyQのインストールディレクトリ>/bin/copyq.sh --start-server
 Icon=copyq
 Categories=Qt;KDE;Office;WordProcessor;
 MimeType=
 StartupNotify=false
 Terminal=false
 TerminalOptions=
 X-DBUS-ServiceName=
 X-DBUS-StartupType=
 X-GNOME-Autostart-Delay=3
 X-KDE-StartupNotify=false
 X-KDE-SubstituteUID=false
 X-KDE-UniqueApplet=true
 X-KDE-Username=
 X-KDE-autostart-after=panel


SELinuxの設定

SELinuxを使用している場合、CopyQ向けにセキュリティの設定を行う必要がある。

まず、ポリシーファイルを作成する。

sudo ausearch -c 'copyq' --raw | audit2allow -M <ポリシー名  例: CopyQ>
例: sudo ausearch -c 'copyq' --raw | audit2allow -M my-copyq


次に、SELinuxにCopyQ向けのポリシーパッケージファイルをインストールする。

sudo semodule -X 300 -i <ポリシーパッケージファイル名  例: CopyQ.pp>
例: sudo  semodule -X 300 -i my-copyq.pp


自動起動の設定

CopyQを使用する前に、自動起動エントリを設定しておくことを推奨する。
スタートアップエントリを設定することは、クリップボードのデータを常に監視して保存するためには重要である。

CopyQの起動エントリを設定するには様々な方法があるが、ここではターミナルに焦点を当てて記載する。

まず、デスクトップエントリディレクトリに移動する。

cd /usr/local/share/applications


自動起動エントリのディレクトリを作成して、CopyQのデスクトップエントリファイルをそのディレクトリにコピーする。

cp com.github.hluk.copyq.desktop ~/.config/autostart/


デスクトップエントリファイルのパーミッションを変更する。

chmod u+x ~/.config/autostart/com.github.hluk.copyq.desktop


CopyQの操作方法

  • コピー
    CopyQには多くの機能があるが、主となるのはクリップボードマネージャである。
    使用するには、任意のテキストを選択してコピーすると、自動的にCopyQのエントリーとして保存される。


  • クリップボードに移動
    CopyQの古いエントリーをクリップボードに移動する場合は、古いエントリーを選択して[クリップボードに移動]アイコンを押下する。


  • エントリの暗号化
    CopyQに保存した機密情報は、暗号化機能を使用すべきである。
    暗号化するには、エントリーを選択して[ロック]アイコンを押下する。そうすると、GnuPGが起動して自動的にデータが暗号化される。
    ※注意
    暗号化機能は、GnuPGが必須である。


  • エントリの作成
    CopyQの機能には、クリップボードを使用せずにクリップボードの新規項目を作成する機能がある。
    この機能の使い方は、[新規項目]アイコンを押下して、そこからテキストを書き込み、[保存]アイコンを押下する。
    すると、CopyQが保存したデータの一覧に、新しいクリップボードエントリが追加される。



GPaste

GPasteとは

GNOMEベースの優れたクリップボードマネージャであるが、様々なデスクトップ環境でも動作する。
GPasteは、以下のような機能を持っている。

  • GNOMEシェルとの統合
  • クリップボードの履歴管理
  • クイックアクセスのショートカット
  • 画像のコピー
  • GTK+3 GUI


GPasteのインストール

  • パッケージ管理システムからインストール
    以下のコマンドを実行して、GPasteをインストールする。
    sudo zypper install gpaste gpaste-lang libgpaste11 typelib-1_0-GPaste-1_0 gnome-shell-extension-gpaste

  • ソースコードからインストール
    GPasteのソースコードをダウンロードする。
    git clone https://github.com/Keruspe/GPaste.git GPaste
    cd GPaste

    GPasteのソースコードをビルドしてインストールする。
    ./autogen.sh

    mkdir build && cd build

    ../configure --sysconfdir=/home/<ユーザ名>/.GPaste --prefix=/home/<ユーザ名>/InstallSoftware/GPaste
    make -j $(nproc)
    make install

    sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

    • GPasteのアップデート (ソースコードからインストールしている場合のみ)
      GPasteをアップグレードした場合は、新しい機能を有効化するために、以下のコマンドを実行する。
      gpaste-client dr aka gpaste-client daemon-reexec

      次に、以下のコマンドを実行して、デーモンが正常に動作していることを確認する。
      gpaste-client daemon-version



Parcellite

Parcelliteとは

Parcelliteは、Linux向けのGTK+2の基本的な機能を備えたクリップボードマネージャである。

Parcelliteのインストール

Parcelliteの依存関係のライブラリをインストールする。

# RHEL
sudo dnf install gtk3

# SUSE
sudo zypper install gtk3 


SourceForgeからソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。

tar zxvf parcellite-<バージョン名>.tar.gz
cd parcellite-<バージョン名>


Parcelliteのソースコードをコンパイルしてインストールする。

./configure --prefix=/home/<ユーザ名>/InstallSoftware/Parcellite
make -j 8
make install



Diodon

Diodonのインストール

Diodonのビルドに必要な依存関係のライブラリをインストールする。

sudo zypper install vala libayatana-appindicator3-devel libpeas-devel zeitgeist-devel xvfb-run wayland-protocols-devel


DiodonのGithunからソースコードをダウンロードする。

git clone https://github.com/diodon-dev/diodon.git
cd diodon


Diodonをビルドおよびインストールする。

/<Python3のインストールディレクトリ>/bin/meson -Dprefix=<Diodonのインストールディレクトリ> builddir
cd builddir


アプリケーションインジケータ用のパッケージを提供していないディストリビューションでは、
builddir作成コマンドを調整することにより、インジケータのビルドを無効化することができる。

/<Python3のインストールディレクトリ>/bin/meson -Dprefix=<Diodonのインストールディレクトリ> builddir -Ddisable-indicator-plugin=true
cd builddir


ninja
ninja test
sudo ninja install


Diodonをアンインストールする場合は、上記のソースコードディレクトリ内において、以下のコマンドを実行する。

sudo ninja uninstall


Diodonのプラグイン

Diodonプラグインを作成する場合は、こちらの記事を参照すること。

下表に、Diodon向けの便利なプラグインを示す。

プラグインの概要
プラグイン 説明
Features Diodonメニューの追加機能
Numbers クリップボードのメニュー項目数を表示する。
Pop Item アクティブなクリップボード項目を貼り付けてから削除する。
Paste All 最近のアイテムを一度に貼り付ける。
Edit アクティブなアイテムを編集するように促す。



Glipper

Glipperとは

Glipperは、GNOME向けのクリップボードマネージャであり、プラグインを使用して機能を拡張することができる。
クリップボードマネージャの基本的な機能のほとんどを持っている。

Glipperのインストール

Glipperの依存関係のライブラリをインストールする。

  • Python 2.4以降
  • pygtk-2.6以降(モジュール名 : gtk、gtk.gdk、gobject)
  • python-keybinder(モジュール名 : keybinder)
  • python-distutils-extra(モジュール名 : DistUtilsExtra)
  • python-appindicator(モジュール名 : appindicator)
  • python-xdg(モジュール名 : xdg.BaseDirectory)
  • オプション : python-prctl(モジュール名 : prctl)
  • オプション : python-crypto


# RHEL
sudo dnf install python2 python3 pygtk python-keybinder python-distutils-extra python-appindicator python-xdg python-prctl python-crypto

# SUSE
sudo zypper install python2 python3 pygtk python-keybinder python-distutils-extra python-appindicator python-xdg python-prctl python-crypto


Glipperの公式Webサイトからソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。

tar zxvf glipper-<バージョン名>.tar.gz


Glipperのソースコードを実行してインストールする。

sudo python setup.py install



Clipit

Clipitとは

GTK+の軽量で機能が豊富なクリップボードマネージャである。
Clipitは、Parcelliteからフォークされている。

Clipitのインストール

Clipitのビルドに必要な依存関係のライブラリをインストールする。

sudo zypper install gtk2-devel gtk3-devel xdotool-devel intltool automake autoconf autopoint


ClipitのGithubから、ソースコードをダウンロードする。

git clone https://github.com/CristianHenzel/ClipIt.git


Clipitのソースコードをビルドおよびインストールする。

./autogen.sh
./configure --with-gtk3 --prefix=/home/<ユーザ名>/InstallSoftware/Clipit
make -j $(nproc)
make install