Linux版TeamViewerとTigerVNCの注意点 (CentOS6.3最小構成)

Linux版TeamViewer

とあるデータセンターに置いているCentOS6.3の最小構成のサーバーで、どうしてもX Windowをリモートで操作する必要が発生しました。そこで、まずLinux版teamViewerを入れてみました。

最初に、最小構成のCentOS6サーバーだったのでGNOMEデスクトップ環境を後からインストールしました。

CentOS6以降では、groupinstallでXを入れるには”Desktop”が必須になりました。”X Window System” “GNOME Desktop Environment”だけだと、FATAL: Module fbcon not found. というエラーになってXが起動しません。次に、Linux版TeamViewerをインストール。

/etc/inittabをid:5:initdefault:に変えてグラフィックモードでサーバーを再起動させます。それ以降は、データセンターに行ってサーバーにモニタを繋げて作業しましたw まずGnomeにログインし、メニューからTeamViewerを起動してパートナーIDとパスワードを取得できるので、それを使って顔部のクライアントのTeamViewerから接続できるようにしました。と、ここまでは順調で、リモートでX Window(Gnome)を開いて数週間運用していました。

Linux版teamViewerの問題点

数週間運用して、TeamViewerが2回落ちる機会がありました。1回目はデータセンターに行ってモニタをつなげて復旧させていたのですが、2回目の時は原因調査のためまずプロセスを見ました。

プロセスを見て初めて気づいたのですが、Linux版TeamViewerってwine(Windowsエミュレータ)で動いているんですね。WindowsのEXEファイルをただwine同梱で持ってきているだけ。けっこうひどいw

それはともかく、プロセスが残っているのに接続できないのが謎だったので、ログファイル(~.teamviewer/7/logfiles/TeamViewer7_Logfile.log)を見てみたのですが、以下のようなエラーが出力されていました。

エラー内容をググっても有用な情報がヒットしなかったので詳細は不明ですが、2:00ちょうどにメモリマッピングに関する何らかの干渉が発生してクラッシュしたようです。2:00というとCronでの集計処理時刻と重なるので、集計処理が動いた時にWindowsエミュレーション環境の確保していたメモリに干渉したのかもしれません。ちょっと不安定ですね。

データセンターに行ってモニタをつなげなくても、既存TeamViewerプロセスをいったんkillして、ログインユーザーでteamviewerコマンドをオプション無しで実行すれば、SSHのCUI接続からTeamViewerは再起動できるのですが、wineで動いていてクラッシュする詳細がわからないってけっこう不安材料だったので、Linux版TeamViewerでの運用は諦めて、VNCサーバーを構築することにしました。

TigerVNCの設定

CentOS標準のVNCサーバーとしては、TigerVNCがあります。まず、TigerVNCをインストールしました。

と、ここまでは順調だったのですが、VNCサーバーの起動で問題が発生しました。

フォント関係のワーニングとpixmanに関するエラーが出ているので、まずはpixmanを入れてみました。

しかし、またエラーが。

エラーが長くなりましたが、今回はフォント関係限定のようです。そこで、フォント関連のパッケージをインストールしました。

これでTigerVNCが起動するようになりました。VNCクライアントでリモートデスクトップできることも確認しました。

今回のエラー、ググっても日本語情報がほとんどなかったのですが、誰も問題が起きていなかったのでしょうか。CentOSサーバー最小構成からX WindowやTeamViewerやTigerVNCでリモート接続ってあんまり挑戦している方がいないのかもしれないですが、後学のために書き記しておきます。

2 件のコメント

  • CentOsを後からGUI化しましたが、似たような感じで見事にはまってました(汗 フォント無くて起動できないは・・・なかなか

  • 「inux版TeamViewerってwine(Windowsエミュレータ)で動いているんですね」なんだと…。こりゃあんまり期待しない方がいいのかな…。