ubuntu16.10にvmware-viewerをインストール(完了)

前回の続きです。まだ頑張っています。

前回に引き続き、vmware-viewのインストールをします。
困っていたのはエラーメッセージでした。

~$ vmware-view
/usr/lib/vmware/view/bin/vmware-view: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

共有オブジェクトファイルがないというメッセージですが、たぶん何かのファイルがないのか関連付けが取れていないのか、ということは推測できますが、対応方法がわかりません。

こちらのサイトを参考にしてやってみました。
発声練習:動的ライブラリ・共有ライブラリへのリンクミスへの対応

調べてみると、lddというコマンドでライブラリのリンク状態がわかるとのことでした。
アプリケーションで必要としているライブラリはアプリケーションのフォルダにそのまま持っていくのではなく、リンクという形で使っているんですね。これも最新のものを使うという知恵でしょうか。

~$ ldd vmware-view
ldd: ./vmware-view: そのようなファイルやディレクトリはありません

(´・ω・`)

whichコマンドで探します。

~$ which vmware-view
/usr/bin/vmware-view

なるほど。パスが通っていませんでした。

~$ ldd /usr/bin/vmware-view
動的実行ファイルではありません

(´;ω;`)

~$ type /usr/bin/vmware-view
/usr/bin/vmware-view は /usr/bin/vmware-view です

(#^ω^)

~$ cat /usr/bin/vmware-view
#!/bin/bash
#
# Copyright 2017 VMware, Inc. All rights reserved.
#
# This script manages the VMware Horizon Client
#

libpath="/usr/lib/vmware"
binPath="/usr/lib/vmware/view"
(省略)

どうやら(私にほとんど知識のない)スクリプトファイルのようです。

このあとvmware-installerというスクリプトを見つけたので、

/usr/bin$ sudo vmware-installer

とやってみましたが、

Magic number of 0x6******* does not match

(*´Д`)

~$ sudo apt-get install libpng12
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
E: パッケージ libpng12 が見つかりません

もういちど原点回帰します。

~$ vmware-view
/usr/lib/vmware/view/bin/vmware-view: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

先ほどとファイルのパスが変わって深いところからメッセージが出ています。

~$ ldd /usr/lib/vmware/view/bin/vmware-view

とやってみたら、をを、リンクを示す結果が出てきたではありませんか。

(あまりにたくさんあるので、not foundだけひっぱりました)

libpng12.so.0 => not found
libudev.so.0 => not found
libssl.so.1.0.2 => not found
libcrypto.so.1.0.2 => not found

ないものはまずインストールしますがlocateで探してみます。

locate libpng

libpng16がありました。しかし12はありません。

RStudioのインストールに倣って、Debianのサイトから古いパッケージを落としてきます。
http://ftp.ca.debian.org/debian/pool/main/libp/libpng/
http://ftp.ca.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb

こうやって古いバージョンも丁寧に残されているので助かりますね。サポートの有無ではなく個人に対応できる環境を整備するということはとても大切です。

ダウロードしたら程なくUbuntu Softwareが起動してあっという間にインストール完了。便利だがセキュリティには注意せねば。

もう一度、vmwareの起動コマンドを叩きますと、今度は、libudevがないというメッセージ。
再度、Debianのサイトを探しますが、どうもlibudevはありません。Ubuntuのサイトも初めて探してみましたが、やはりないのです。万事休すか!

そこでリンクコマンドを思い出しました。この際、libudevを諦めて、libudev1を使うことにします。

~$ ln -sf libudev.so.0 /lib/x86_64-linux-gnu/libudev.so.1
ln: '/lib/x86_64-linux-gnu/libudev.so.1' を削除できません: 許可がありません

おっと。削除という危険な言葉が。しかしsudoを忘れて権限がなかったため救われました。

~$ ln -sf /lib/x86_64-linux-gnu/libudev.so.1 libudev.so.0

として、望みを託し

~$ vmware-view

でついにvmwareのクライアントが開きました。

※以下が残っていますが、特に困ったメッセージが出ないのでとりあえず放置。
libssl
libcrypto


ubuntu16.10にvmware-viewerをインストール(途上)

前回の続きです。

VMware-viewer
コレがないと、仕事ができません。
そのためにイチイチWindowsに戻って起動するのも芸がありませんので、Rと同様に必須の環境です。

こちらのサイトを参考にしました。
ubuntu forums:vmware-view on Ubuntu 16.14
https://ubuntuforums.org/showthread.php?t=2322324

なにやらいろいろと書いてあってのですが、よくわからなかったのシンボリックリンクという概念。
まあとりあえずインストールだけでもということで、チャレンジ。

$ sudo apt-get install [VMwareのファイル.bundle]
※予めダウンロードしたのは VMware-Horizon-Client-4.4.0-5167967.x64.bundle

ではこの形式はサポートされていませんというメッセージが。

次に解説にしたがって、gksudoというインストールコマンドを使ってみます。
これはインストールにおいてX端末では扱えないGUIが使われているときに用いるようです。使ってみると、確かにパスワードの入力はGUIでした。(この理解で正しいのかは自信なし)

$ gksudo [VMWareのファイル.bundle]
Extracting VMware Installer...done.

呆気無く終了。

コマンドを入力します。

$ vmware
vmware: コマンドが見つかりません

すみません。間違えました。

$ vmware-view

/usr/lib/vmware/view/bin/vmware-view: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

共有オブジェクトファイルが開けないというエラーが出ました。
これがリンクと関係あるのかないのかがよくわかりませんが、インストールはできたので続きは後日。

ここまで来てわかったことですが、Googleで検索するときには必ず「ubuntu16.10」という形でOSのバージョンを入れないと、違うバージョンで旨く行った事例がたくさん検索されて誤った結果を生むことがあるということです。言い換えれば、今生じている問題はいまのバージョンで生じていると考えれば、検索範囲を限定してやる必要があるということですね。


UbuntuにVMware Horizonを設定する(失敗)

VMwareといえばPCにバーチャル環境を設定することができる無償のソフトウェアが提供されています。
ネット検索をすると、VMware環境にUbuntuを載せたり、逆もあったりと、目的や用途によって人それぞれのつかいかたがあるようで、アプリケーションの選択もそれぞれあるのでよく理解できません。

自分の場合は、職場のVDI環境がVMwareで構築されているため、自宅PCからそこにアクセスするにはクライアント環境が必要です。
そこで、VMwareのサイトからClientとかViewという言葉が付いているところを見つけました。

How to get the Horizon (with View) Client for Linux
http://www.vmware.com/download/view-linux-howto.html

そこにはapt-getで入手できるようなことが書いてありますが、16.04LTSバージョンしか用意されていないため、16.10yakkety用のaptラインはありませんでした。

仕方なく、直接ファイルのダウンロードをしたところ、今度は.bundleという新しい拡張子のファイルが・・・(・。・;

ダウンロード VMware Horizon Client for 64-bit Linux

これも調べてみると、シェルスクリプトとバイナリとが一緒になってシェルを実行することでバイナリがインストールできるファイルであることが判明しました。

How to install .bundle packages in Ubuntu?

ファイルの中身を見るfileコマンドや、ファイルの権限を変えるchmodなど滅多に使わないコマンドがありますが、これも勉強のうちということで早速トライ。

なにやら怪しげなメッセージが・・・
依存ファイルが無いようですが、該当するものをインストールしても、既に最新がありますというメッセージが。
ここで挫折しています。