2017年2月26日日曜日

我が家のubuntu。〜Gate One(備忘録 続編 画像ファイルの表示)〜

我が家のubuntu。〜Gate One(備忘録 続編)〜

で、gateone続編です。

 https://github.com/liftoff/GateOneのスクリーンショット

と、こう見えるじゃないですか。
この画像って何?
jpegとかが表示できるの?

っていうんで、試しました。
「jobs.jpg」なるjpeg画像を用意して。

jpeg画像のファイル

catすれば画像が表示されるようなので、早速、
    $ cat jobs.jpg
すると、

'cat jobs.jpg'を実行

あれ?
何もなし?  ふん?

何か足りない?
お友達(飲み仲間)がやってるgateoneで試すと、画像が表示される。(スクリーンショットは割愛します)

むむ?
`cat`は違わないでしょ?
gateoneの問題?
server.confにはそんな設定はないし。
ググっても出てこないというか、どう調べていいのかググり方がわからん。

Gate Oneはpythonで動いているようなので、ひょっとしてpython?
ということでpythonのラブラリの確認。
あたりを参照しつつ、 pythonを実行

    user@server:~$ python
    Python 2.7.12 (default, Nov 19 2016, 06:48:10)
    [GCC 5.4.0 20160609] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
pythonは動くますね。そりゃそうか。
で、イメージのインポートを試みる。
    >>> from PIL import Image
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: No module named PIL
    >>>
おっと、きました。PIL(Python Imaging Library)がないよって。
ちなみに、お友達(飲み仲間)のサーバーで試すとイメージ処理可能。
ふむふむ。そういうことかな?

ということで、 PIL(Python Imaging Library)のインストールに。
とりあえず、ググると、Pillowってのになってるらしく、pipでインストールせよ、とのことで以下通り実行すると。
    $ sudo pip install Pillow
    sudo: pip: コマンドが見つかりません

そもそも、「pip」なるコマンドはありませんと。
pipってのはpythonのパッケージ管理システムらしく、今の状態は、
    user@server:~$ python -m pip -V
    /usr/bin/python: No module named pip

ということで、pipは入ってません、ですって。
う〜ん。どんどん戻ってく。
pipってのを入れるか。以下を参照しながら
    $ sudo apt-get install python-pip python-dev build-essential
    $ sudo pip install --upgrade pip
    $ sudo pip install --upgrade virtualenv
ってことのようです。
まずは、python-pip、python-dev、build-essentialのインストール。
    user@server:~$ sudo apt-get install python-pip python-dev build-essential
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています               
    状態情報を読み取っています... 完了
    build-essential はすでに最新バージョン (12.1ubuntu2) です。

    (省略)

    364 kB を 22秒 で取得しました (16.3 kB/s)
    以前に未選択のパッケージ libpython-all-dev:amd64 を選択しています。
    (データベースを読み込んでいます ... 現在 255319 個のファイルとディレクトリがインストールされています。)
    .../python-all-dev_2.7.11-1_amd64.deb を展開する準備をしています ...
    python-all-dev (2.7.11-1) を展開しています...
    以前に未選択のパッケージ python-pip を選択しています。

    (省略)

    python-setuptools (20.7.0-1) を設定しています ...
    python-wheel (0.29.0-1) を設定しています ...
    user@server:~$
続いてpipを使って、pipをアップグレード。
    user@server:~$ sudo pip install --upgrade pip
    Collecting pip
      Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
        100% |████████████████████████████████| 1.3MB 105kB/s
    Installing collected packages: pip
      Found existing installation: pip 8.1.1
        Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
    Successfully installed pip-9.0.1
    user@server:~$
と、ま、Successfullyっていうだからいいんでしょ。
    user@server:~$ sudo pip install --upgrade virtualenv
    Collecting virtualenv
      Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB)
        100% |████████████████████████████████| 1.8MB 107kB/s
    Installing collected packages: virtualenv
      Found existing installation: virtualenv 15.0.1
        Uninstalling virtualenv-15.0.1:
          Successfully uninstalled virtualenv-15.0.1
    Successfully installed virtualenv-15.1.0
    user@server:~$
これもSuccessfullyってことでいいんでしょう。
さて。やっとこさPillowってのをインストール。
    user@server:~$ sudo pip install pillow
    Downloading Pillow-4.0.0-cp27-cp27mu-manylinux1_x86_64.whl (5.6MB)
    100% |████████████████████████████████| 5.6MB 33kB/s
    Collecting olefile (from pillow)
    Downloading olefile-0.44.zip (74kB)
    100% |████████████████████████████████| 81kB 1.4MB/s
    Installing collected packages: olefile, pillow
    Running setup.py install for olefile ... done
    Successfully installed olefile-0.44 pillow-4.0.0
    user@server:~$
やっと、行けたみたい?。
さてpythonで確認。
    user@server:~$ python
    Python 2.7.12 (default, Nov 19 2016, 06:48:10)
    [GCC 5.4.0 20160609] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from PIL import Image
    >>> img = Image.open("jobs.jpg")
    >>> img.info
    {'jfif': 257, 'jfif_unit': 0, 'progressive': 1, 'progression': 1, 'jfif_version': (1, 1), 'jfif_density': (72, 72)}
    >>>
うん?。いけたんじゃないっすか。
で、gateoneを再起動かな、とやっても起動しない!!!
なんだ!

    user@server:~$ sudo service gateone restart
    user@server:~$ ps auxww|grep gateone
    user@server:~$ user 8149 0.0 0.0 15256 976 pts/18 S+ 22:06 0:00 grep --color=auto gateone
ふん?
じゃ、直接gateone.pyでどうだ!
    user@server:~$ sudo /opt/gateone/gateone.py
    Traceback (most recent call last):
      File "/opt/gateone/gateone.py", line 3101, in <module>
        main()

    (省略)

      File "/usr/lib/python2.7/logging/__init__.py", line 943, in _open
        stream = open(self.baseFilename, self.mode)
    IOError: [Errno 2] No such file or directory: '/opt/gateone/logs/webserver.log'
    user@server:~$
なんじゃ?No such file or directory: '/opt/gateone/logs/webserver.log'ってか。
今までは何?
とりあえず、'/opt/gateone/logs/'を掘って、再度、直接起動。
    user@server:~$ sudo /opt/gateone/gateone.py
    [W 170305 14:58:56 gateone:2893] dtach command not found. dtach support has been disabled.
    (省略) [I 170305 14:59:55 gateone:1063] WebSocket opened (ANONYMOUS).
    [I 170305 14:59:56 web:1462] 200 GET /ssh/static/bookmarks/images/star.svg (127.0.0.1) 47.36ms
    [I 170305 15:00:31 termio:1491] Finalizing the log for pid 3084 (this can take some time).
うん?とりあえず動いた。
けれども、"dtach command not found. dtach support has been disabled."が気になる。
今度は"dtach"。なんだかよくわからんが、「screen のデタッチ機能をエミュレートするプログラム」だそうです。
ま、とりあえず
のサイトを参考に「sudo apt-get install dtach」でインストール。
で、そうこうしながら「sudo service gateone start」でやっと元通り。
    user@server:~$ sudo apt-get install dtach
    user@server:~$ sudo service gateone start
で、さてさて、画像はどうよ。ってんでgateoneにアクセスしてjpegをcat。

catでjpeg表示

OK!!
疲れた。



ほんと、徒然なるままに。今日も明日も。

0 件のコメント:

コメントを投稿