はじめに
TeamViewerというリモートデスクトップアプリケーションがある。何かと便利なので、LinuxでTeamViwerを使えるように、セットアップ方法を調べた。RedHat系かDebian系なら公式パッケージがあるが、ArchLinuxの方が好きなので、ArchLinuxで使えるように試してみた。そして、色々はまったので、各解決策を残しておく。環境が壊れるので、新規環境へのインストールかアレンジを推奨します。
デスクトップ環境の準備
お好みで。
私は、LXQtとConsole TDMを選択した。選択理由は、軽量かつ比較的新しく、開発が続いているもの。LXDEは、一応終了したはず、SLiMは、開発終了したみたい。GUIのセットアップがメインではないし、詳しいことは各自調べてもらうとして、恒例(?)の一行インストール。使い方を書いてないので、いつか忘れそう。
bash <(curl -L 'https://gist.githubusercontent.com/minanon/903459ce74afc4f7a641b0bda7592da5/raw/9fc832db7fa3bcc8905828c16d196c0ceb39e3e8/arch_xserv_lxqt.sh')
TeamViewerのセットアップ
インストール
本体に関しては、置くだけ。公式からtarをDLして好きなところに解凍するだけ。
セットアップ
動作には、依存ライブラリをインストールする必要がある。必要なライブラリは、付属のコマンドで調べられると公式にも書いてある。どうもlddしてるだけみたい。
tv-setup checklibs
Pacmanの設定
ライブラリについては、32bit用のライブラリを入れろと出てくる。64bit専用のTeamViewerは、無いのだろうか。いつも64bitのArchLinuxしか入れないので、32bit用のライブラリをインストールしないといけない。pacman.conf に下記を追加設定することで、32bit用のパッケージもインストール可能になる。
[multilib]
Include = /etc/pacman.d/mirrorlist
チェックコマンドで足りないといわれたライブラリを入れる。
pacman -Sy lib32-glibc lib32-zlib \
lib32-libx11 lib32-libsm lib32-libxext lib32-libxinerama lib32-libxrender lib32-libdbus lib32-fontconfig ecasound
libpngとlibjpeg が必要とあるが、TeamViewerは、古いライブラリを使用しているらしく、pacmanで入れてもバージョンが合わず、TeamViewerから使用できない。そのため、自分でコンパイルする必要がある。また、32bit用のものが必要なので、まず32bit用のコンパイル環境をインストールする必要がある。通常のgccを削除する必要があるため、注意。
pacman -Sy gcc-multilib
あとは、それぞれコンパイル・インストールする。オプションがよくわからず意外とはまった。
curl -L 'http://downloads.sourceforge.net/project/libpng/libpng12/1.2.56/libpng-1.2.56.tar.xz?use_mirror=jaist' | tar -Jx
cd libpng-1.2.56
./configure --prefix=/usr --libdir=/usr/lib32 CFLAGS='-m32'
make -j$(nproc)
make install
curl -L 'http://www.ijg.org/files/jpegsrc.v6b.tar.gz' | tar -zx
cd jpeg-6b
./configure --prefix=/usr --libdir=/usr/lib32 --mandir=/usr/share/man --enable-shared CC='gcc -m32'
sed -i -e 's/^LIBTOOL.*/LIBTOOL = libtool/' Makefile
make -j$(nproc)
make install-lib
ldconfig
これで、TeamViewerは起動した。が、マウスやキーボード入力を受け付けない。これも結構悩んだ。TeamViewerのログにライブラリが無いと出てたので、下記コマンドで入れた。他にも困ったことがあったら、ログを見てエラーを潰せば解決できそう。ちなみに、依存ライブラリ調査コマンドでは、これらは出てこない。
pacman -Sy lib32-libxdamage lib32-libxtst
今度こそ、TeamViewerを実行すれば正常に動作するはず。
恒例(?)の一行インストール。。。としたかったが、まだスクリプトを整理できていないので、正常実行できない。とりあえず、コマンド履歴としてだけ、置いておこう。